import { type UserModelScope } from '../user-model/domain.js'; import type { KnowledgeItem, KnowledgeKind, KnowledgeOriginClass, KnowledgeRecordClass, KnowledgeSource, KnowledgeStatus, KnowledgeVisibilityContext } from './domain.js'; export interface WriteKnowledgeInput { principalId?: string; kind: KnowledgeKind; scope: UserModelScope; content: string; canonicalKey: string; recordClass?: KnowledgeRecordClass; status?: KnowledgeStatus; confidence: number; importance: number; validFrom?: number; validTo?: number; expiresAt?: number; reviewAt?: number; originClass: KnowledgeOriginClass; sourceAgentId?: string; sourceSessionId?: string; sourceTurnId?: string; derivedFromRecalledContext?: boolean; source?: Record; replaceExisting?: boolean; now?: number; } export declare function writeKnowledgeItem(input: WriteKnowledgeInput): { item: KnowledgeItem; created: boolean; }; export declare function getKnowledgeItem(id: string): KnowledgeItem | undefined; export declare function listKnowledgeItems(input?: { principalId?: string; statuses?: KnowledgeStatus[]; recordClass?: KnowledgeRecordClass; limit?: number; }): KnowledgeItem[]; export declare function setKnowledgeStatus(id: string, status: KnowledgeStatus, now?: number): KnowledgeItem | undefined; export declare function searchKnowledgeItems(input: { query: string; context: KnowledgeVisibilityContext; principalId?: string; asOf?: number; recordClass?: KnowledgeRecordClass; trustedOnly?: boolean; sources?: readonly KnowledgeSource[]; limit?: number; }): KnowledgeItem[]; export declare function knowledgeSourceAllowed(item: KnowledgeItem, sources: readonly KnowledgeSource[]): boolean;