import { type KnowledgeInjectionIngestMode, type KnowledgeInjectionProvenance, type KnowledgeInjectionRetention, type KnowledgeInjectionTrustTier, type KnowledgeInjectionUseAs } from '../knowledge/internal.js';
import type { MemoryRecord, MemoryRegistry, MemorySemanticSearchResult } from './memory-store.js';
export interface KnowledgeInjection {
    readonly id: string;
    readonly cls: string;
    readonly summary: string;
    readonly reason: string;
    readonly confidence: number;
    readonly reviewState: 'fresh' | 'reviewed' | 'stale' | 'contradicted';
    readonly trustTier: KnowledgeInjectionTrustTier;
    readonly useAs: KnowledgeInjectionUseAs;
    readonly retention: KnowledgeInjectionRetention;
    readonly provenance: KnowledgeInjectionProvenance;
    readonly ingestMode: KnowledgeInjectionIngestMode;
}
type KnowledgeInjectionPromptInput = Pick<KnowledgeInjection, 'id' | 'cls' | 'summary' | 'reason' | 'confidence' | 'reviewState'> & Partial<Pick<KnowledgeInjection, 'trustTier' | 'useAs' | 'retention' | 'provenance' | 'ingestMode'>>;
type KnowledgeRegistrySource = {
    getAll(): readonly MemoryRecord[];
    searchSemantic?(input: Parameters<MemoryRegistry['searchSemantic']>[0]): readonly MemorySemanticSearchResult[];
};
export declare function selectKnowledgeForTask(registry: KnowledgeRegistrySource, task: string, writeScope?: readonly string[], limit?: number): KnowledgeInjection[];
export declare function buildKnowledgeInjectionPrompt(injections: readonly KnowledgeInjectionPromptInput[]): string | null;
export {};
//# sourceMappingURL=knowledge-injection.d.ts.map