import type { L0EventStore, L0EventStoreWithSnapshots, L0EventEnvelope, L0RecordedEvent, L0Snapshot } from "../types/events"; export declare class InMemoryEventStore implements L0EventStoreWithSnapshots { private streams; private snapshots; append(streamId: string, event: L0RecordedEvent): Promise; getEvents(streamId: string): Promise; exists(streamId: string): Promise; getLastEvent(streamId: string): Promise; getEventsAfter(streamId: string, afterSeq: number): Promise; delete(streamId: string): Promise; listStreams(): Promise; saveSnapshot(snapshot: L0Snapshot): Promise; getSnapshot(streamId: string): Promise; getSnapshotBefore(streamId: string, seq: number): Promise; clear(): void; getTotalEventCount(): number; getStreamCount(): number; } export declare class L0EventRecorder { private streamId; private eventStore; private seq; constructor(eventStore: L0EventStore, streamId?: string); getStreamId(): string; getSeq(): number; record(event: L0RecordedEvent): Promise; recordStart(options: Extract["options"]): Promise; recordToken(value: string, index: number): Promise; recordCheckpoint(at: number, content: string): Promise; recordGuardrail(at: number, result: Extract["result"]): Promise; recordDrift(at: number, result: Extract["result"]): Promise; recordRetry(reason: string, attempt: number, countsTowardLimit: boolean): Promise; recordFallback(to: number): Promise; recordContinuation(checkpoint: string, at: number): Promise; recordComplete(content: string, tokenCount: number): Promise; recordError(error: Extract["error"], failureType: Extract["failureType"], recoveryStrategy: Extract["recoveryStrategy"], policy: Extract["policy"]): Promise; } export declare class L0EventReplayer { private eventStore; constructor(eventStore: L0EventStore); replay(streamId: string, options?: { speed?: number; fromSeq?: number; toSeq?: number; }): AsyncGenerator; replayToState(streamId: string): Promise; replayTokens(streamId: string, options?: { speed?: number; }): AsyncGenerator; } export interface ReplayedState { content: string; tokenCount: number; checkpoint: string; violations: import("../types/guardrails").GuardrailViolation[]; driftDetected: boolean; retryAttempts: number; networkRetryCount: number; fallbackIndex: number; completed: boolean; error: import("../types/events").SerializedError | null; startTs: number; endTs: number; } export declare function createInMemoryEventStore(): InMemoryEventStore; export declare function createEventRecorder(eventStore: L0EventStore, streamId?: string): L0EventRecorder; export declare function createEventReplayer(eventStore: L0EventStore): L0EventReplayer; //# sourceMappingURL=eventStore.d.ts.map