narraleaf
Version:
Create your visual novel with Electron and React
12 lines (11 loc) • 934 B
TypeScript
import { IPC, IPCType, OnlyMessage, OnlyRequest } from "../../core/ipc/ipc";
import { IpcEvents } from "../../core/ipc/events";
import { AppEventToken } from "../../main/electron/app/app";
import { MayPromise } from "../../utils/types";
export declare class IPCClient extends IPC<IpcEvents, IPCType.Client> {
constructor(namespace: string);
invoke<K extends keyof OnlyRequest<IpcEvents, IPCType.Host>>(key: K, data: IpcEvents[K]["data"]): Promise<Exclude<IpcEvents[K]["response"], never>>;
send<K extends keyof OnlyMessage<IpcEvents, IPCType.Host>>(key: K, data: IpcEvents[K]["data"]): void;
onMessage<K extends keyof OnlyMessage<IpcEvents, IPCType.Host>>(key: K, listener: (data: IpcEvents[K]["data"]) => void): AppEventToken;
onRequest<K extends keyof OnlyRequest<IpcEvents, IPCType.Host>>(key: K, listener: (data: IpcEvents[K]["data"]) => MayPromise<Exclude<IpcEvents[K]["response"], never>>): AppEventToken;
}