import type { CanonicalTaskIntent, RetrievalQualitySummary } from './task-context-envelope.js'; export declare const RETRIEVAL_MAX_CYCLES: 3; export type RetrievalSessionState = 'open' | 'satisfied' | 'exhausted' | 'expired'; export type RetrievalGapKind = 'target' | 'caller' | 'route' | 'resource' | 'test' | 'configuration' | 'symbol_ambiguity' | 'memory_applicability' | 'knowledge_version' | 'runtime_evidence' | 'unavailable_channel'; export type RetrievalGapResolver = 'codegraph' | 'memory' | 'knowledge' | 'analyzer' | 'none'; export interface RetrievalGap { kind: RetrievalGapKind; target?: string; reason: string; evidence: string[]; resolver: RetrievalGapResolver; priority: number; } export interface RetrievalCycle { cycle: number; gaps: RetrievalGap[]; selectedIds: string[]; rejectedIds: string[]; tokenCost: number; remainingTokenBudget: number; quality: RetrievalQualitySummary; receipt: string; evidenceHash: string; createdAt: number; } export interface RetrievalSession { id: string; requestId: string; projectRoot: string; sessionId: string; executionId?: string; query: string; intent: CanonicalTaskIntent; state: RetrievalSessionState; cycle: number; maxCycles: typeof RETRIEVAL_MAX_CYCLES; initialTokenBudget: number; remainingTokenBudget: number; baselineReceipt: string; finalReceipt?: string; cycles: RetrievalCycle[]; createdAt: number; updatedAt: number; expiresAt: number; } export interface RetrievalRefinementInput { retrievalSessionId?: string; baselineReceipt?: string; missingContext?: Array<{ kind: RetrievalGapKind; target?: string; reason: string; evidence?: string[]; }>; } //# sourceMappingURL=retrieval-session.d.ts.map