import { IProvider, IProviderParams } from '../../providers/types';
import { URLSource } from '../../player/types';
/**
 * @class WebRTCLiveProvider
 *
 * Provides implementation of WEBRTC live streaming support
 */
export default class WebRTCLiveProvider implements IProvider {
    private readonly subscription;
    private readonly params;
    private log;
    private video;
    private videoState;
    private liveStreamClient;
    private maxSeekBackTime$;
    /**
     * @param params
     */
    constructor(params: IProviderParams<URLSource>);
    /**
     * Destroys the provider
     */
    destroy(): void;
    /**
     * Creates all needed provider subscriptions
     * @private
     */
    private subscribe;
    /**
     * Live stream start handler
     * @private
     */
    private onLiveStreamStart;
    /**
     * Live stream stop handler
     * @private
     */
    private onLiveStreamStop;
    /**
     * Live stream error handler
     * @private
     */
    private onLiveStreamError;
    /**
     * Tries to start playing
     * @private
     */
    private playIfAllowed;
    /**
     * Runs preparation phase
     * Starts live client connection
     * @private
     */
    private prepare;
    /**
     * Performs synchronization between desired state and video state
     * @private
     */
    private syncPlayback;
}
