import { type UserModelScope } from '../user-model/domain.js'; import type { KnowledgeItem, KnowledgeKind, KnowledgeOriginClass, KnowledgeRecordClass, KnowledgeContentSource, KnowledgeReadPolicy, KnowledgeStatus, KnowledgeReviewAction, KnowledgeStatusActor, KnowledgeStatusEvent, 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; sourceConversationId?: string; sourceTurnId?: string; derivedFromRecalledContext?: boolean; source?: Record; replaceExisting?: boolean; restoreDeleted?: boolean; now?: number; } export declare class KnowledgeReviewConflictError extends Error { constructor(message: string); } export declare function writeKnowledgeItem(input: WriteKnowledgeInput): { item: KnowledgeItem; created: boolean; } | { item?: undefined; created: false; suppressed: true; }; export declare function getKnowledgeItem(id: string): KnowledgeItem | undefined; export declare function listKnowledgeItems(input?: { principalId?: string; scope?: UserModelScope; canonicalKey?: string; statuses?: KnowledgeStatus[]; recordClass?: KnowledgeRecordClass; limit?: number; }): KnowledgeItem[]; export declare function transitionKnowledgeStatus(input: { id: string; status: KnowledgeStatus; actor: KnowledgeStatusActor; reason: string; expectedStatus?: KnowledgeStatus; content?: string; now?: number; }): KnowledgeItem | undefined; export declare function reviewKnowledgeItem(input: { id: string; action: KnowledgeReviewAction; actor: KnowledgeStatusActor; reason: string; expectedStatus?: KnowledgeStatus; content?: string; now?: number; }): KnowledgeItem | undefined; export declare function listKnowledgeStatusEvents(knowledgeId: string): KnowledgeStatusEvent[]; export declare function searchKnowledgeItems(input: { query: string; context: KnowledgeVisibilityContext; principalId?: string; asOf?: number; recordClass?: KnowledgeRecordClass; trustedOnly?: boolean; policy?: KnowledgeReadPolicy; limit?: number; }): KnowledgeItem[]; export declare function classifyKnowledgeContentSource(item: KnowledgeItem): KnowledgeContentSource; export declare function knowledgeItemAllowed(item: KnowledgeItem, policy: KnowledgeReadPolicy): boolean; export declare function deleteKnowledgeItem(id: string, now?: number): boolean; export declare function isKnowledgeCurrent(item: KnowledgeItem, asOf?: number): boolean;