import { IObservable, IValueObservable, IError } from '@vkontakte/videoplayer-shared';
import { ChromecastState } from '../../../player/types';
export interface IChromecastInitializer {
    connect(): void;
    disconnect(): void;
    stopMedia(): Promise<void>;
    toggleConnection(): void;
    setVolume(volume: number): void;
    setMuted(muted: boolean): void;
    destroy(): void;
    contentId?: string;
    connection$: IValueObservable<IChromecastConnection | undefined>;
    castState$: IValueObservable<ChromecastState>;
    errorEvent$: IObservable<IError>;
}
export interface IChromecastConnection {
    remotePlayer: cast.framework.RemotePlayer;
    remotePlayerController: cast.framework.RemotePlayerController;
    session: cast.framework.CastSession;
    castDevice: chrome.cast.Receiver;
}
