const UA_SYNTHETICS_EVENT_NAMES = [
  'incomingCall',
  'declinedIncomingCall',
  'failedIncomingCall',
  'availableSecondRemoteStream',
  'notAvailableSecondRemoteStream',
  'mustStopPresentation',
  'shareState',
  'enterRoom',
] as const;

export const UA_JSSIP_EVENT_NAMES = [
  'connecting',
  'connected',
  'disconnected',
  'newRTCSession',
  'registered',
  'unregistered',
  'registrationFailed',
  'newMessage',
  'sipEvent',
] as const;

export const UA_EVENT_NAMES = [...UA_JSSIP_EVENT_NAMES, ...UA_SYNTHETICS_EVENT_NAMES] as const;

const SESSION_SYNTHETICS_EVENT_NAMES = [
  'peerconnection:confirmed',
  'peerconnection:ontrack',
  'channels',
  'channels:notify',
  'ended:fromserver',
  'main-cam-control',
  'participant:added-to-list-moderators',
  'participant:removed-from-list-moderators',
] as const;

export const SESSION_JSSIP_EVENT_NAMES = [
  'ended',
  'connecting',
  'sending',
  'reinvite',
  'replaces',
  'refer',
  'progress',
  'accepted',
  'confirmed',
  'peerconnection',
  'failed',
  'muted',
  'unmuted',
  'newDTMF',
  'newInfo',
  'hold',
  'unhold',
  'update',
  'sdp',
  'icecandidate',
  'getusermediafailed',
  'peerconnection:createofferfailed',
  'peerconnection:createanswerfailed',
  'peerconnection:setlocaldescriptionfailed',
  'peerconnection:setremotedescriptionfailed',
  'presentation:start',
  'presentation:started',
  'presentation:end',
  'presentation:ended',
  'presentation:failed',
] as const;

export const SESSION_EVENT_NAMES = [
  ...SESSION_JSSIP_EVENT_NAMES,
  ...SESSION_SYNTHETICS_EVENT_NAMES,
] as const;

export type TEventUA = typeof UA_EVENT_NAMES[number];

export type TEventSession = typeof SESSION_EVENT_NAMES[number];

{'avg_line_length': 21.794871794871796, 'max_line_length': 95, 'alphanum_fraction': 0.7229411764705882, 'licenses': ['MIT'], 'repository_name': 'papamishka911/sip-connector', 'path': 'src/eventNames.ts', 'size': 1700, 'lang': 'TypeScript'}