import type { Page } from "playwright";
export interface BatchAction {
    /** Unique identifier for this action within the batch */
    id: string;
    /** Type of browser action to perform */
    type: "click" | "type" | "fill" | "press" | "scroll" | "evaluate" | "screenshot" | "wait";
    /** CSS selector target (not needed for scroll/evaluate/screenshot) */
    selector?: string;
    /** Text/value to type or fill */
    value?: string;
    /** Key to press (for type=press) */
    key?: string;
    /** Scroll amount in pixels (for type=scroll) */
    scrollAmount?: number;
    /** JS to evaluate (for type=evaluate) */
    script?: string;
    /** Timeout for this action in ms */
    timeout?: number;
}
export interface BatchActionResult {
    id: string;
    status: "passed" | "failed" | "timeout";
    durationMs: number;
    error?: string;
    value?: unknown;
    screenshotBuffer?: Buffer;
}
/**
 * Execute multiple browser actions in parallel on the same page.
 * This speeds up multi-step tests that have independent actions
 * (e.g., filling multiple form fields simultaneously).
 *
 * Returns results for all actions, including failures (does not throw).
 */
export declare function batchActions(page: Page, actions: BatchAction[]): Promise<BatchActionResult[]>;
/**
 * Check if any action in the batch failed.
 */
export declare function hasBatchFailures(results: BatchActionResult[]): boolean;
/**
 * Format batch results as a summary string.
 */
export declare function formatBatchResults(results: BatchActionResult[]): string;
//# sourceMappingURL=batch-actions.d.ts.map