UNPKG

@signalwire/realtime-api

Version:
175 lines 11 kB
import type { CallReceived, CallState, PlaybackStarted, PlaybackUpdated, PlaybackEnded, PlaybackFailed, RecordingStarted, RecordingUpdated, RecordingEnded, RecordingFailed, CallPromptStarted, CallPromptUpdated, CallPromptEnded, CallPromptFailed, CallTapStarted, CallTapEnded, CallCollectStarted, CallCollectStartOfInput, CallCollectUpdated, CallCollectEnded, CallCollectFailed, VoiceCallPlayAudioMethodParams, VoiceCallPlaySilenceMethodParams, VoiceCallPlayRingtoneMethodParams, VoiceCallPlayTTSMethodParams, VoicePlaylist, VoiceCallRecordMethodParams, VoiceCallPromptTTSMethodParams, VoiceCallPromptRingtoneMethodParams, VoiceCallPromptAudioMethodParams, VoiceCallPromptMethodParams, VoiceCallCollectMethodParams, VoiceCallTapMethodParams, VoiceCallTapAudioMethodParams, CallDetectStarted, CallDetectEnded, CallDetectUpdated, VoiceCallDetectMethodParams, VoiceCallDetectMachineParams, VoiceCallDetectFaxParams, VoiceCallDetectDigitParams, VoiceDialerParams, VoiceCallDialPhoneMethodParams, VoiceCallDialSipMethodParams } from '@signalwire/core'; import type { Call } from '../voice/Call'; import type { CallPlayback } from '../voice/CallPlayback'; import type { CallRecording } from '../voice/CallRecording'; import type { CallPrompt } from '../voice/CallPrompt'; import type { CallTap } from '../voice/CallTap'; import type { CallCollect } from '../voice/CallCollect'; import type { CallDetect } from '../voice/CallDetect'; /** * Voice API */ export interface VoiceListeners { onCallReceived?: (call: Call) => unknown; } export type VoiceEvents = Record<CallReceived, (call: Call) => void>; export type VoiceListenersEventsMapping = Record<'onCallReceived', CallReceived>; export interface VoiceMethodsListeners { listen?: RealTimeCallListeners; } export type VoiceDialMethodParams = VoiceDialerParams & VoiceMethodsListeners; export type VoiceDialPhonelMethodParams = VoiceCallDialPhoneMethodParams & VoiceMethodsListeners; export type VoiceDialSipMethodParams = VoiceCallDialSipMethodParams & VoiceMethodsListeners; /** * Call API */ export interface RealTimeCallListeners { onStateChanged?: (call: Call) => unknown; onPlaybackStarted?: (playback: CallPlayback) => unknown; onPlaybackUpdated?: (playback: CallPlayback) => unknown; onPlaybackFailed?: (playback: CallPlayback) => unknown; onPlaybackEnded?: (playback: CallPlayback) => unknown; onRecordingStarted?: (recording: CallRecording) => unknown; onRecordingFailed?: (recording: CallRecording) => unknown; onRecordingEnded?: (recording: CallRecording) => unknown; onPromptStarted?: (prompt: CallPrompt) => unknown; onPromptUpdated?: (prompt: CallPrompt) => unknown; onPromptFailed?: (prompt: CallPrompt) => unknown; onPromptEnded?: (prompt: CallPrompt) => unknown; onCollectStarted?: (collect: CallCollect) => unknown; onCollectInputStarted?: (collect: CallCollect) => unknown; onCollectUpdated?: (collect: CallCollect) => unknown; onCollectFailed?: (collect: CallCollect) => unknown; onCollectEnded?: (collect: CallCollect) => unknown; onTapStarted?: (collect: CallTap) => unknown; onTapEnded?: (collect: CallTap) => unknown; onDetectStarted?: (collect: CallDetect) => unknown; onDetectUpdated?: (collect: CallDetect) => unknown; onDetectEnded?: (collect: CallDetect) => unknown; } export type RealTimeCallListenersKeys = keyof RealTimeCallListeners; export type RealTimeCallEventsHandlerMapping = Record<CallState, (call: Call) => void> & Record<PlaybackStarted | PlaybackUpdated | PlaybackEnded | PlaybackFailed, (playback: CallPlayback) => void> & Record<RecordingStarted | RecordingUpdated | RecordingEnded | RecordingFailed, (recording: CallRecording) => void> & Record<CallPromptStarted | CallPromptUpdated | CallPromptEnded | CallPromptFailed, (prompt: CallPrompt) => void> & Record<CallCollectStarted | CallCollectStartOfInput | CallCollectUpdated | CallCollectEnded | CallCollectFailed, (callCollect: CallCollect) => void> & Record<CallTapStarted | CallTapEnded, (tap: CallTap) => void> & Record<CallDetectStarted | CallDetectUpdated | CallDetectEnded, (detect: CallDetect) => void>; export type RealTimeCallEvents = { [k in keyof RealTimeCallEventsHandlerMapping]: RealTimeCallEventsHandlerMapping[k]; }; export type RealtimeCallListenersEventsMapping = Record<'onStateChanged', CallState> & Record<'onPlaybackStarted', PlaybackStarted> & Record<'onPlaybackUpdated', PlaybackUpdated> & Record<'onPlaybackFailed', PlaybackFailed> & Record<'onPlaybackEnded', PlaybackEnded> & Record<'onRecordingStarted', RecordingStarted> & Record<'onRecordingUpdated', RecordingUpdated> & Record<'onRecordingFailed', RecordingFailed> & Record<'onRecordingEnded', RecordingEnded> & Record<'onPromptStarted', CallPromptStarted> & Record<'onPromptUpdated', CallPromptUpdated> & Record<'onPromptFailed', CallPromptFailed> & Record<'onPromptEnded', CallPromptEnded> & Record<'onCollectStarted', CallCollectStarted> & Record<'onCollectInputStarted', CallCollectStartOfInput> & Record<'onCollectUpdated', CallCollectUpdated> & Record<'onCollectFailed', CallCollectFailed> & Record<'onCollectEnded', CallCollectEnded> & Record<'onTapStarted', CallTapStarted> & Record<'onTapEnded', CallTapEnded> & Record<'onDetectStarted', CallDetectStarted> & Record<'onDetectUpdated', CallDetectUpdated> & Record<'onDetectEnded', CallDetectEnded>; /** * Call Playback */ export type CallPlaybackEvents = Record<PlaybackStarted | PlaybackUpdated | PlaybackEnded | PlaybackFailed, (playback: CallPlayback) => void>; export interface CallPlaybackListeners { onStarted?: (playback: CallPlayback) => unknown; onUpdated?: (playback: CallPlayback) => unknown; onFailed?: (playback: CallPlayback) => unknown; onEnded?: (playback: CallPlayback) => unknown; } export type CallPlaybackListenersEventsMapping = Record<'onStarted', PlaybackStarted> & Record<'onUpdated', PlaybackUpdated> & Record<'onFailed', PlaybackFailed> & Record<'onEnded', PlaybackEnded>; export interface CallPlayMethodParams { playlist: VoicePlaylist; listen?: CallPlaybackListeners; } export interface CallPlayAudioMethodarams extends VoiceCallPlayAudioMethodParams { listen?: CallPlaybackListeners; } export interface CallPlaySilenceMethodParams extends VoiceCallPlaySilenceMethodParams { listen?: CallPlaybackListeners; } export interface CallPlayRingtoneMethodParams extends VoiceCallPlayRingtoneMethodParams { listen?: CallPlaybackListeners; } export interface CallPlayTTSMethodParams extends VoiceCallPlayTTSMethodParams { listen?: CallPlaybackListeners; } /** * Call Recording */ export type CallRecordingEvents = Record<RecordingStarted | RecordingUpdated | RecordingEnded | RecordingFailed, (recording: CallRecording) => void>; export interface CallRecordingListeners { onStarted?: (recording: CallRecording) => unknown; onUpdated?: (recording: CallRecording) => unknown; onFailed?: (recording: CallRecording) => unknown; onEnded?: (recording: CallRecording) => unknown; } export type CallRecordingListenersEventsMapping = Record<'onStarted', RecordingStarted> & Record<'onUpdated', RecordingUpdated> & Record<'onFailed', RecordingFailed> & Record<'onEnded', RecordingEnded>; export interface CallRecordMethodParams extends VoiceCallRecordMethodParams { listen?: CallRecordingListeners; } export type CallRecordAudioMethodParams = VoiceCallRecordMethodParams['audio'] & { listen?: CallRecordingListeners; }; /** * Call Prompt */ export type CallPromptEvents = Record<CallPromptStarted | CallPromptUpdated | CallPromptEnded | CallPromptFailed, (prompt: CallPrompt) => void>; export interface CallPromptListeners { onStarted?: (prompt: CallPrompt) => unknown; onUpdated?: (prompt: CallPrompt) => unknown; onFailed?: (prompt: CallPrompt) => unknown; onEnded?: (prompt: CallPrompt) => unknown; } export type CallPromptListenersEventsMapping = Record<'onStarted', CallPromptStarted> & Record<'onUpdated', CallPromptUpdated> & Record<'onFailed', CallPromptFailed> & Record<'onEnded', CallPromptEnded>; export type CallPromptMethodParams = VoiceCallPromptMethodParams & { listen?: CallPromptListeners; }; export type CallPromptAudioMethodParams = VoiceCallPromptAudioMethodParams & { listen?: CallPromptListeners; }; export type CallPromptRingtoneMethodParams = VoiceCallPromptRingtoneMethodParams & { listen?: CallPromptListeners; }; export type CallPromptTTSMethodParams = VoiceCallPromptTTSMethodParams & { listen?: CallPromptListeners; }; /** * Call Collect */ export type CallCollectEvents = Record<CallCollectStarted | CallCollectStartOfInput | CallCollectUpdated | CallCollectEnded | CallCollectFailed, (collect: CallCollect) => void>; export interface CallCollectListeners { onStarted?: (collect: CallCollect) => unknown; onInputStarted?: (collect: CallCollect) => unknown; onUpdated?: (collect: CallCollect) => unknown; onFailed?: (collect: CallCollect) => unknown; onEnded?: (collect: CallCollect) => unknown; } export type CallCollectListenersEventsMapping = Record<'onStarted', CallCollectStarted> & Record<'onInputStarted', CallCollectStartOfInput> & Record<'onUpdated', CallCollectUpdated> & Record<'onFailed', CallCollectFailed> & Record<'onEnded', CallCollectEnded>; export type CallCollectMethodParams = VoiceCallCollectMethodParams & { listen?: CallCollectListeners; }; /** * Call Tap */ export type CallTapEvents = Record<CallTapStarted | CallTapEnded, (tap: CallTap) => void>; export interface CallTapListeners { onStarted?: (tap: CallTap) => unknown; onEnded?: (tap: CallTap) => unknown; } export type CallTapListenersEventsMapping = Record<'onStarted', CallTapStarted> & Record<'onEnded', CallTapEnded>; export type CallTapMethodParams = VoiceCallTapMethodParams & { listen?: CallTapListeners; }; export type CallTapAudioMethodParams = VoiceCallTapAudioMethodParams & { listen?: CallTapListeners; }; /** * Call Detect */ export type CallDetectEvents = Record<CallDetectStarted | CallDetectUpdated | CallDetectEnded, (tap: CallDetect) => void>; export interface CallDetectListeners { onStarted?: (detect: CallDetect) => unknown; onUpdated?: (detect: CallDetect) => unknown; onEnded?: (detect: CallDetect) => unknown; } export type CallDetectListenersEventsMapping = Record<'onStarted', CallDetectStarted> & Record<'onUpdated', CallDetectUpdated> & Record<'onEnded', CallDetectEnded>; export type CallDetectMethodParams = VoiceCallDetectMethodParams & { listen?: CallDetectListeners; }; export interface CallDetectMachineParams extends Omit<VoiceCallDetectMachineParams, 'type'> { listen?: CallDetectListeners; } export interface CallDetectFaxParams extends Omit<VoiceCallDetectFaxParams, 'type'> { listen?: CallDetectListeners; } export interface CallDetectDigitParams extends Omit<VoiceCallDetectDigitParams, 'type'> { listen?: CallDetectListeners; } //# sourceMappingURL=voice.d.ts.map