/** Ripgrep binaries inside `app.asar` are not executable (spawn throws ENOTDIR). */ export declare function isAsarBundledPath(filePath: string): boolean; /** True when `filePath` is a real on-disk executable candidate (not inside asar). */ export declare function isRunnableRipgrepPath(filePath: string): boolean; /** @internal Test-only — clears memoized ripgrep path between cases. */ export declare function resetRipgrepBinaryCacheForTests(): void; export interface WorkspaceSearchHit { filePath: string; lineNumber: number; lineContent: string; matchStart: number; matchEnd: number; } /** Run ripgrep in a directory (absolute path). Returns empty array if rg fails to start. */ export declare function runRipgrepInDirectory(query: string, dirAbsPath: string): Promise; /** * List workspace-relative file paths via ripgrep `--files` (respects .gitignore; fast on large trees). * Returns POSIX paths relative to `dirAbsPath`. */ export declare function runRipgrepListFiles(dirAbsPath: string): Promise;