import type { IdGen, JSONRPCRequest, JSONRPCResponse, MiddlewareFactory, ServerManifest } from '@matrixai/rpc'; import type { TLSConfig } from '../network/types.js'; import Logger from '@matrixai/logger'; import { startStop } from '@matrixai/async-init'; import { WebSocketServer, events as wsEvents } from '@matrixai/ws'; import { RPCServer } from '@matrixai/rpc'; interface ClientService extends startStop.StartStop { } declare class ClientService { protected rpcServer: RPCServer; protected webSocketServer: WebSocketServer; protected logger: Logger; protected handleEventWebSocketServerConnection: (evt: wsEvents.EventWebSocketServerConnection) => void; constructor({ tlsConfig, middlewareFactory, idGen, keepAliveTimeoutTime, keepAliveIntervalTime, rpcCallTimeoutTime, rpcParserBufferSize, logger, }: { tlsConfig: TLSConfig; middlewareFactory?: MiddlewareFactory; idGen?: IdGen; keepAliveTimeoutTime?: number; keepAliveIntervalTime?: number; rpcCallTimeoutTime?: number; rpcParserBufferSize?: number; logger?: Logger; }); get host(): import("@matrixai/ws/types.js").Host; get port(): import("@matrixai/ws/types.js").Port; start({ manifest, host, port, }: { manifest: ServerManifest; host?: string; port?: number; }): Promise; stop({ force, }?: { force?: boolean; }): Promise; setTlsConfig(tlsConfig: TLSConfig): void; } export default ClientService;