/** * Execution journal for tracking workflow and step events */ import type { BoundedEventBus, OrchestrationEvent } from './event-bus.js'; /** * Journal entry for an event */ export interface JournalEntry { timestamp: number; type: string; data: OrchestrationEvent; } /** * ExecutionJournal subscribes to events and maintains a journal */ export declare class ExecutionJournal { private readonly entries; private readonly maxEntries; private readonly eventBus; private readonly boundRecordEvent; constructor(eventBus: BoundedEventBus, maxEntries?: number); /** * Record an event to the journal with backpressure safety */ private recordEvent; /** * Get all journal entries */ getEntries(): ReadonlyArray; /** * Get entries filtered by event type */ getEntriesByType(eventType: string): ReadonlyArray; /** * Get entries for a specific execution */ getEntriesByExecution(executionId: string): ReadonlyArray; /** * Get entries for a specific workflow */ getEntriesByWorkflow(workflowId: string): ReadonlyArray; /** * Get entries for a specific step */ getEntriesByStep(stepId: string): ReadonlyArray; /** * Clear all journal entries */ clear(): void; /** * Get the current size of the journal */ size(): number; /** * Unsubscribe from all events */ dispose(): void; } //# sourceMappingURL=execution-journal.d.ts.map