import { BaseTool } from '../base.js'; import { ToolExecutionContext } from '../types.js'; interface SearchOptions { query: string; path?: string; type?: 'content' | 'filename' | 'both'; filePattern?: string; excludePattern?: string; caseSensitive?: boolean; maxResults?: number; includeHidden?: boolean; searchOutsideRepo?: boolean; maxDepth?: number; fileType?: string; beforeDate?: string; afterDate?: string; minSize?: string; maxSize?: string; } export declare class SearchTool extends BaseTool { name: string; displayName: string; description: string; category: "file"; icon: string; parameters: ({ name: string; type: "string"; description: string; required: boolean; default?: undefined; enum?: undefined; } | { name: string; type: "string"; description: string; required: boolean; default: string; enum?: undefined; } | { name: string; type: "string"; description: string; required: boolean; default: string; enum: string[]; } | { name: string; type: "boolean"; description: string; required: boolean; default: boolean; enum?: undefined; } | { name: string; type: "number"; description: string; required: boolean; default: number; enum?: undefined; } | { name: string; type: "number"; description: string; required: boolean; default?: undefined; enum?: undefined; })[]; permissions: { fileSystem: "read"; }; ui: { showProgress: boolean; collapsible: boolean; dangerous: boolean; }; protected run(params: SearchOptions, context: ToolExecutionContext): Promise; private searchContent; private buildRipgrepCommand; private escapeShellArg; private searchContentWithGrep; private searchFilenames; private createPreview; private formatResults; } export {}; //# sourceMappingURL=search.d.ts.map