/** * Core signaling types */ /** * Cleanup function returned by listener methods */ export type Binnable = () => void /** * Signaler interface for WebRTC offer/answer/ICE exchange */ export interface Signaler { addIceCandidate(candidate: RTCIceCandidate): Promise addListener(callback: (candidate: RTCIceCandidate) => void): Binnable addOfferListener(callback: (offer: RTCSessionDescriptionInit) => void): Binnable addAnswerListener(callback: (answer: RTCSessionDescriptionInit) => void): Binnable setOffer(offer: RTCSessionDescriptionInit): Promise setAnswer(answer: RTCSessionDescriptionInit): Promise }