import { TwinTransport, PeerInfo, SignalingSink } from './types'; export interface FanoutSession { connect(): Promise; ingestSignalingMessage(message: any): Promise | void; close(): void; } export interface ResponderFanoutOptions { transport: TwinTransport; targetTwinId: string; channelPrefix: string; maxPeers?: number; connectTimeoutMs?: number; createSession: (peerId: string, replyToTwinId: string, onClosed: () => void, signalingSink?: SignalingSink) => FanoutSession; onPeer: (handle: H, peerId: string, info: PeerInfo) => void; onPeerClosed?: (peerId: string, error?: Error) => void; } export declare class ResponderFanout { private opts; private peers; private preOfferBuffer; private connectTimers; private messageHandler; private started; private closed; constructor(opts: ResponderFanoutOptions); start(): Promise; getPeerCount(): number; ingestExternalOffer(peerId: string, offerSdp: string): Promise; removePeer(peerId: string, error?: Error): void; close(): void; private clearConnectTimer; private onMessage; private spawnPeer; } //# sourceMappingURL=responder-fanout.d.ts.map