export type SessionEventType = 'prompt.admitted' | 'prompt.promoted' | 'step.started' | 'step.ended' | 'step.failed' | 'text.delta' | 'reasoning.delta' | 'tool.called' | 'tool.succeeded' | 'tool.failed' | 'compaction.ended'; export interface SessionEvent { readonly id: string; readonly aggregateId: string; readonly seq: number; readonly type: SessionEventType; readonly version: number; readonly data: T; readonly time: number; } export declare class SessionEventSequenceError extends Error { constructor(aggregateId: string, expected: number, got: number); } export interface AppendSessionEventInput { readonly type: SessionEventType; readonly data: T; readonly version?: number; readonly time?: number; } export declare class SessionEventLog { readonly aggregateId: string; private readonly events; constructor(aggregateId: string); append(input: AppendSessionEventInput): SessionEvent; all(after?: number): readonly SessionEvent[]; latestSeq(): number; toEvents(): SessionEvent[]; static fromEvents(aggregateId: string, events: readonly SessionEvent[]): SessionEventLog; } //# sourceMappingURL=session-event.d.ts.map