import type { EventListener, Events, HarnessEvent, HarnessEventType, WatchHandle } from "./agent-harness.ts"; import type { Context } from "./context.ts"; type ResnapshotCapture = (context: Context, markBoundary: () => void) => Promise; /** Passive harness event bus with isolated handler failures. */ export declare class HarnessEventBus implements Events { private readonly listeners; private readonly watchListeners; private deliveryTail; private closedError; on(type: TType, listener: EventListener>): () => void; emit(event: HarnessEvent, context: Context): Promise; /** Bind current recipients and append one contiguous batch to the global delivery tail. */ emitBatch(events: readonly HarnessEvent[], context: Context): Promise; watch(snapshot: T, filter: (event: HarnessEvent) => boolean, _context: Context, resnapshot?: ResnapshotCapture): WatchHandle; watchFromSnapshot(capture: (context: Context) => Promise, filter: (event: HarnessEvent) => boolean, context: Context): Promise>; close(error: Error): void; private installWatcher; private enqueueBarrier; private snapshotRecipients; private deliver; } export {}; //# sourceMappingURL=events.d.ts.map