import SignalingClientObserver from '../signalingclientobserver/SignalingClientObserver' ; import { SdkClientMetricFrame , SdkDataMessageFrame , SdkPingPongFrame , } from '../signalingprotocol/SignalingProtocol.js' ; import SignalingClientConnectionRequest from './SignalingClientConnectionRequest' ; import SignalingClientJoin from './SignalingClientJoin' ; import SignalingClientSubscribe from './SignalingClientSubscribe' ; import SignalingClientVideoSubscriptionConfiguration from './SignalingClientVideoSubscriptionConfiguration' ; /**
 * [[SignalingClient]] is the top-level interface for opening a signaling connection over WebSocket.
 */ export default interface SignalingClient { param observer registerObserver ( observer ) : void ; param observer removeObserver ( observer ) : void ; param request openConnection ( request ) : void ; param pingPongFrame returns pingPong ( pingPongFrame ) : number ; param settings join ( settings ) : void ; param settings subscribe ( settings ) : void ; param addedOrUpdated param removedMids remoteVideoUpdate ? ( addedOrUpdated , removedMids ) : void ; /**
     * Sends a leave frame.
     */ leave ( ) : void ; /**
     * Sends a client stats frame.
     */ sendClientMetrics ( clientMetricFrame ) : void ; /**
     * Send a message frame to data channel
     */ sendDataMessage ( messageFrame ) : void ; /**
     * Closes any existing connection.
     *
     * Prior to closing, it delivers a WebSocketClosing event. Upon receipt of the final
     * WebSocket close event, the connection request queue is serviced. If there is no connection
     * to close, this function just services the connection request queue and returns.
     */ closeConnection ( ) : void ; param muted mute ( muted ) : void ; returns ready ( ) : boolean ; /**
     * Sends a pause frame with the given stream ids.
     */ pause ( streamIds ) : void ; /**
     * Sends a resume frame with the given stream ids.
     */ resume ( streamIds ) : void ; }