import type { Lifecycle, NoteKind, NoteStatus } from './types.js'; export declare const REVIEW_SERIALIZER_VERSION = 1; export declare const DEFAULT_SIMHASH_THRESHOLD = 3; export declare const DEFAULT_SEMANTIC_THRESHOLD = 0.85; export interface ScreeningNote { id: string; title: string; normalizedTitle: string; content: string; summary: string; guidance: string; kind: NoteKind; status: NoteStatus; lifecycle: Lifecycle; tags: string[]; related: string[]; updatedAt: number; canonicalFileHash?: string; contentHash: string; hashSource: 'stored' | 'ephemeral'; embedding?: number[]; embeddingModel?: string; } export interface ScreeningSnapshot { schemaVersion: number; notes: ScreeningNote[]; /** True when canonical file metadata no longer matches the indexed baseline. */ canonicalDrift?: boolean; } export interface ScreeningCandidate { title: string; content: string; summary?: string; guidance?: string; kind: NoteKind; status: NoteStatus; lifecycle: Lifecycle; tags: string[]; related?: string[]; embedding?: number[]; embeddingModel?: string; } export interface ScreeningMatch { id: string; updatedAt: number; canonicalFileHash?: string; title: string; lifecycle: Lifecycle; status: NoteStatus; kind: NoteKind; tags: string[]; related: string[]; exactTitle: boolean; simHashDistance: number; semanticSimilarity?: number; highConfidence: boolean; } export interface ScreeningEvaluation { candidateHash: string; matches: ScreeningMatch[]; coverage: { notes: number; exactTitle: number; simHash: number; storedHashes: number; ephemeralHashes: number; semanticAvailable: number; semanticUnavailable: number; }; } export declare function normalizeScreeningTitle(title: string): string; export declare function evaluateScreeningCandidate(candidate: ScreeningCandidate, snapshot: ScreeningSnapshot, options?: { simHashThreshold?: number; semanticThreshold?: number; }): ScreeningEvaluation; export declare function screeningEvidenceDigest(evaluation: ScreeningEvaluation): string; export declare function serializeReviewedOperation(input: { candidate: ScreeningCandidate; evaluation: ScreeningEvaluation; operation: 'create' | 'update'; snapshotVersion: number; configVersion: string; modelIdentity?: string; target?: { id: string; updatedAt: number; canonicalFileHash: string; }; }): string; export declare function reviewedOperationToken(input: Parameters[0]): string; /** Build the effective update candidate used consistently by preview and apply tokens. */ export declare function reviewedUpdateCandidate(candidate: ScreeningCandidate, target: Pick, preserve: { tags: boolean; related: boolean; }): ScreeningCandidate; export declare function targetFirstComparator(targetId?: string): (a: T, b: T) => number; export declare function reviewedOperationTokens(input: Omit[0], 'operation' | 'target'> & { targetId?: string; snapshotCanonicalDrift?: boolean; updateCandidate?: (candidate: ScreeningCandidate, match: ScreeningEvaluation['matches'][number]) => ScreeningCandidate; }): { createToken?: string; updateTokens: Array<{ id: string; expectedUpdatedAt: number; token: string; }>; }; //# sourceMappingURL=reviewed-storage.d.ts.map