import { ExecuteActionOptions, MessageHeaders, Query, QueryBus, QueryHandler, Removable, Result, ResultHeaders } from "@tmorin/ceb-messaging-core"; import { IpcMain } from "electron"; import { IpcEmitterQueryBus, IpcObservableQueryBus } from "../common"; /** * The symbol used to register {@link IpcMainQueryBus}. */ export declare const IpcMainQueryBusSymbol: unique symbol; export declare class IpcMainQueryBus implements QueryBus { private readonly ipcMain; private readonly bus; private readonly emitter; constructor(ipcMain: IpcMain, bus: QueryBus, emitter: IpcEmitterQueryBus); get observer(): IpcObservableQueryBus; execute(query: Q, options?: Partial): Promise; handle = Query, R extends Result = Result>(queryType: string, handler: QueryHandler): Removable; dispose(): Promise; }