declare global { interface SpotifyPlayer { connect(): Promise disconnect(): void addListener(event: string, callback: (data: unknown) => void): void removeListener(event: string, callback?: (data: unknown) => void): void getCurrentState(): Promise resume(): Promise pause(): Promise togglePlay(): Promise seek(position_ms: number): Promise previousTrack(): Promise nextTrack(): Promise } interface SpotifyPlayerState { paused: boolean track_window?: { current_track?: { name: string } } } interface SpotifyPlayerConstructorOptions { name: string getOAuthToken: (callback: (token: string) => void) => void } interface SpotifyNamespace { Player: new (options: SpotifyPlayerConstructorOptions) => SpotifyPlayer } interface Window { onSpotifyWebPlaybackSDKReady?: () => void Spotify: SpotifyNamespace } const Spotify: SpotifyNamespace } export {}