/// import { Logger } from '../../logger'; import { RPCConfig } from '../../types'; export interface RequestContext { params: Record; chainID: Buffer; logger: Logger; } export type Handler = (context: RequestContext) => Promise; export type NotFoundHandler = (namespace: string, mehtod: string, context: RequestContext) => Promise; export declare class RPCServer { private readonly _config; private readonly _ipcServer?; private readonly _wsServer?; private readonly _httpServer?; private readonly _rpcHandler; private _notFoundHandler?; private _logger; private _chainID; constructor(dataPath: string, config: RPCConfig); init(options: { logger: Logger; chainID: Buffer; }): void; start(): Promise; stop(): void; publish(eventName: string, data: Record): Promise; registerEndpoint(namespace: string, method: string, handler: Handler): void; registerNotFoundEndpoint(handler: NotFoundHandler): void; private _handleIPCRequest; private _handleRequest; private _publishIPC; private _publishWS; private _getHandler; private _isAllowedMethod; }