/** * The `ignore` search filter: path patterns whose chunks a search leaves out. * * The index keeps everything; ignoring happens at query time, as a Milvus * filter expression on `file_path`, so changing what is ignored needs no * reindex. A project can set a default in `.codesearchrc.json` * (`searchIgnore`), which applies whenever a request doesn't pass `ignore`; * `ignore: []` searches everything. * * Patterns are relative to the workspace root: * docs/ a folder (trailing slash) * docs a folder, or a file with exactly that path * *.md a wildcard: `*` matches any run of characters, `/` included * server/**\/README.md `**` is the same as `*` * * Milvus `like` treats `%` and `_` as wildcards, so both are escaped and match * literally (`__tests__/` means that folder, not any 9-character name). */ export declare const MAX_IGNORE_PATTERNS = 20; export declare const MAX_IGNORE_PATTERN_LENGTH = 200; export type IgnoreSource = 'request' | 'config' | 'none'; export interface ResolvedIgnore { patterns: string[]; source: IgnoreSource; } /** One pattern as a Milvus expression that MATCHES the paths it names. */ export declare function patternToMatchExpr(raw: string): string; /** The expression that excludes every pattern, or undefined for none. */ export declare function buildIgnoreExpr(patterns: readonly string[]): string | undefined; /** * Validate a request's `ignore` value. `undefined` means "not given" (the * config default applies); an array, even empty, is the caller's choice. */ export declare function parseIgnore(value: unknown): { ok: true; patterns: string[] | undefined; } | { ok: false; error: string; }; /** The request's patterns if it gave any (even none), else the config default. */ export declare function resolveIgnore(requested: string[] | undefined, configDefault: readonly string[] | undefined): ResolvedIgnore; /** One line for a response, so a caller knows what it didn't see. */ export declare function describeIgnore(r: ResolvedIgnore): string | undefined;