import { ChromecastState } from '../../player/types';
import { IError, IValueSubject, ISubject } from '@vkontakte/videoplayer-shared';
import { IChromecastConnection } from '../ChromecastProvider/ChromecastInitializer/types';
import { ChromecastPresentationApiConnector } from './ChromecastPresentationApiConnector';
import { IChromecastPresentationApiInitializer } from './types';
import { IParams } from '../ChromecastProvider/ChromecastInitializer/types';
export declare class ChromecastPresentationApiInitializer implements IChromecastPresentationApiInitializer {
    private readonly subscription;
    private readonly log;
    contentId?: string | undefined;
    readonly connection$: IValueSubject<IChromecastConnection | undefined>;
    readonly castState$: IValueSubject<ChromecastState>;
    readonly errorEvent$: ISubject<IError>;
    readonly chromecastConnector: ChromecastPresentationApiConnector | undefined;
    static isSupported(): boolean;
    constructor(params: IParams);
    private subscribe;
    connect(): void;
    disconnect(): void;
    stopMedia(): Promise<void>;
    toggleConnection(): void;
    setVolume(_volume: number): void;
    setMuted(_muted: boolean): void;
    destroy(): void;
}
