export type DesktopJsonValue = string | number | boolean | null | DesktopJsonValue[] | { [key: string]: DesktopJsonValue; }; export type DesktopJsonObject = { [key: string]: DesktopJsonValue; }; export interface DesktopToolExecutionContext { readonly toolCallId?: string; } export interface ACodeBuiltInToolLike { readonly kind: "builtin"; readonly toolName: string; readonly exposedName: string; readonly description: string; readonly inputSchema: DesktopJsonObject; readonly category?: string; execute(args: DesktopJsonObject, context?: DesktopToolExecutionContext): Promise; } export type DesktopToolForwarder = (name: string, args: Record) => Promise; export interface CreateBuiltInDesktopToolsOptions { tools: Array<{ name: string; description?: string; inputSchema: Record; }>; forwarder: DesktopToolForwarder; screenshotDir?: string; } export declare function createBuiltInDesktopTools(options: CreateBuiltInDesktopToolsOptions): ACodeBuiltInToolLike[]; export declare function injectRememberedOrigin(args: DesktopJsonObject): DesktopJsonObject; export declare function rememberScreenshotOrigin(toolName: string, args: DesktopJsonObject, result: string): void; export declare function clearScreenshotOrigins(): void; export declare function injectScreenshotPath(toolName: string, args: DesktopJsonObject, screenshotDir: string): Promise; export declare function pruneOldScreenshots(dir: string, options?: { now?: number; force?: boolean; }): Promise; export declare function nextScreenshotFilePath(screenshotDir: string): string;