import { ITask } from "../models"; import { ConferenceParticipant } from "../state/Conferences/ConferenceParticipant"; /** * @package * @typedef VoiceActionPayload * @property {ITask} [task] Task * @property {string} [sid] taskSid * @memberof Actions */ export interface VoiceActionPayload { task?: ITask; sid?: string; } /** * Hold Call Action Payload * * @typedef HoldCallActionPayload * @property {string} [participantCallSid] Sid of the participant within the call * @property {string} [holdMusicUrl] Request URL to fetch the hold music from * @property {string} [holdMusicMethod] Request method to fetch the hold music with * @memberof Actions */ export interface HoldCallActionPayload extends VoiceActionPayload { participantCallSid?: Pick; holdMusicUrl?: string; holdMusicMethod?: string; } /** * Unhold Call Action Payload * * @typedef UnholdCallActionPayload * @property {string} [participantCallSid] Sid of the participant within the call * @memberof Actions */ export interface UnholdCallActionPayload extends VoiceActionPayload { participantCallSid?: Pick; } export interface StartExternalWarmTransferPayload extends VoiceActionPayload { callerId: string; phoneNumber: string; } export declare class VoiceActions { static registerActions(): void; private static toggleMute; private static holdCall; private static unholdCall; private static sendTrackingTaskCompletionEvent; private static hangupCall; private static endConferenceForAll; private static startExternalWarmTransfer; private static updateVoiceActionPayload; } export declare const isValidVoiceActionPayload: (task: ITask) => (payload: any) => boolean;