/** * LinkedIn Profile Scraping Service * Handles profile scraping after OAuth connection using Apify */ export interface LinkedInExperience { title: string; company: string; duration: string; description: string; location?: string; startDate?: string; endDate?: string; } export interface LinkedInEducation { school: string; degree: string; fieldOfStudy: string; years: string; startDate?: string; endDate?: string; } export interface LinkedInProfileData { fullName: string; headline: string; location: string; about: string; profileUrl: string; firstName?: string; lastName?: string; profilePicture?: string; backgroundImage?: string; experience: LinkedInExperience[]; education: LinkedInEducation[]; skills: string[]; languages?: string[]; certifications?: Array<{ name: string; authority: string; date: string; }>; connections?: number; followers?: number; scrapedAt: string; } export interface ScrapeResult { success: boolean; data?: LinkedInProfileData; error?: string; message?: string; } /** * Scrape LinkedIn profile after OAuth connection * @param userId - User ID (username or email) - will be overridden by JWT userId if available * @param profileUrl - LinkedIn profile URL (e.g., https://linkedin.com/in/username) */ export declare const scrapeLinkedInProfile: (userId: string, profileUrl: string) => Promise; /** * Extract LinkedIn username from profile URL * @param url - LinkedIn profile URL * @returns username or null if invalid */ export declare const extractLinkedInUsername: (url: string) => string | null; /** * Validate LinkedIn profile URL * @param url - URL to validate * @returns true if valid LinkedIn profile URL */ export declare const isValidLinkedInUrl: (url: string) => boolean; /** * Format LinkedIn URL (ensure proper format) * @param url - URL or username * @returns properly formatted LinkedIn URL */ export declare const formatLinkedInUrl: (url: string) => string; /** * Check if profile scraping is available for a user * @param userId - User ID */ export declare const canScrapeProfile: (userId: string) => Promise; /** * Get LinkedIn connection status for a user * @param userId - User ID */ export declare const getLinkedInConnectionStatus: (userId: string) => Promise<{ connected: boolean; profileUrl?: string; scrapedAt?: string; profileData?: Partial; }>; //# sourceMappingURL=linkedinScrapingService.d.ts.map