export declare const ENTRY_KINDS: readonly ["fact", "decision", "lesson", "preference", "reference"]; export declare const ENTRY_STATUSES: readonly ["candidate", "verified", "superseded"]; export declare const TRUST_LEVELS: readonly ["untrusted", "user_asserted", "source_verified", "system_verified"]; export type EntryKind = (typeof ENTRY_KINDS)[number]; export type EntryStatus = (typeof ENTRY_STATUSES)[number]; export type TrustLevel = (typeof TRUST_LEVELS)[number]; export type JsonObject = { [key: string]: JsonValue; }; export type JsonValue = null | boolean | number | string | JsonValue[] | JsonObject; export interface ValidatedRecordInput { workspace: string; kind: EntryKind; status: EntryStatus; title: string; body: string; summary: string | null; scope: JsonObject; provenance: JsonObject; trustLevel: TrustLevel; confidence: number; tags: string[]; createdBy: string; actor: string; } export type EntryRevisionHashInput = Pick; /** Compare strings by ECMAScript UTF-16 code units, independent of the host locale. */ export declare function compareCanonicalStrings(left: string, right: string): number; /** Return the de-duplicated persisted tag order used by all new revision hashes. */ export declare function canonicalTagOrder(tags: readonly string[]): string[]; /** Serialize JSON values with recursively sorted object keys and no insignificant whitespace. */ export declare function canonicalJson(value: unknown): string; export declare function canonicalContentHash(value: unknown): string; /** Hash revision content with the current locale-independent persisted tag order. */ export declare function canonicalEntryRevisionContentHash(input: EntryRevisionHashInput): string; export declare function requireWorkspace(value: unknown): string; export declare function validateRecordInput(value: unknown): ValidatedRecordInput; //# sourceMappingURL=validate.d.ts.map