import { z } from 'zod';
import type { ToolExecutionObserver } from './observer.js';
export interface SearchMatch {
    path: string;
    line: number;
    text: string;
}
export declare function createSearchWorkspaceTool(_observer?: ToolExecutionObserver): import("ai").Tool<z.ZodObject<{
    query: z.ZodString;
    path: z.ZodDefault<z.ZodString>;
    isRegexp: z.ZodDefault<z.ZodBoolean>;
    maxResults: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    path: string;
    query: string;
    isRegexp: boolean;
    maxResults: number;
}, {
    query: string;
    path?: string | undefined;
    isRegexp?: boolean | undefined;
    maxResults?: number | undefined;
}>, {
    query: string;
    matches: never[];
    ok: boolean;
    path: string;
    error: string;
} | {
    ok: boolean;
    path: string;
    query: string;
    matches: SearchMatch[];
    error?: undefined;
}> & {
    execute: (args: {
        path: string;
        query: string;
        isRegexp: boolean;
        maxResults: number;
    }, options: import("ai").ToolExecutionOptions) => PromiseLike<{
        query: string;
        matches: never[];
        ok: boolean;
        path: string;
        error: string;
    } | {
        ok: boolean;
        path: string;
        query: string;
        matches: SearchMatch[];
        error?: undefined;
    }>;
};
//# sourceMappingURL=search-workspace.d.ts.map