import { z } from 'zod';
import type { ToolExecutionObserver } from './observer.js';
export declare function createWriteWorkspaceFileTool(_observer?: ToolExecutionObserver): import("ai").Tool<z.ZodEffects<z.ZodObject<{
    path: z.ZodNullable<z.ZodString>;
    content: z.ZodNullable<z.ZodString>;
    mode: z.ZodDefault<z.ZodEnum<["create", "overwrite", "append"]>>;
}, "strip", z.ZodTypeAny, {
    mode: "overwrite" | "create" | "append";
    content: string | null;
    path: string | null;
}, {
    content: string | null;
    path: string | null;
    mode?: "overwrite" | "create" | "append" | undefined;
}>, {
    mode: "overwrite" | "create" | "append";
    content: string | null;
    path: string | null;
}, unknown>, {
    ok: boolean;
    error: string;
    path?: undefined;
    mode?: undefined;
    bytesWritten?: undefined;
} | {
    ok: boolean;
    path: string;
    error: string;
    mode?: undefined;
    bytesWritten?: undefined;
} | {
    ok: boolean;
    path: string;
    mode: "overwrite" | "create" | "append";
    bytesWritten: number;
    error?: undefined;
}> & {
    execute: (args: {
        mode: "overwrite" | "create" | "append";
        content: string | null;
        path: string | null;
    }, options: import("ai").ToolExecutionOptions) => PromiseLike<{
        ok: boolean;
        error: string;
        path?: undefined;
        mode?: undefined;
        bytesWritten?: undefined;
    } | {
        ok: boolean;
        path: string;
        error: string;
        mode?: undefined;
        bytesWritten?: undefined;
    } | {
        ok: boolean;
        path: string;
        mode: "overwrite" | "create" | "append";
        bytesWritten: number;
        error?: undefined;
    }>;
};
//# sourceMappingURL=write-workspace-file.d.ts.map