import { IChromecastInitializer } from '../ChromecastProvider/ChromecastInitializer/types';
import type { IParams as IParamsChromecastProvider } from '../ChromecastProvider/types';
import { ChromecastPresentationApiConnector } from './ChromecastPresentationApiConnector';
export declare enum ProviderState {
    STOPPED = "stopped",
    READY = "ready",
    PLAYING = "playing",
    PAUSED = "paused"
}
export declare enum PlayerState {
    IDLE = "IDLE",
    PLAYING = "PLAYING",
    PAUSED = "PAUSED",
    BUFFERING = "BUFFERING"
}
export interface IChromecastPresentationApiInitializer extends IChromecastInitializer {
    chromecastConnector?: ChromecastPresentationApiConnector;
}
export interface IParams extends Omit<IParamsChromecastProvider, 'connection'> {
    chromecastConnector: ChromecastPresentationApiConnector;
}
/**
 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.DefaultActionPolicy
 */
export declare enum DefaultActionPolicy {
    CREATE_SESSION = "create_session",
    CAST_THIS_TAB = "cast_this_tab"
}
/**
 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast#.AutoJoinPolicy
 */
export declare enum AutoJoinPolicy {
    CUSTOM_CONTROLLER_SCOPED = "custom_controller_scoped",
    TAB_AND_ORIGIN_SCOPED = "tab_and_origin_scoped",
    ORIGIN_SCOPED = "origin_scoped",
    PAGE_SCOPED = "page_scoped"
}
/**
 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media#.IdleReason
 */
export declare enum IdleReason {
    CANCELLED = "CANCELLED",
    INTERRUPTED = "INTERRUPTED",
    FINISHED = "FINISHED",
    ERROR = "ERROR"
}
export declare enum BroadcastChannelEventName {
    Connection = "connection"
}
