import { IMessenger } from "./IMessenger.js"; import { EggApplicationCore } from "../../egg.js"; import { BaseMessenger } from "./base.js"; //#region src/lib/core/messenger/ipc.d.ts /** * Communication between app worker and agent worker by IPC channel */ export declare class Messenger extends BaseMessenger implements IMessenger { #private; readonly pid: string; opids: string[]; constructor(egg: EggApplicationCore); /** * Send message to all agent and app * @param {String} action - message key * @param {Object} data - message value * @return {Messenger} this */ broadcast(action: string, data?: unknown): Messenger; /** * send message to the specified process * @param {String} workerId - the workerId of the receiver * @param {String} action - message key * @param {Object} data - message value * @return {Messenger} this */ sendTo(workerId: string, action: string, data?: unknown): Messenger; /** * send message to one app worker by random * - if it's running in agent, it will send to one of app workers * - if it's running in app, it will send to agent * @param {String} action - message key * @param {Object} data - message value * @return {Messenger} this */ sendRandom(action: string, data?: unknown): Messenger; /** * send message to app * @param {String} action - message key * @param {Object} data - message value * @return {Messenger} this */ sendToApp(action: string, data?: unknown): Messenger; /** * send message to agent * @param {String} action - message key * @param {Object} data - message value * @return {Messenger} this */ sendToAgent(action: string, data?: unknown): Messenger; /** * @param {String} action - message key * @param {Object} data - message value * @param {String} to - let master know how to send message * @return {Messenger} this */ send(action: string, data: unknown | undefined, to?: string): Messenger; onMessage(message: any): void; close(): void; } //#endregion