/** * LinkedIn DOM Extractor Service * Handles profile URL extraction from WebView and orchestrates backend scraping * Works with existing linkedinScrapingService for backend integration */ import { type LinkedInProfileData } from './linkedinScrapingService'; export interface LinkedInExtractionResult { success: boolean; profileUrl?: string; error?: string; message?: string; } export interface LinkedInScrapingOptions { userId: string; profileUrl: string; onProgress?: (message: string) => void; onSuccess?: (data?: LinkedInProfileData) => void; onError?: (error: string) => void; } export interface ScrapingStatus { inProgress: boolean; completed: boolean; error?: string; profileData?: LinkedInProfileData; } /** * Parse WebView message from profile extraction script * Handles JSON parsing and validation */ export declare const parseExtractionMessage: (data: string) => LinkedInExtractionResult; /** * Initiate profile scraping using extracted URL * Reuses existing scrapeLinkedInProfile from linkedinScrapingService */ export declare const initiateProfileScraping: (options: LinkedInScrapingOptions) => Promise; /** * Check scraping status for a user (optional - for future use) * This can be used to poll backend for scraping completion */ export declare const checkScrapingStatus: (userId: string) => Promise; /** * Validate extracted LinkedIn URL * Additional validation layer before sending to backend */ export declare const validateExtractedUrl: (url: string) => { valid: boolean; error?: string; }; /** * Complete LinkedIn extraction and scraping flow * High-level function that handles the entire process */ export declare const completeLinkedInExtraction: (webViewMessage: string, userId: string, callbacks: { onProgress?: (message: string) => void; onSuccess?: (data?: LinkedInProfileData) => void; onError?: (error: string) => void; }) => Promise; //# sourceMappingURL=linkedinDOMExtractor.d.ts.map