///
import { ListenerFn } from 'eventemitter2';
import { BaseChannel, InvokeRequest } from './base_channel';
import { EndpointHandlers } from '../../types';
import { Logger } from '../../logger';
interface ChildProcessOptions {
socketsPath: string;
}
export declare class IPCChannel extends BaseChannel {
private readonly _emitter;
private readonly _ipcClient;
private readonly _rpcRequestIds;
private readonly _chainID;
constructor(logger: Logger, namespace: string, events: ReadonlyArray, endpoints: EndpointHandlers, chainID: Buffer, options: ChildProcessOptions);
startAndListen(): Promise;
registerToBus(): Promise;
subscribe(eventName: string, cb: ListenerFn): void;
unsubscribe(eventName: string, cb: ListenerFn): void;
once(eventName: string, cb: ListenerFn): void;
publish(eventName: string, data?: Record): void;
invoke(req: InvokeRequest): Promise;
cleanup(_status?: number, _message?: string): void;
private get _pubSocket();
private get _subSocket();
private get _rpcServer();
private get _rpcClient();
}
export {};