import { IMediaStatus } from "../cast"; import { BaseApp } from "./base"; export interface IPlaybackTrackerEvents { getCurrentMedia?: () => TMedia | undefined; setCurrentMedia?: (media: TMedia | undefined) => void; onPlayerPaused?: (currentTimeSeconds: number, media?: TMedia) => Promise; } /** * Utility for tracking playback events */ export declare class PlaybackTracker { private app; private events; private attachedMediaSessionId; private stopObserving; constructor(app: BaseApp, events: IPlaybackTrackerEvents); start(): Promise; stop(): void; protected handleClose(): Promise; protected handleMediaStatus(status: IMediaStatus): Promise; private onDeviceStatus; private onSessionMessage; /** * event helpers */ private getCurrentMedia; private onPlayerPaused; private getDevice; private joinOrRunNamespace; private observeMessages; }