/**
 * Opt-in browser recording tools.
 *
 * Wraps the existing browser screencast infrastructure to capture frames, lets
 * the agent drop short captions at specific moments, and encodes the result as
 * a Motion-JPEG AVI video written to disk. The AVI format is used because it
 * can be muxed in pure JavaScript (no ffmpeg) and plays natively in QuickTime /
 * Preview / VLC / browsers.
 */
import type { MastraBrowser } from '../browser.js';
export interface BrowserRecordingOptions {
    /** Directory where browser recordings are written. */
    outputDir: string;
    /** Default maximum recording duration in ms (default 30 000, hard cap 120 000). */
    maxDurationMs?: number;
    /** Default max frame width in pixels (default 1024). */
    maxWidth?: number;
    /** Default max frame height in pixels (default 720). */
    maxHeight?: number;
}
/** @internal Exposed for tests so they can reset state between cases. */
export declare function __resetRecordingStateForTests(): void;
/** @internal Exposed for tests. */
export declare function __isRecordingActive(): boolean;
/**
 * Create opt-in browser recording tools bound to a browser.
 *
 * These tools are alpha and are only exposed when a browser provider or caller
 * explicitly enables recording and provides a safe output directory.
 */
export declare function createBrowserRecordingTools(browser: MastraBrowser, options: BrowserRecordingOptions): {
    browser_record: import("../../tools").Tool<{
        action: "status" | "start" | "stop";
        maxDurationMs?: number | undefined;
        everyNthFrame?: number | undefined;
        maxWidth?: number | undefined;
        maxHeight?: number | undefined;
        outputPath?: string | undefined;
    }, unknown, unknown, unknown, import("../../tools").ToolExecutionContext<unknown, unknown, unknown>, "browser_record", unknown>;
    browser_record_caption: import("../../tools").Tool<{
        text: string;
        durationMs?: number | undefined;
    }, unknown, unknown, unknown, import("../../tools").ToolExecutionContext<unknown, unknown, unknown>, "browser_record_caption", unknown>;
};
//# sourceMappingURL=tools.d.ts.map