import type PlayerEngine from './player-engine';
import MediaInfo from '../core/media-info';
declare class PlayerEngineDedicatedThread implements PlayerEngine {
    private readonly TAG;
    private _emitter;
    private _media_data_source;
    private _config;
    private _media_element?;
    private _worker;
    private _worker_destroying;
    private _seeking_handler?;
    private _loading_controller?;
    private _startup_stall_jumper?;
    private _live_latency_chaser?;
    private _live_latency_synchronizer?;
    private _pending_seek_time?;
    private _media_info?;
    private _statistics_info?;
    private e?;
    static isSupported(): boolean;
    constructor(mediaDataSource: any, config: any);
    destroy(): void;
    on(event: string, listener: (...args: any[]) => void): void;
    off(event: string, listener: (...args: any[]) => void): void;
    attachMediaElement(mediaElement: HTMLMediaElement): void;
    detachMediaElement(): void;
    load(): void;
    unload(): void;
    play(): Promise<void>;
    pause(): void;
    seek(seconds: number): void;
    get mediaInfo(): MediaInfo;
    get statisticsInfo(): any;
    _onLoggingConfigChanged(config: any): void;
    private _onMSEUpdateEnd;
    private _onMSEBufferFull;
    private _onMediaLoadedMetadata;
    private _onRequestDirectSeek;
    private _onRequiredUnbufferedSeek;
    private _onRequestPauseTransmuxer;
    private _onRequestResumeTransmuxer;
    private _onMediaTimeUpdate;
    private _onMediaReadyStateChange;
    private _onWorkerMessage;
    private _fillStatisticsInfo;
}
export default PlayerEngineDedicatedThread;
