import { CrossOriginValue, IVideoOutput, PlayableMediaSource, PreloadType } from '../../types';
import { EngineState } from '../../../../constants';
import { IEventEmitter } from '../../../event-emitter/types';
import { IChromecastDebugInfo } from './types';
export default class ChromecastOutput implements IVideoOutput {
    type: string;
    private _playerController;
    private _player;
    private _stateEngine;
    private _eventEmitter;
    private _src;
    private _isAutoplay;
    constructor(eventEmitter: IEventEmitter);
    play(): Promise<void>;
    pause(): void;
    setMute(mute: boolean): void;
    setAutoplay(isAutoplay: boolean): void;
    setInline(): void;
    setCrossOrigin(): void;
    setCurrentTime(time: number): void;
    setVolume(volume: number): void;
    setLoop(): void;
    setPlaybackRate(): void;
    setPreload(): void;
    setSrc(source: PlayableMediaSource, callback?: Function): void;
    private _initRemote;
    getElement(): null;
    getDebugInfo(): IChromecastDebugInfo;
    get volume(): number;
    get currentTime(): number;
    get duration(): number;
    get autoplay(): boolean;
    get crossOrigin(): CrossOriginValue;
    get playbackRate(): number;
    get buffered(): {
        end: () => number;
        start: () => number;
        length: number;
    };
    get preload(): PreloadType;
    get isPaused(): boolean;
    get isMuted(): boolean;
    get isEnded(): boolean;
    get isInline(): boolean;
    get isAutoplay(): boolean;
    get isSeekAvailable(): boolean;
    get isLoop(): boolean;
    get isPreloadActive(): boolean;
    get videoHeight(): number;
    get videoWidth(): number;
    get src(): string;
    get currentState(): EngineState;
    get isAutoPlayActive(): boolean;
    get isDynamicContent(): boolean;
    get isDynamicContentEnded(): boolean;
    get isMetadataLoaded(): boolean;
    get isSyncWithLive(): boolean;
    syncWithLive(): void;
}
