import { ISubject, IValueSubject, ILogger, IError } from '@vkontakte/videoplayer-shared';
import { ChromecastState } from '../../../player/types';
import { IChromecastConnection, IChromecastInitializer } from './types';
interface IParams {
    receiverApplicationId?: string;
    isDisabled?: boolean;
    dependencies: {
        logger: ILogger;
    };
}
export declare class ChromecastInitializer implements IChromecastInitializer {
    readonly connection$: IValueSubject<IChromecastConnection | undefined>;
    readonly castState$: IValueSubject<ChromecastState>;
    readonly errorEvent$: ISubject<IError>;
    contentId?: string;
    private readonly realCastState$;
    private readonly subscription;
    private readonly log;
    private readonly params;
    private isDestroyed;
    constructor(params: IParams);
    connect(): void;
    disconnect(): void;
    stopMedia(): Promise<void>;
    toggleConnection(): void;
    setVolume(volume: number): void;
    setMuted(muted: boolean): void;
    destroy(): void;
    private initListeners;
    private initializeCastApi;
}
export {};
