/** * Spotify Data Extractor * * Orchestrates the Spotify data export flow: * 1. Receives extracted listening data from WebView * 2. Validates and formats data * 3. Sends to backend via spotifyDataService * * This acts as the bridge between OAuthWebView and the backend API. * * @reference Sephora implementation: src/services/sephoraDataExtractor.ts */ import { SpotifyRecentlyPlayedData, SpotifyTopItemsData, SpotifyPlaylistData, SpotifyTrackData, SpotifySavedAlbumData, SpotifyProfileData, SpotifyTokenExpiry } from './spotifyDataService'; /** * Combined Spotify export data from WebView - matches spotify.ts script output */ export interface SpotifyExportData { recentlyPlayed: SpotifyRecentlyPlayedData; topItems: SpotifyTopItemsData; playlists: SpotifyPlaylistData[]; savedTracks: SpotifyTrackData[]; savedAlbums: SpotifySavedAlbumData[]; profile?: SpotifyProfileData | null; summary: { totalRecentlyPlayed: number; totalTopTracks: number; totalTopArtists: number; totalPlaylists: number; totalSavedTracks: number; totalSavedAlbums: number; subscription?: string; displayName?: string; }; tokenExpiry?: SpotifyTokenExpiry; userId?: string; } /** * Hook for Spotify data extraction operations */ export declare const useSpotifyDataExtractor: () => { initiateDataExport: (username: string | undefined, data: SpotifyExportData) => Promise; }; //# sourceMappingURL=spotifyDataExtractor.d.ts.map