/** * Weavetab — sensors/guard.ts * guardedAction pipeline: element readiness, DOM stability wait, and navigation await. * Weavetab by fy2ne */ import CDP from "chrome-remote-interface"; export interface PollOptions { timeout: number; interval: number; } export declare function pollUntil(predicate: () => Promise, opts: PollOptions): Promise; export declare function waitForDOMStable(session: CDP.Client, quietPeriod?: number, // Reduced from 100ms timeout?: number, // Reduced from 1500ms fast?: boolean): Promise; export declare function guardedAction(session: CDP.Client, backendNodeId: number, action: () => Promise, label?: string, postActionPipeline?: () => Promise, fast?: boolean): Promise; export interface PageWeight { level: "light" | "medium" | "heavy"; elementCount: number; imageCount: number; scriptCount: number; iframeCount: number; suggestedTimeout: number; } export declare function detectPageWeight(session: CDP.Client): Promise; export declare function awaitNavigation(session: CDP.Client, timeout?: number): Promise;