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, };
