export type Vertical = 'general' | 'news' | 'code' | 'docs' | 'papers' | 'images'; export declare const VERTICALS: readonly Vertical[]; export interface ClassifyOptions { /** Override classifier (e.g., from `category` input on search tool). */ hint?: Vertical; /** When date filters are present in the search input, push toward 'news'. */ hasDateBound?: boolean; /** Inject a clock for deterministic relative-date parsing in tests. */ now?: Date; } export interface DateHint { fromDate?: string; toDate?: string; } export interface DetailedClassification { vertical: Vertical; dateHint?: DateHint; } /** * STRICT error-intent predicate. True only for genuinely error-shaped tokens * (errno E-codes, underscore ALL-CAPS codes, ALL-CAPS-adjacent-numeric status * codes, PascalCase *Error/*Exception names) — NOT for plain acronyms like * NGINX or GRAPHQL. Gates docs-vertical suppression + dictionary demotion, so a * false positive here would misroute a normal docs query. */ export declare function queryHasErrorToken(query: string): boolean; /** * Return every quotable code token found in the query, in order. BROAD by * design — quoting an acronym atom is benign. Used to wrap tokens in the * dispatched engine query; not an intent signal. */ export declare function extractErrorTokens(query: string): string[]; export declare function parseDateHint(query: string, now?: Date): DateHint | undefined; export declare function classifyIntentDetailed(query: string, opts?: ClassifyOptions): DetailedClassification; export declare function classifyIntent(query: string, opts?: ClassifyOptions): Vertical; //# sourceMappingURL=intent-router.d.ts.map