import type { NormalizedEvent } from '../../agent-adapter/normalize/event-types.js'; import type { Backend } from '../../agent-adapter/types.js'; export type AgentSlot = 'parent' | 'benchmark-coder' | 'benchmark-reviewer' | 'benchmark-fixer'; export declare class TrajectoryWriteFailedError extends Error { readonly reason: "trajectory_write_failed"; constructor(message?: string, options?: { cause?: unknown; }); } export interface JournalHeaderInput { rootRunId: string; threadId: string | null; agentSlot: AgentSlot; resolvedCwd: string; canonicalInstructionSha256: string; modelVisiblePromptSha256: string; systemPromptSha256: string; toolManifestSha256: string; pluginManifestSha256: string; modelExecutionIdentityHash: string; roleToolSurfaceHash: string; bundleManifestHash: string; } export interface JournalEventIdentity { modelExecutionIdentityHash: string; roleToolSurfaceHash: string; bundleManifestHash: string; } export interface JournalEventInput { threadId: string | null; step: number | null; agentSlot: AgentSlot; backend: Backend; provider: string | null; requestedModel: string; reportedModel: string | null; event: NormalizedEvent; identity?: JournalEventIdentity; } export interface Journal { readonly path: string; readonly header: Readonly>; readonly eventCount: number; writeEvent(input: JournalEventInput): Readonly>; sha256(): string; close(): Promise; } export declare function openJournal(options: { path: string; header: JournalHeaderInput; now?: () => Date; }): Journal;