import type { RetrievalGateDecision, RetrievalExcludedDomain, RetrievalIntent, RetrievalLevel } from '../contracts/retrieval-gate.js'; export type { RetrievalGateDecision, RetrievalExcludedDomain, RetrievalGateSignals, RetrievalGenerationDebugSignals, RetrievalGenerationIntent, RetrievalIntent, RetrievalLevel, RetrievalTargetDomainHint, } from '../contracts/retrieval-gate.js'; export type RetrievalGateInput = { /** The user's prompt or task description. Required. */ prompt: string; /** Pre-classified intent. If absent, the gate derives it from the prompt. */ intent?: RetrievalIntent; /** Caller-known signal: a PR diff is available for analysis. */ hasPrDiff?: boolean; /** Caller-known signal: specific file paths the prompt is about. */ mentionedPaths?: ReadonlyArray; /** Caller-known signal: specific symbols the prompt is about. */ mentionedSymbols?: ReadonlyArray; /** Caller-known signal: the prompt embeds a stack trace or error text. */ hasStackTrace?: boolean; /** * Manual override. When set, bypasses all heuristics and the decision is * returned with reason `'manual override'`. The acceptance criteria of * #75 require the gate be overridable via CLI/MCP options. */ manualOverride?: RetrievalLevel; }; export declare function classifyRetrievalLevel(input: RetrievalGateInput): RetrievalGateDecision; export declare function extractPromptExclusions(prompt: string): { excludedTerms: string[]; excludedPathHints: string[]; excludedDomains: RetrievalExcludedDomain[]; positivePrompt: string; };