/** * Progress Event Types for SmartBrowser.browse() * * Provides real-time progress updates during browse operations. * Useful for long-running operations like multi-page scraping, * skill execution, and tiered fetching. */ /** * Progress stages during a browse operation */ export type BrowseProgressStage = 'initializing' | 'skill_matching' | 'tiered_fetching' | 'page_loading' | 'waiting' | 'skill_executing' | 'content_extracting' | 'validating' | 'pagination' | 'complete'; /** * Progress event emitted during browse operations */ export interface BrowseProgressEvent { /** Current stage of the operation */ stage: BrowseProgressStage; /** Human-readable description of current activity */ message: string; /** Progress percentage (0-100) if determinable, undefined otherwise */ percent?: number; /** Current URL being processed */ url: string; /** Elapsed time in milliseconds since operation started */ elapsedMs: number; /** Optional additional details */ details?: { /** Which tier is being tried during tiered_fetching */ tier?: string; /** Number of tiers attempted */ tiersAttempted?: number; /** Which skill is being applied */ skillName?: string; /** Current page number during pagination */ currentPage?: number; /** Total pages to fetch (if known) */ totalPages?: number; /** Selector being waited for */ waitingFor?: string; /** Retry attempt number */ retryAttempt?: number; }; } /** * Callback function for receiving progress events */ export type OnProgressCallback = (event: BrowseProgressEvent) => void; /** * Helper to create progress events with consistent structure */ export declare function createProgressEvent(stage: BrowseProgressStage, message: string, url: string, startTime: number, details?: BrowseProgressEvent['details'], percent?: number): BrowseProgressEvent; /** * Estimate progress percentage based on stage * These are approximate values to give users a sense of progress */ export declare function estimateProgressPercent(stage: BrowseProgressStage): number; //# sourceMappingURL=progress.d.ts.map