export declare const SESSION_JOURNAL_STATE_ROLES: readonly ["canonical runtime state", "audit trail", "derived projection"]; export type SessionJournalStateRole = (typeof SESSION_JOURNAL_STATE_ROLES)[number]; export type SessionJournalActor = "human" | "agent" | "system" | "tool"; export type SessionJournalEntry = { id: string; sessionId: string; turnId?: string; parentSessionId?: string; childSessionId?: string; actor: SessionJournalActor; eventType: string; timestamp: number; source: string; summary: string; stateRole: SessionJournalStateRole; idempotencyKey?: string; }; export type SessionJournalAppendInput = { entry: SessionJournalEntry; filePath: string; idempotencyKey: string; }; type SessionJournalCreateInput = Omit & { id?: string; }; /** Build a deterministic replay-friendly journal identifier from public entry fields. */ export declare function buildJournalId(input: Pick): string; /** Create a validated append-only Session Journal entry. */ export declare function createJournalEntry(input: SessionJournalCreateInput): SessionJournalEntry; /** Serialize a journal entry to the JSON contract consumed by agents and replay tools. */ export declare function serializeJournalEntryJson(entry: SessionJournalEntry): SessionJournalEntry; /** Render only bounded metadata and summary fields; never reads raw transcripts. */ export declare function renderJournalEntryMarkdown(entry: SessionJournalEntry): string; /** * Append one JSONL record per unique idempotency key. * * This module writes only caller-specified journal files. It does not import, * patch, or replace continuity/delegation runtime writers. */ export declare function appendJournalEntry({ entry, filePath, idempotencyKey }: SessionJournalAppendInput): SessionJournalEntry; export {}; //# sourceMappingURL=index.d.ts.map