import { Event, EventBus, EventListener, MessageHeaders, Removable, SubscribeOptions } from "@tmorin/ceb-messaging-core"; import { IpcMain } from "electron"; import { IpcEmitterEventBus, IpcObservableEventBus } from "../common"; /** * The symbol used to register {@link IpcMainEventBus}. */ export declare const IpcMainEventBusSymbol: unique symbol; export declare class IpcMainEventBus implements EventBus { private readonly ipcMain; private readonly bus; private readonly emitter; constructor(ipcMain: IpcMain, bus: EventBus, emitter: IpcEmitterEventBus); get observer(): IpcObservableEventBus; publish = Event>(...events: E[]): void; subscribe = Event>(eventType: string, listener: EventListener, options?: Partial): Removable; dispose(): Promise; }