declare enum SessionState { NO_SESSION = "NO_SESSION", SESSION_STARTING = "SESSION_STARTING", SESSION_STARTED = "SESSION_STARTED", SESSION_START_FAILED = "SESSION_START_FAILED", SESSION_ENDING = "SESSION_ENDING", SESSION_ENDED = "SESSION_ENDED", SESSION_RESUMED = "SESSION_RESUMED" } declare enum eventType { CAST_STATE_CHANGED = "caststatechanged", SESSION_STATE_CHANGED = "sessionstatechanged" } declare enum RemotePlayerEventType { ANY_CHANGE = "anyChanged", IS_PAUSED_CHANGED = "isPausedChanged" } declare class Publisher { protected _listeners: { [key: string]: Function[]; }; addEventListener(type: eventType, func: Function): void; trigger(type: eventType, event: any): void; } declare class CastContext extends Publisher { _estimatedTime: number; get list(): { [key: string]: Function[]; }; getCurrentSession(): { getMediaSession: () => { getEstimatedTime: () => number; }; }; setOptions(): void; } declare class RemotePlayer { currentTime: number; } declare class RemotePlayerController extends Publisher { player: RemotePlayer; constructor(player: RemotePlayer); setVolumeLevel(): void; seek(): void; } declare class CastTestFramework { private _context; RemotePlayerController: typeof RemotePlayerController; RemotePlayer: typeof RemotePlayer; trigger(type: eventType, event: any): void; get CastContext(): { getInstance: () => CastContext; }; get CastContextEventType(): typeof eventType; get SessionState(): typeof SessionState; get RemotePlayerEventType(): typeof RemotePlayerEventType; get context(): CastContext; } declare class WindowCastAPIMock { framework: CastTestFramework; constructor(); static init(): void; static reset(): void; } declare class WindowChromeAPIMock { get cast(): { media: { DEFAULT_MEDIA_RECEIVER_APP_ID: string; }; AutoJoinPolicy: { ORIGIN_SCOPED: boolean; }; }; } export { CastTestFramework, WindowCastAPIMock, WindowChromeAPIMock, SessionState, eventType, };