/// <reference types="node" />
export default MSEPlayer;
declare class MSEPlayer {
    constructor(mediaDataSource: any, config: any);
    TAG: string;
    _type: string;
    _wasmPlayer: WasmPlayer;
    _emitter: EventEmitter;
    _config: {
        enableWorker: boolean;
        enableStashBuffer: boolean;
        stashInitialSize: any;
        isLive: boolean;
        liveBufferLatencyChasing: boolean;
        liveBufferLatencyMaxLatency: number;
        liveBufferLatencyMinRemain: number;
        lazyLoad: boolean;
        lazyLoadMaxDuration: number;
        lazyLoadRecoverDuration: number;
        deferLoadAfterSourceOpen: boolean;
        autoCleanupMaxBackwardDuration: number;
        autoCleanupMinBackwardDuration: number;
        statisticsInfoReportInterval: number;
        fixAudioTimestampGap: boolean;
        accurateSeek: boolean;
        seekType: string;
        seekParamStart: string;
        seekParamEnd: string;
        rangeLoadZeroStart: boolean;
        customSeekHandler: any;
        reuseRedirectedURL: boolean;
        headers: any;
        customLoader: any;
        useOuterLoader: boolean;
    };
    e: {
        onvLoadedMetadata: any;
        onvSeeking: any;
        onvCanPlay: any;
        onvStalled: any;
        onvProgress: any;
    };
    _now: any;
    _pendingSeekTime: any;
    _requestSetTime: boolean;
    _seekpointRecord: {
        seekPoint: any;
        recordTime: any;
    };
    _progressChecker: number;
    _mediaDataSource: any;
    _mediaElement: any;
    _canvasElement: any;
    _msectl: MSEController;
    _transmuxer: Transmuxer;
    _mseSourceOpened: boolean;
    _hasPendingLoad: boolean;
    _receivedCanPlay: boolean;
    _mediaInfo: any;
    _statisticsInfo: any;
    _networkDead: boolean;
    _alwaysSeekKeyframe: boolean;
    _isWasmPaused: boolean;
    destroy(): void;
    on(event: any, listener: any): void;
    off(event: any, listener: any): void;
    attachMediaElement(mediaElement: any, canvasElement: any): void;
    detachMediaElement(): void;
    load(): void;
    unload(): void;
    play(): any;
    pause(): void;
    inputData(chunk: any): any;
    _receivedLength: number;
    get type(): string;
    get buffered(): any;
    get duration(): any;
    set volume(value: any);
    get volume(): any;
    set muted(muted: any);
    get muted(): any;
    set currentTime(seconds: any);
    get currentTime(): any;
    get mediaInfo(): any;
    get statisticsInfo(): any;
    get isNetworkDead(): boolean;
    _fillStatisticsInfo(statInfo: any): any;
    _onmseUpdateEnd(): void;
    _onmseBufferFull(): void;
    _onmseSourceEnded(): void;
    _onmseSourceClose(): void;
    _suspendTransmuxer(): void;
    _checkProgressAndResume(): void;
    _isTimepointBuffered(seconds: any): boolean;
    _internalSeek(seconds: any): void;
    _beginOriginSeek(seconds: any): void;
    _originSeekSuccess(seconds: any): void;
    _checkAndApplyUnbufferedSeekpoint(): void;
    _checkAndResumeStuckPlayback(stalled: any): void;
    _onvLoadedMetadata(e: any): void;
    _onvSeeking(e: any): void;
    _onvCanPlay(e: any, t: any): void;
    _onvStalled(e: any): void;
    _onvProgress(e: any): void;
    _createWasmPlayer(codecId: any, duration: any): void;
    _wpOnError(e: any, t: any): void;
    _wpOnFirstCanplay(e: any, t: any): void;
}
import { Player as WasmPlayer } from './wasm_player.js';
import EventEmitter from 'events';
import MSEController from '../core/mse-controller.js';
import Transmuxer from '../core/transmuxer.js';
