import { SourceObject, PlayerAspectRatio, PlayerImplementation } from '../../interfaces';
import { PipPlugin, PipPluginUI } from './index';
import videojs from 'video.js';
export declare class PipComponentImpl implements PipPlugin {
    private player;
    private component;
    private enabled;
    private boundSeekbarEventsHandler;
    private boundPlayerEventsHandler;
    private boundPipPlayeEventsHandler;
    private pipWaitEventHandler;
    pipPlayer: PlayerImplementation;
    private pipPlayerEl;
    private currentSrc;
    private shouldEnable;
    private isReady;
    private readyPromise;
    private readyResolve;
    private playerEvents;
    private pipPlayerEvents;
    private waitingOnPip;
    private waitingOnPipPaused;
    private timeupdateHandler;
    private pipSoundActive;
    private disposed;
    constructor(player: PlayerImplementation, component: videojs.Component);
    private get options();
    private get progressControl();
    dispose(): void;
    disable(): void;
    enable(): void;
    ready(): Promise<PlayerImplementation>;
    loadSrc(src: SourceObject): void;
    updateUI(ui: PipPluginUI): void;
    setAspectRatio(ratio: PlayerAspectRatio): Promise<any>;
    takeOverSound(): void;
    restoreSound(): void;
    private updateStyle;
    private handleSeekbarEvent;
    private handlePlayerEvent;
    hadnleTimeUpdateEvent(): void;
    private handlePipPlayerEvent;
    private hadnlePipWatingEvent;
    private syncTime;
    private setupPlayer;
    private disposePlayer;
    private log;
    private debug;
}
