import type { RunCommand, RunRecord, TimelineEntry } from "../types.js"; import type { SdkContext } from "./context.js"; /** * Maps a wire entry to the public DISCRIMINATED entry: the contract's payload schemas fold * `(kind, ref)` into typed `data`, degrading to the `unknown` case (raw kind + payload preserved) * for kinds newer than this SDK or payloads that fail their schema. Exported for tests. */ export declare const toTimelineEntry: (wire: { readonly eventId: string; readonly sequence: string; readonly kind: string; readonly occurredAt: string; readonly summary: string; readonly ref?: unknown; readonly processId?: string | undefined; readonly captureMethod: number; readonly confidence: number; }) => TimelineEntry; /** * Folds the timeline into the ordered list of terminal commands. Process boundaries are * `processStarted`/`processExited`; `ioChunk` byte counts accrue to the current command. Daemon noise * (`runtimeStateChanged`, and the boot foreground we never `processStarted`) is skipped naturally. */ export declare const reconstructCommands: (entries: readonly { readonly eventId: string; readonly sequence: string; readonly kind: string; readonly occurredAt: string; readonly summary: string; readonly ref?: unknown; readonly processId?: string | undefined; readonly captureMethod: number; readonly confidence: number; }[]) => RunCommand[]; export declare const renderTranscript: (commands: readonly RunCommand[]) => string; export declare const makeRunRecord: (ctx: SdkContext, runId: string) => RunRecord;