import type { BrowserContext } from 'playwright'; export interface ApiEndpointObservationInput { method: string; urlPattern: string; statusCode?: number; requestKind?: string; responseShape?: unknown; durationMs?: number; errorBody?: string; } export declare function attachNetworkObserver(context: BrowserContext, sink: ApiEndpointObservationInput[], onPageUrlDiscovered?: (relPath: string) => void): void; export interface HarEntry { startedAt: string; method: string; url: string; status: number; statusText: string; requestHeaders: Record; responseHeaders: Record; contentType: string; bodySize: number; durationMs: number; timings: { send: number; wait: number; receive: number; }; } export interface HarLog { version: '1.2'; creator: { name: 'ZeTa-Crawler'; version: '1.0'; }; pages: Array<{ id: string; title: string; startedAt: string; }>; entries: HarEntry[]; } /** * Full HAR capture via CDP — intercepts ALL network traffic, not just API endpoints. * Returns a controller with getHar() and detach(). */ export declare function attachHarCapture(cdpSession: any, pageTitle?: string): { getHar(): HarLog; detach(): void; };