/** * Leader-side IPC server. Accepts follower connections over a Unix socket * (or Windows named pipe), performs the version handshake, pipes RPC * payloads to an `RpcServer`, and responds to heartbeats. * * Multiple followers may be connected at once; each connection gets its * own FrameDecoder + heartbeat watchdog. RpcServer is stateless w.r.t. * connections — the server just routes responses back on the connection * the call arrived on. */ import type { RpcServer } from './rpc'; export interface IpcServerOptions { socketPath: string; rpcServer: RpcServer; heartbeatIntervalMs?: number; heartbeatTimeoutMs?: number; logger?: { error?: (msg: string, err?: unknown) => void; debug?: (msg: string) => void; }; } export interface IpcServer { readonly socketPath: string; readonly connectionCount: number; close(): Promise; } export declare function startIpcServer(opts: IpcServerOptions): Promise; //# sourceMappingURL=ipc-server.d.ts.map