import type { BrowserAction, ActionResult } from '../types.js';
export interface ActionExecutorOptions {
    perActionTimeoutMs?: number;
}
interface PlaywrightPage {
    click(selector: string, options?: {
        timeout?: number;
    }): Promise<void>;
    fill(selector: string, value: string, options?: {
        timeout?: number;
    }): Promise<void>;
    waitForTimeout(timeout: number): Promise<void>;
    waitForSelector(selector: string, options?: {
        timeout?: number;
        state?: string;
    }): Promise<unknown>;
    evaluate(fn: (...args: unknown[]) => unknown, ...args: unknown[]): Promise<unknown>;
    screenshot(options?: {
        fullPage?: boolean;
    }): Promise<Buffer>;
    viewportSize(): {
        width: number;
        height: number;
    } | null;
}
export declare function executeActions(page: PlaywrightPage, actions: BrowserAction[] | undefined | null, opts?: ActionExecutorOptions): Promise<ActionResult[]>;
export {};
//# sourceMappingURL=action-executor.d.ts.map