import type { SQLiteStore } from '../state/sqlite-store.js'; import type { KnowledgeStore } from './store.js'; import type { KnowledgeNodeRecord, KnowledgeNodeRevisionRecord, KnowledgeNodeUpsertInput, KnowledgeSemanticEnrichmentStateRecord } from './types.js'; export declare function writeKnowledgeNodeRow(sqlite: SQLiteStore, record: KnowledgeNodeRecord): void; export declare function clampConfidence(value: number): number; /** * Decide a node's effective status and stamp honest review provenance so a node is * never silently active. (Invariants 2 & 4.) * - An explicit producer status (or a review that applied facts) is honored and * labelled 'explicit'/'reviewed'. * - An already-active node stays active; if it predates the gate it is labelled * 'pre-gate' (folds/migrations never get downgraded). * - A new/draft node auto-accepts at/above the configured confidence threshold * (labelled 'auto-accepted') or is held as 'draft' pending review otherwise. */ export declare function resolveNodeActivation(args: { readonly input: KnowledgeNodeUpsertInput; readonly existing: KnowledgeNodeRecord | undefined; readonly confidence: number; readonly metadata: Record; readonly now: number; readonly autoAcceptConfidence: number; }): { status: KnowledgeNodeRecord['status']; metadata: Record; }; /** * Record an append-only revision on a content-changing upsert: preserve the * overwritten prior content and note what changed. (Invariant 8.) */ export declare function recordKnowledgeNodeRevisions(sqlite: SQLiteStore, nodeRevisions: Map, record: KnowledgeNodeRecord, existing: KnowledgeNodeRecord | undefined, now: number): void; export declare function listKnowledgeNodeRevisions(nodeRevisions: Map, nodeId: string): KnowledgeNodeRevisionRecord[]; /** * Merge one node into another: re-point every edge that referenced the loser onto * the winner (deduping and dropping self-loops), record a `merged_into` edge, and * mark the loser 'stale' with a `mergedInto` stamp. Keeps cross-references live on * the surviving node. (Invariant 7.) */ export declare function mergeKnowledgeNodes(store: KnowledgeStore, loserId: string, winnerId: string): Promise<{ merged: boolean; repointedEdges: number; }>; export declare function upsertKnowledgeSemanticEnrichmentState(sqlite: SQLiteStore, states: Map, input: { readonly sourceId: string; readonly textHash?: string | undefined; readonly enrichedAt?: number | undefined; readonly metadata?: Record | undefined; }): KnowledgeSemanticEnrichmentStateRecord; //# sourceMappingURL=store-node-history.d.ts.map