/** * apply/index.ts — ATS Platform Detector * * Given a job URL, figures out which ATS platform it belongs to and returns * the right adapter to fill the application form. */ export type ATSPlatform = "greenhouse" | "lever" | "ashby" | "linkedin" | "workday" | "icims" | "generic"; export interface ATSAdapter { platform: ATSPlatform; /** Navigate to the application page (may click "Apply" button) */ navigateToForm: (page: import("playwright-core").Page, jobUrl: string) => Promise; /** Extract form fields from the current page */ extractFields: (page: import("playwright-core").Page) => Promise; /** Fill a single field given selector + answer */ fillField: (page: import("playwright-core").Page, field: FormField, answer: string) => Promise; /** Click the final submit button */ submit: (page: import("playwright-core").Page) => Promise; /** Optional: fill standard fields directly from saved user profile (no AI needed) */ fillFromProfile?: (page: import("playwright-core").Page, profile: import("./gemini-agent.js").ApplyProfile) => Promise<{ filled: string[]; skipped: string[]; }>; } export interface FormField { id: string; label: string; type: "text" | "textarea" | "select" | "checkbox" | "radio" | "file" | "unknown"; selector: string; required: boolean; options?: string[]; placeholder?: string; } export declare function detectPlatform(url: string): ATSPlatform; export declare function getAdapter(platform: ATSPlatform): Promise; //# sourceMappingURL=index.d.ts.map