export interface YTPlayerInstance { playVideo(): void; pauseVideo(): void; seekTo(seconds: number, allowSeekAhead: boolean): void; mute(): void; unMute(): void; destroy(): void; getIframe(): HTMLIFrameElement; getPlayerState(): number; } export interface YTPlayerOptions { width?: string | number; height?: string | number; videoId?: string; playerVars?: Record; events?: { onReady?: (event: { target: YTPlayerInstance; }) => void; onStateChange?: (event: { target: YTPlayerInstance; data: number; }) => void; onError?: (event: { target: YTPlayerInstance; data: number; }) => void; }; } export interface YTNamespace { Player: new (host: HTMLElement | string, opts: YTPlayerOptions) => YTPlayerInstance; PlayerState: { ENDED: number; PLAYING: number; PAUSED: number; BUFFERING: number; CUED: number; UNSTARTED: number; }; } declare global { interface Window { YT?: YTNamespace; onYouTubeIframeAPIReady?: () => void; } } export declare function whenYTReady(): Promise; //# sourceMappingURL=youtube-api-loader.d.ts.map