type NativeBinding = { glob: (options: NativeGlobOptions) => Promise; grep: (options: NativeGrepOptions) => Promise; search?: (content: string | Uint8Array, options: NativeTextSearchOptions) => NativeTextSearchResult; hasMatch?: (content: string | Uint8Array, pattern: string | Uint8Array, ignoreCase?: boolean | null, multiline?: boolean | null) => boolean; invalidateFsScanCache?: (path?: string | null) => void; blockRangeAt?: (options: { code: string; path: string; line: number; }) => { startLine: number; endLine: number; } | null; }; export type NativeGlobMatch = { path: string; fileType: "File" | "Dir" | "Symlink" | number; mtime?: number; size?: number; }; export type NativeGlobOptions = { pattern: string; path: string; fileType?: "File" | "Dir" | "Symlink" | number; recursive?: boolean; hidden?: boolean; maxResults?: number; gitignore?: boolean; cache?: boolean; sortByMtime?: boolean; includeNodeModules?: boolean; signal?: AbortSignal; timeoutMs?: number; }; export type NativeGlobResult = { matches: NativeGlobMatch[]; totalMatches: number; }; export type NativeGrepMatch = { path: string; lineNumber: number; line: string; contextBefore?: Array<{ lineNumber: number; line: string; }>; contextAfter?: Array<{ lineNumber: number; line: string; }>; truncated?: boolean; matchCount?: number; }; export type NativeGrepOptions = { pattern: string; path: string; cwd?: string; glob?: string; type?: string; ignoreCase?: boolean; multiline?: boolean; hidden?: boolean; gitignore?: boolean; cache?: boolean; maxCount?: number; offset?: number; contextBefore?: number; contextAfter?: number; context?: number; maxColumns?: number; mode?: "content" | "count" | "filesWithMatches"; maxCountPerFile?: number; signal?: AbortSignal; timeoutMs?: number; }; export type NativeGrepResult = { matches: NativeGrepMatch[]; totalMatches: number; filesWithMatches: number; filesSearched: number; limitReached: boolean; skippedOversized?: number; error?: string; }; export type NativeTextSearchOptions = Omit; export type NativeTextSearchResult = { matches: Array>; matchCount: number; limitReached: boolean; error?: string; }; export declare function resetNativeSearchBindingCache(): void; export declare function loadNativeSearchBinding(): NativeBinding | null; export declare function invalidateNativeSearchCache(path?: string): void; export {}; //# sourceMappingURL=search-native.d.ts.map