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 interface RetrievalGapRecord { kind: RetrievalGapKind; target?: string; reason: string; evidence: string[]; resolver: 'codegraph' | 'memory' | 'knowledge' | 'analyzer' | 'none'; priority: number; } export interface RetrievalCycleRecord { retrievalSessionId: string; cycle: number; gaps: RetrievalGapRecord[]; selectedIds: string[]; rejectedIds: string[]; tokenCost: number; remainingTokenBudget: number; quality: Record; receipt: string; evidenceHash: string; createdAt: number; } export interface RetrievalSessionRecord { id: string; requestId: string; projectRoot: string; sessionId: string; executionId?: string; query: string; intent: string; state: RetrievalSessionState; cycle: number; maxCycles: typeof RETRIEVAL_MAX_CYCLES; initialTokenBudget: number; remainingTokenBudget: number; baselineReceipt: string; finalReceipt?: string; createdAt: number; updatedAt: number; expiresAt: number; } export interface CreateRetrievalSessionInput { id?: string; requestId: string; projectRoot: string; sessionId: string; executionId?: string; query: string; intent: string; tokenBudget: number; baselineReceipt: string; expiresAt: number; } export interface AppendRetrievalCycleInput { retrievalSessionId: string; projectRoot: string; sessionId: string; baselineReceipt: string; cycle: number; gaps: RetrievalGapRecord[]; selectedIds: string[]; rejectedIds: string[]; tokenCost: number; remainingTokenBudget: number; quality: Record; receipt: string; evidenceHash: string; } export declare function mapRetrievalSessionRow(row: Record): RetrievalSessionRecord; export declare function mapRetrievalCycleRow(row: Record): RetrievalCycleRecord; export declare function serializeRetrievalJson(value: unknown): string; export declare function isRetrievalSessionState(value: unknown): value is RetrievalSessionState;