import type { Clark, ClarkStateHandlerParams } from "../../state-machine/clark-fsm.js";
export interface ScreenshotToolOutput {
    dataUrl?: string;
    shortLivedUrl?: string;
    fileName?: string;
    mimeType?: string;
    expirationAt?: number;
    message?: string;
}
export declare const buildCaptureScreenshotToolFactory: import("../tools2/types.js").ToolFactory<{
    clark: Clark;
    services: ClarkStateHandlerParams;
}, import("../tools2/types.js").Tool<{
    selector?: string | undefined;
}, ScreenshotToolOutput>>;
/**
 * Validates a screenshot capture response and throws if invalid.
 * @param response The response from the screenshot RPC call
 * @param toolName Tool name prefix for logging (e.g., "build_captureScreenshot")
 * @returns The validated response with dataUrl
 * @throws Error if response is invalid
 */
export declare function validateScreenshotResponse(response: {
    dataUrl?: string;
    error?: string;
} | null | undefined, toolName: string): {
    dataUrl: string;
};
/**
 * Converts screenshot tool output to model output format.
 * Extracts base64 data from data URL and formats as content type with media.
 * Idempotent: already-transformed outputs pass through unchanged.
 */
type ScreenshotModelOutput = {
    type: "content";
    value: Array<{
        type: "image-data";
        data: string;
        mediaType: string;
    }>;
} | {
    type: "text";
    value: string;
} | {
    type: "error-text";
    value: string;
};
export declare function screenshotToModelOutput(output: ScreenshotToolOutput | ScreenshotModelOutput, toolName: string): ScreenshotModelOutput;
export {};
//# sourceMappingURL=build-capture-screenshot.d.ts.map