import type { OutputEvent } from '../types.js'; import type { ElicitationRequest } from '../types/sdk-types.js'; export interface LedgerEnsureContext { depth: number | undefined; parentSessionId: string | undefined; sessionId: string | undefined; fallbackModel: string; tracePath: string | undefined; getMetadata: () => { model?: string; cwd?: string; }; } export declare class LedgerLifecycle { private writer; private initAttempted; ensure(ctx: LedgerEnsureContext): void; recordUser(text: string): void; recordEvent(event: OutputEvent): void; recordElicitation(reqId: string, request: ElicitationRequest): void; seal(reason: string): Promise; }