import { TypedEvents } from 'events-constructor'; import { IncomingInfoEvent, OutgoingInfoEvent, EndEvent } from '@krivega/jssip'; import { TEffectiveQuality, TRecvQuality } from './quality'; import { TRemoteStreams, TRemoteTracksChangeType } from './types'; export declare enum Originator { LOCAL = "local", REMOTE = "remote", SYSTEM = "system" } export declare const SESSION_JSSIP_EVENT_NAMES: readonly ["peerconnection", "connecting", "sending", "progress", "accepted", "confirmed", "ended", "failed", "hold", "unhold", "muted", "unmuted", "newInfo", "newDTMF", "reinvite", "update", "refer", "replaces", "sdp", "icecandidate", "getusermediafailed", "peerconnection:createofferfailed", "peerconnection:createanswerfailed", "peerconnection:setlocaldescriptionfailed", "peerconnection:setremotedescriptionfailed"]; export declare const EVENT_NAMES: readonly ["peerconnection", "connecting", "sending", "progress", "accepted", "confirmed", "ended", "failed", "hold", "unhold", "muted", "unmuted", "newInfo", "newDTMF", "reinvite", "update", "refer", "replaces", "sdp", "icecandidate", "getusermediafailed", "peerconnection:createofferfailed", "peerconnection:createanswerfailed", "peerconnection:setlocaldescriptionfailed", "peerconnection:setremotedescriptionfailed", "start-call", "end-call", "peerconnection:confirmed", "peerconnection:ontrack", "ended:fromserver", "call-status-changed", "remote-tracks-changed", "remote-streams-changed", "recv-session-started", "recv-session-ended", "recv-quality-changed"]; export type TEventName = (typeof EVENT_NAMES)[number]; export type TEventMap = { peerconnection: { peerconnection: RTCPeerConnection; }; connecting: unknown; sending: unknown; progress: unknown; accepted: unknown; confirmed: unknown; ended: EndEvent; failed: EndEvent; newDTMF: { originator: `${Originator}`; }; newInfo: IncomingInfoEvent | OutgoingInfoEvent; hold: unknown; unhold: unknown; muted: unknown; unmuted: unknown; reinvite: unknown; update: unknown; refer: unknown; replaces: unknown; sdp: unknown; icecandidate: unknown; getusermediafailed: unknown; 'peerconnection:createofferfailed': unknown; 'peerconnection:createanswerfailed': unknown; 'peerconnection:setlocaldescriptionfailed': unknown; 'peerconnection:setremotedescriptionfailed': unknown; 'start-call': { number: string; answer: boolean; extraHeaders?: string[]; }; 'end-call': never; 'peerconnection:confirmed': RTCPeerConnection; 'peerconnection:ontrack': RTCTrackEvent; 'ended:fromserver': EndEvent; 'call-status-changed': { isCallActive: boolean; }; 'remote-tracks-changed': { streams: TRemoteStreams; changeType: TRemoteTracksChangeType; participantId: string; trackId: string; }; 'remote-streams-changed': { streams: TRemoteStreams; }; 'recv-session-started': never; 'recv-session-ended': never; 'recv-quality-changed': { effectiveQuality: TEffectiveQuality; previousQuality: TRecvQuality; quality: TRecvQuality; }; }; export type TEvents = TypedEvents; export declare const createEvents: () => TypedEvents;