import type { Page } from 'playwright-core';
type SnapshotResult = {
    /** The serialized HTML string (pruned, viewport-prioritized). */
    html: string;
    /** Number of elements that were omitted due to the character budget. */
    omittedCount: number;
};
/**
 * Capture a pruned DOM snapshot of the page (and its iframes) suitable for
 * sending to an LLM alongside a viewport screenshot.
 *
 * The snapshot preserves hierarchy and attributes useful for writing Playwright
 * locators (roles, labels, test IDs, text content) while stripping noise
 * (inline styles, scripts, SVGs, tracking attributes, etc.).
 *
 * Content within the viewport is always preserved. Off-screen content is
 * included in document order up to the character budget, then truncated.
 */
export declare function captureDomSnapshot(page: Page, maxChars?: number): Promise<SnapshotResult>;
export {};
//# sourceMappingURL=domSnapshot.d.ts.map