import { z } from 'zod';
import type { ToolExecutionObserver } from './observer.js';
export declare function createReplaceInWorkspaceFileTool(_observer?: ToolExecutionObserver): import("ai").Tool<z.ZodObject<{
    path: z.ZodString;
    oldText: z.ZodString;
    newText: z.ZodString;
    replaceAll: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    replaceAll: boolean;
    path: string;
    oldText: string;
    newText: string;
}, {
    path: string;
    oldText: string;
    newText: string;
    replaceAll?: boolean | undefined;
}>, {
    ok: boolean;
    path: string;
    error: string;
    occurrences?: undefined;
    replaced?: undefined;
} | {
    ok: boolean;
    path: string;
    error: string;
    occurrences: number;
    replaced?: undefined;
} | {
    ok: boolean;
    path: string;
    occurrences: number;
    replaced: number;
    error?: undefined;
}> & {
    execute: (args: {
        replaceAll: boolean;
        path: string;
        oldText: string;
        newText: string;
    }, options: import("ai").ToolExecutionOptions) => PromiseLike<{
        ok: boolean;
        path: string;
        error: string;
        occurrences?: undefined;
        replaced?: undefined;
    } | {
        ok: boolean;
        path: string;
        error: string;
        occurrences: number;
        replaced?: undefined;
    } | {
        ok: boolean;
        path: string;
        occurrences: number;
        replaced: number;
        error?: undefined;
    }>;
};
//# sourceMappingURL=replace-in-workspace-file.d.ts.map