import { DurableEventLog } from '../src/index.js';
import { TestStores } from './test-stores.js';
/**
 * Class that manages the EventLog implementation for testing.
 * This is the single point of configuration that allows different EventLog
 * implementations to be swapped in to test compatibility.
 */
export class TestEventLog {
    static eventLog;
    /**
     * Overrides the event log with a given implementation.
     * If not given, the default durable implementation will be used.
     */
    static override(overrides) {
        TestEventLog.eventLog = overrides?.eventLog;
    }
    /**
     * Initializes and returns the event log used for running the test suite.
     */
    static get() {
        if (TestEventLog.eventLog === undefined) {
            const { messageStore } = TestStores.get();
            TestEventLog.eventLog = new DurableEventLog(messageStore, TestStores.getWakePublisher(), { idleRedrainIntervalMs: 0 });
        }
        return TestEventLog.eventLog;
    }
}
//# sourceMappingURL=test-event-stream.js.map