export interface FileHit { /** Project-relative POSIX path, e.g. "src/App.tsx". */ path: string; /** File name only, e.g. "App.tsx". */ name: string; } export declare const FILE_SEARCH_LIMIT = 20; export declare const FILE_SEARCH_SCAN_CAP = 50000; /** Score a candidate path against a lowercased query. Higher is better; a * negative score means "no match". Basename hits beat path hits; prefix beats * substring; shorter paths break ties. */ export declare function scoreFile(relPath: string, name: string, query: string): number; /** True when every char of `needle` appears in `haystack` in order (fuzzy). */ export declare function subsequenceMatch(haystack: string, needle: string): boolean; export declare function searchProjectFiles(cwd: string, rawQuery: string): Promise;