import type { AgentTool } from "@earendil-works/pi-agent-core";
import { type Static, Type } from "typebox";
import type { ToolDefinition } from "../extensions/types.ts";
import { type GrepToolOptions } from "./grep.ts";
import { type HashlineSnapshotStore } from "./hashline.ts";
import { type SearchToolDetails } from "./search-details.ts";
export type { SearchToolDetails } from "./search-details.ts";
declare const searchSchema: Type.TObject<{
    pattern: Type.TString;
    paths: Type.TOptional<Type.TUnion<[Type.TString, Type.TArray<Type.TString>]>>;
    i: Type.TOptional<Type.TBoolean>;
    gitignore: Type.TOptional<Type.TBoolean>;
    case: Type.TOptional<Type.TBoolean>;
    skip: Type.TOptional<Type.TUnion<[Type.TNumber, Type.TNull]>>;
}>;
export type SearchToolInput = Static<typeof searchSchema>;
export type SearchToolOptions = GrepToolOptions & {
    hashlineStore?: HashlineSnapshotStore;
    contextBefore?: number;
    contextAfter?: number;
};
export declare function createSearchToolDefinition(cwd: string, options?: SearchToolOptions): ToolDefinition<typeof searchSchema, SearchToolDetails | undefined>;
export declare function createSearchTool(cwd: string, options?: SearchToolOptions): AgentTool<typeof searchSchema>;
//# sourceMappingURL=search.d.ts.map