import { Command, CommandBus, CommandHandler, Disposable, Event, ExecuteActionOptions, MessageHeaders, Removable, Result } from "@tmorin/ceb-messaging-core"; import { IpcMain } from "electron"; import { IpcEmitterCommandBus, IpcObservableCommandBus } from "../common"; /** * The symbol used to register {@link IpcMainCommandBus}. */ export declare const IpcMainCommandBusSymbol: unique symbol; export declare class IpcMainCommandBus implements CommandBus, Disposable { private readonly ipcMain; private readonly bus; private readonly emitter; constructor(ipcMain: IpcMain, bus: CommandBus, emitter: IpcEmitterCommandBus); get observer(): IpcObservableCommandBus; execute(command: C, options?: Partial): Promise; executeAndForget = Command>(command: C): void; handle = []>(commandType: string, handler: CommandHandler): Removable; dispose(): Promise; }