import type { Page } from 'playwright-core';
import { GptClient } from '../../clients/GptClient';
import type { DonobuStack } from '../../managers/DonobuStack';
import type { ControlPanelFactory } from '../../models/ControlPanel';
import type { DonobuExtendedPage } from './DonobuExtendedPage';
/**
 * Decorate a Playwright page with Donobu capabilities.
 * - If the browser context already has an extended page, reuse its shared state (flowId,
 *   persistence, GPT client, cache settings); passing a different flowId will throw.
 * - Otherwise, initialize a fresh flow and register it for future tabs in this context.
 */
export declare function extendPage(page: Page, options?: {
    /**
     * Optional externally supplied flow ID. When provided (the Playwright
     * fixture does this), every log (both in user code and in the autonomous
     * Donobu flow) shares the same identifier. If omitted we generate a UUID so
     * standalone usages still function, but Playwright scenarios should always
     * pass one to ensure log consistency.
     */
    flowId?: string;
    visualCueDurationMs?: number;
    cacheFilepath?: string;
    envVars?: string[];
    gptClient?: GptClient;
    headless?: boolean;
    donobuStack?: DonobuStack;
    controlPanelFactory?: ControlPanelFactory;
}): Promise<DonobuExtendedPage>;
//# sourceMappingURL=extendPage.d.ts.map