import type { Build, Evidence } from "../../knowledge/transcript/schema.js"; import type { BranchObservation, HistoricalLoss, Method, RecordEnvelope, Rule } from "../../knowledge/transcript/wire.js"; import type { Bookmark } from "./bookmark.js"; import type { NativeBase, NativeEntry, NativeHistory } from "./native.js"; export interface TranscriptReader { readonly consistency: "append-only" | "snapshot"; readonly ancestry?: { base(history: NativeHistory): NativeBase | null; validate(history: NativeHistory, base: NativeBase): void; }; readonly lookup: { readonly directories: readonly string[]; readonly recursive: boolean; matches(name: string, id: string): boolean; /** The one path an ID can name, relative to the store root; null when the ID cannot name any. */ locate?(id: string): string | null; }; /** Projects a native container onto LF-framed JSON entries; absent for JSONL sources. */ readonly frame?: (bytes: Uint8Array) => Uint8Array; /** Sibling path suffixes that must be absent or empty around the capture. */ readonly quiescentSiblings?: readonly string[]; readonly method: Method; readonly historicalLoss: HistoricalLoss; readonly evidence: Evidence; readonly rules: readonly Rule[]; readonly consistencyRuleIds: readonly string[]; readonly continuation: { readonly ruleIds: readonly string[]; decode(token: string): Bookmark; encode(value: Omit): string; } | null; /** The writer build one source's own header names, where the format carries * one; absent where it does not. */ readonly writerBuild?: (history: NativeHistory) => Build; branch(history: NativeHistory, id: string): BranchObservation; nativeId(history: NativeHistory, path: string): string; normalize(entry: NativeEntry, id: string): RecordEnvelope; parse(bytes: string | Uint8Array): NativeHistory; } export declare function recordFromSource(record: RecordEnvelope, sourceKey: string): RecordEnvelope; export declare function readerForMethod(method: Method): TranscriptReader | null; //# sourceMappingURL=readers.d.ts.map