import { DuplexConnection, Payload, ReactiveSocket, Responder } from "rsocket-types"; import { PayloadSerializers } from "./RSocketSerialization"; import { Flowable } from "rsocket-flowable"; import { Leases } from "./RSocketLease"; export interface TransportServer { start: () => Flowable; stop: () => void; } export interface ServerConfig { getRequestHandler: (socket: ReactiveSocket, payload: Payload) => Partial>; serializers?: PayloadSerializers | undefined; transport: TransportServer; errorHandler?: ((e: Error) => void) | undefined; leases?: (() => Leases) | undefined; } /** * RSocketServer: A server in an RSocket connection that accepts connections * from peers via the given transport server. */ export default class RSocketServer { constructor(config: ServerConfig); start(): void; stop(): void; }