@signalwire/realtime-api
Version:
SignalWire RealTime SDK for Node.js
175 lines • 11 kB
TypeScript
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