import { AbstractPlayer } from "./AbstractPlayer";
import { IPlayer } from "./IPlayer";
import { StormLibrary } from "../StormLibrary";
import { VideoContainer } from "./VideoContainer";
import { ProtocolType } from "../config/enum/ProtocolType";
import { ISourceItem } from "../model/ISourceItem";
import { StormSourceItem } from "../model/StormSourceItem";
import { RTMPSourceItem } from "../model/RTMPSourceItem";
export declare class HLSPlayer extends AbstractPlayer implements IPlayer {
    private readonly LOG_ACTIVITY;
    private connection;
    private dummyRestart;
    private metaData;
    private restartOnResume;
    private m3u8URL;
    private playbackController;
    constructor(main: StormLibrary, video: VideoContainer);
    start(): void;
    onConnectionClose(shouldReconnect: boolean, reconnectTime: number): void;
    onConnectionError(shouldReconnect: boolean, reconnectTime: number): void;
    play(force?: boolean): void;
    pause(): void;
    onVideoMetadata(event: any): void;
    onTimeUpdate(event: any): void;
    onConnectionStart(): void;
    stop(): void;
    onVideoPlay(): void;
    onVideoPause(): void;
    onSocketMessage(event: any): void;
    private processEvent;
    onAllServersFailed(): void;
    pickBestSource(sourceList: Array<ISourceItem>, protocolTypes: Array<ProtocolType>): StormSourceItem | RTMPSourceItem;
    setQuality(sourceName: string): boolean;
    seek(time: number): boolean;
    addStreamSource(sourceItem: any, addAndPlay: boolean): boolean;
    restart(): void;
    destroy(force?: boolean): void;
}
