import type { ContextEvidence, ContextRef } from './types.js'; import type { ContextCandidate, HiddenCandidateAggregate } from './source-readers.js'; export interface ContextCompilerPolicyInput { task: string; candidates: ContextCandidate[]; hidden: HiddenCandidateAggregate; limit?: number; strictness?: 'recall' | 'balanced' | 'strict' | 'low' | 'medium' | 'high'; max_tokens?: number; } export interface ContextCompilerPolicyResult { selected_evidence: ContextEvidence[]; source_refs: ContextRef[]; evidence_clusters: unknown[]; related_decisions: Array<{ memory_id: string; title: string; }>; rejected_refs: ContextRef[]; rejected_summary: string[]; missing_context: string[]; caveats: string[]; retrieval_diagnostics: { candidate_count: number; selected_count: number; rejected_count: number; hidden: HiddenCandidateAggregate; deduplicated_count: number; strict_vector_only_rejected_count: number; token_budget_rejected_count: number; limit_rejected_count: number; truncated_by_tokens: boolean; estimated_tokens: number; }; estimated_tokens: number; } export declare function estimateEvidenceTokens(evidence: Pick): number; export declare function applyContextCompilerPolicy(input: ContextCompilerPolicyInput): ContextCompilerPolicyResult; //# sourceMappingURL=compiler-policy.d.ts.map