import { DuplexConnection, Frame, ISubscriber, ReactiveSocket, Responder } from "rsocket-types"; import { RequesterLeaseHandler, ResponderLeaseHandler } from "./RSocketLease"; import { PayloadSerializers } from "./RSocketSerialization"; export interface RSocketMachine extends ReactiveSocket { setRequestHandler(requestHandler?: Partial>): void; } export function createServerMachine( connection: DuplexConnection, connectionPublisher: (partialSubscriber: Partial>) => void, keepAliveTimeout: number, serializers?: PayloadSerializers, errorHandler?: (e: Error) => void, requesterLeaseHandler?: RequesterLeaseHandler, responderLeaseHandler?: ResponderLeaseHandler, ): RSocketMachine; export function createClientMachine( connection: DuplexConnection, connectionPublisher: (partialSubscriber: Partial>) => void, keepAliveTimeout: number, serializers?: PayloadSerializers, requestHandler?: Partial>, errorHandler?: (e: Error) => void, requesterLeaseHandler?: RequesterLeaseHandler, responderLeaseHandler?: ResponderLeaseHandler, ): RSocketMachine;