import { AcceptRoleChangeParams, BroadcastResponse, CreateWhiteboardResponse, findPeersRequestParams, GetSessionMetadataResponse, GetWhiteboardResponse, HLSRequestParams, HLSTimedMetadataParams, JoinLeaveGroupResponse, MultiTrackUpdateRequestParams, peerIterRequestParams, PeersIterationResponse, PollInfoGetParams, PollInfoGetResponse, PollInfoSetParams, PollInfoSetResponse, PollLeaderboardGetParams, PollLeaderboardGetResponse, PollListParams, PollListResponse, PollQuestionsGetParams, PollQuestionsGetResponse, PollQuestionsSetParams, PollQuestionsSetResponse, PollResponseSetParams, PollResponseSetResponse, PollResponsesGetParams, PollResponsesGetResponse, PollResultParams, PollResultResponse, PollStartParams, PollStartResponse, PollStopParams, PollStopResponse, RemovePeerRequest, RequestForBulkRoleChangeParams, RequestForRoleChangeParams, SetSessionMetadataParams, SetSessionMetadataResponse, StartRTMPOrRecordingRequestParams, Track, TrackUpdateRequestParams, UpdatePeerRequestParams, } from './interfaces'; import { IAnalyticsTransportProvider } from '../analytics/IAnalyticsTransportProvider'; import { HMSConnectionRole } from '../connection/model'; import { HMSMessage, HMSPermissionType, HMSWhiteboardCreateOptions } from '../interfaces'; export interface ISignal extends IAnalyticsTransportProvider { isConnected: boolean; getPongResponseTimes: () => number[]; open(uri: string): Promise; join( name: string, data: string, disableVidAutoSub: boolean, serverSubDegrade: boolean, simulcast: boolean, onDemandTracks: boolean, offer?: RTCSessionDescriptionInit, ): Promise; trickle(target: HMSConnectionRole, candidate: RTCIceCandidateInit): void; offer(desc: RTCSessionDescriptionInit, tracks: Map): Promise; answer(desc: RTCSessionDescriptionInit): void; trackUpdate(tracks: Map): void; broadcast(message: HMSMessage): Promise; leave(): void; endRoom(lock: boolean, reason: string): Promise; ping(timeout: number): Promise; requestRoleChange(params: RequestForRoleChangeParams): Promise; requestBulkRoleChange(params: RequestForBulkRoleChangeParams): Promise; acceptRoleChangeRequest(params: AcceptRoleChangeParams): Promise; requestTrackStateChange(params: TrackUpdateRequestParams): Promise; requestMultiTrackStateChange(params: MultiTrackUpdateRequestParams): Promise; removePeer(params: RemovePeerRequest): Promise; startRTMPOrRecording(params: StartRTMPOrRecordingRequestParams): Promise; stopRTMPAndRecording(): Promise; startHLSStreaming(params: HLSRequestParams): Promise; stopHLSStreaming(params?: HLSRequestParams): Promise; sendHLSTimedMetadata(params?: HLSTimedMetadataParams): Promise; updatePeer(params: UpdatePeerRequestParams): Promise; getSessionMetadata(key?: string): Promise; setSessionMetadata(params: SetSessionMetadataParams): Promise; listenMetadataChange(keys: string[]): Promise; close(): Promise; setPollInfo(params: PollInfoSetParams): Promise; getPollInfo(params: PollInfoGetParams): Promise; setPollQuestions(params: PollQuestionsSetParams): Promise; startPoll(params: PollStartParams): Promise; stopPoll(params: PollStopParams): Promise; getPollQuestions(params: PollQuestionsGetParams): Promise; setPollResponses(params: PollResponseSetParams): Promise; getPollResponses(params: PollResponsesGetParams): Promise; getPollsList(params: PollListParams): Promise; getPollResult(params: PollResultParams): Promise; fetchPollLeaderboard(params: PollLeaderboardGetParams): Promise; getWhiteboard(params: { id: string; permission?: Array }): Promise; createWhiteboard(params: HMSWhiteboardCreateOptions): Promise; joinGroup(name: string): Promise; leaveGroup(name: string): Promise; addToGroup(peerId: string, name: string): Promise; removeFromGroup(peerId: string, name: string): Promise; findPeers(params: findPeersRequestParams): Promise; peerIterNext(params: peerIterRequestParams): Promise; }