import { EventHandler, PeerTubeResolution, PeerTubeTextTrack, PlayerEventType } from './definitions';
export declare class PeerTubePlayer {
    private readonly embedElement;
    private readonly scope?;
    private readonly eventRegistrar;
    private channel;
    private readyPromise;
    constructor(embedElement: HTMLIFrameElement, scope?: string);
    destroy(): void;
    addEventListener(event: PlayerEventType, handler: EventHandler<any>): boolean;
    removeEventListener(event: PlayerEventType, handler: EventHandler<any>): boolean;
    get ready(): Promise<void>;
    isPlaying(): Promise<boolean>;
    play(): Promise<void>;
    pause(): Promise<void>;
    setVolume(value: number): Promise<void>;
    getVolume(): Promise<number>;
    setCaption(value: string): Promise<void>;
    getCaptions(): Promise<PeerTubeTextTrack[]>;
    getCurrentTime(): Promise<number>;
    seek(seconds: number): Promise<void>;
    setResolution(resolutionId: any): Promise<void>;
    getResolutions(): Promise<PeerTubeResolution[]>;
    getPlaybackRates(): Promise<number[]>;
    getPlaybackRate(): Promise<number>;
    setPlaybackRate(rate: number): Promise<void>;
    playNextVideo(): Promise<void>;
    playPreviousVideo(): Promise<void>;
    getCurrentPosition(): Promise<number>;
    setVideoPassword(password: string): Promise<void>;
    getImageDataUrl(): Promise<string>;
    private constructChannel;
    private prepareToBeReady;
    private sendMessage;
}
