import * as coreClient from "@azure/core-client";
export type MediaStreamingOptionsInternalUnion = MediaStreamingOptionsInternal | WebSocketMediaStreamingOptions;
export type TranscriptionOptionsInternalUnion = TranscriptionOptionsInternal | WebSocketTranscriptionOptions;
/** The request payload for creating the call. */
export interface CreateCallRequest {
    /** The targets of the call. */
    targets: CommunicationIdentifierModel[];
    /**
     * The source caller Id, a phone number, that's shown to the PSTN participant being invited.
     * Required only when calling a PSTN callee.
     */
    sourceCallerIdNumber?: PhoneNumberIdentifierModel;
    /** Display name of the call if dialing out to a pstn number */
    sourceDisplayName?: string;
    /** The identifier of the source of the call */
    source?: CommunicationUserIdentifierModel;
    /** A customer set value used to track the answering of a call. */
    operationContext?: string;
    /** The callback URI. */
    callbackUri: string;
    /** AI options for the call. */
    callIntelligenceOptions?: CallIntelligenceOptionsInternal;
    /** Media Streaming Options. */
    mediaStreamingOptions?: MediaStreamingOptionsInternalUnion;
    /** Transcription Options. */
    transcriptionOptions?: TranscriptionOptionsInternalUnion;
}
/** Identifies a participant in Azure Communication services. A participant is, for example, a phone number or an Azure communication user. This model is polymorphic: Apart from kind and rawId, at most one further property may be set which must match the kind enum value. */
export interface CommunicationIdentifierModel {
    /** The identifier kind. Only required in responses. */
    kind?: CommunicationIdentifierModelKind;
    /** Raw Id of the identifier. Optional in requests, required in responses. */
    rawId?: string;
    /** The communication user. */
    communicationUser?: CommunicationUserIdentifierModel;
    /** The phone number. */
    phoneNumber?: PhoneNumberIdentifierModel;
    /** The Microsoft Teams user. */
    microsoftTeamsUser?: MicrosoftTeamsUserIdentifierModel;
    /** The Microsoft Teams application. */
    microsoftTeamsApp?: MicrosoftTeamsAppIdentifierModel;
}
/** A user that got created with an Azure Communication Services resource. */
export interface CommunicationUserIdentifierModel {
    /** The Id of the communication user. */
    id: string;
}
/** A phone number. */
export interface PhoneNumberIdentifierModel {
    /** The phone number in E.164 format. */
    value: string;
}
/** A Microsoft Teams user. */
export interface MicrosoftTeamsUserIdentifierModel {
    /** The Id of the Microsoft Teams user. If not anonymous, this is the AAD object Id of the user. */
    userId: string;
    /** True if the Microsoft Teams user is anonymous. By default false if missing. */
    isAnonymous?: boolean;
    /** The cloud that the Microsoft Teams user belongs to. By default 'public' if missing. */
    cloud?: CommunicationCloudEnvironmentModel;
}
/** A Microsoft Teams application. */
export interface MicrosoftTeamsAppIdentifierModel {
    /** The Id of the Microsoft Teams application. */
    appId: string;
    /** The cloud that the Microsoft Teams application belongs to. By default 'public' if missing. */
    cloud?: CommunicationCloudEnvironmentModel;
}
/** AI options for the call. */
export interface CallIntelligenceOptionsInternal {
    /** The identifier of the Cognitive Service resource assigned to this call. */
    cognitiveServicesEndpoint?: string;
}
/** Options for media streaming. */
export interface MediaStreamingOptionsInternal {
    /** Polymorphic discriminator, which specifies the different types this object can be */
    transportType: "websocket";
    /** The audio channel type to stream, e.g., unmixed audio, mixed audio. */
    audioChannelType: MediaStreamingAudioChannelType;
}
/** Options for live transcription. */
export interface TranscriptionOptionsInternal {
    /** Polymorphic discriminator, which specifies the different types this object can be */
    transportType: "websocket";
    /** Specifies the Locale used for transcription, e.g., en-CA or en-AU. */
    locale: string;
}
/** Properties of a call connection */
export interface CallConnectionPropertiesInternal {
    /** The call connection id. */
    callConnectionId?: string;
    /** The server call id. */
    serverCallId?: string;
    /** The targets of the call. */
    targets?: CommunicationIdentifierModel[];
    /** The state of the call connection. */
    callConnectionState?: CallConnectionStateModel;
    /** The callback URI. */
    callbackUri?: string;
    /**
     * The source caller Id, a phone number, that's shown to the PSTN participant being invited.
     * Required only when calling a PSTN callee.
     */
    sourceCallerIdNumber?: PhoneNumberIdentifierModel;
    /** Display name of the call if dialing out to a pstn number. */
    sourceDisplayName?: string;
    /** Source identity. */
    source?: CommunicationIdentifierModel;
    /** The correlation ID. */
    correlationId?: string;
    /** Identity of the answering entity. Only populated when identity is provided in the request. */
    answeredBy?: CommunicationUserIdentifierModel;
    /** The state of media streaming subscription for the call */
    mediaStreamingSubscription?: MediaStreamingSubscription;
    /** Transcription Subscription. */
    transcriptionSubscription?: TranscriptionSubscription;
    /** Identity of the original Pstn target of an incoming Call. Only populated when the original target is a Pstn number. */
    answeredFor?: PhoneNumberIdentifierModel;
}
/** Media streaming Subscription Object. */
export interface MediaStreamingSubscription {
    /** Subscription Id. */
    id?: string;
    /** Media streaming subscription state. */
    state?: MediaStreamingSubscriptionState;
    /** Subscribed media streaming content types. */
    subscribedContentTypes?: MediaStreamingContentType[];
}
/** Transcription Subscription Object. */
export interface TranscriptionSubscription {
    /** Subscription Id. */
    id?: string;
    /** Transcription subscription state. */
    state?: TranscriptionSubscriptionState;
    /** Subscribed transcription result types. */
    subscribedResultStates?: TranscriptionResultState[];
    /** Specifies the locale used for transcription, e.g., en-CA or en-AU. */
    locale?: string;
}
/** The Communication Services error. */
export interface CommunicationErrorResponse {
    /** The Communication Services error. */
    error: CommunicationError;
}
/** The Communication Services error. */
export interface CommunicationError {
    /** The error code. */
    code: string;
    /** The error message. */
    message: string;
    /**
     * The error target.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly target?: string;
    /**
     * Further details about specific errors that led to this error.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly details?: CommunicationError[];
    /**
     * The inner error if any.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly innerError?: CommunicationError;
}
/** The request payload for answering the call. */
export interface AnswerCallRequest {
    /** The context associated with the call. */
    incomingCallContext: string;
    /** The callback uri. */
    callbackUri: string;
    /** A customer set value used to track the answering of a call. */
    operationContext?: string;
    /** AI options for the call. */
    callIntelligenceOptions?: CallIntelligenceOptionsInternal;
    /** The identifier of the call automation entity which answers the call */
    answeredBy?: CommunicationUserIdentifierModel;
    /** Media Streaming Options. */
    mediaStreamingOptions?: MediaStreamingOptionsInternalUnion;
    /** Transcription Options. */
    transcriptionOptions?: TranscriptionOptionsInternalUnion;
}
/** The request payload for redirecting the call. */
export interface RedirectCallRequest {
    /** The context associated with the call. */
    incomingCallContext: string;
    /** The target identity to redirect the call to. */
    target: CommunicationIdentifierModel;
}
/** The request payload for rejecting the call. */
export interface RejectCallRequest {
    /** The context associated with the call. */
    incomingCallContext: string;
    /** The rejection reason. */
    callRejectReason?: CallRejectReason;
}
/** The request payload for creating a connection to a CallLocator. */
export interface ConnectRequest {
    /** The call locator. */
    callLocator: CallLocator;
    /** The callback URI. */
    callbackUri: string;
    /** Used by customers to correlate the request to the response event. */
    operationContext?: string;
    /** AI options for the call. */
    callIntelligenceOptions?: CallIntelligenceOptionsInternal;
    /** Media Streaming Options. */
    mediaStreamingOptions?: MediaStreamingOptionsInternalUnion;
    /** Transcription Options. */
    transcriptionOptions?: TranscriptionOptionsInternalUnion;
}
/** The locator used for joining or taking action on a call */
export interface CallLocator {
    /** The group call id */
    groupCallId?: string;
    /** The server call id. */
    serverCallId?: string;
    /** The Acs room id. (Not supported for Start Recording) */
    roomId?: string;
    /** The call locator kind. */
    kind?: CallLocatorKind;
}
/** The request payload for transferring call to a participant. */
export interface TransferToParticipantRequest {
    /** The identity of the target where call should be transferred to. */
    targetParticipant: CommunicationIdentifierModel;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Transferee is the participant who is transferred away. */
    transferee?: CommunicationIdentifierModel;
    /**
     * Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
     * This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
     */
    operationCallbackUri?: string;
    /** Used by customer to send custom calling context to targets */
    customCallingContext?: CustomCallingContextInternal;
    /** The source caller Id, a phone number, that will be used as the transferor's caller Id when transferring a call to a Pstn target. */
    sourceCallerIdNumber?: PhoneNumberIdentifierModel;
}
/** The custom calling context which will be sent to the target */
export interface CustomCallingContextInternal {
    /** Custom calling context VoiP headers */
    voipHeaders?: {
        [propertyName: string]: string;
    };
    /** Custom calling context SIP headers */
    sipHeaders?: {
        [propertyName: string]: string;
    };
}
/** The response payload for transferring the call. */
export interface TransferCallResponse {
    /** The operation context provided by client. */
    operationContext?: string;
}
export interface PlayRequest {
    /** The source of the audio to be played. */
    playSources: PlaySourceInternal[];
    /**
     * The list of call participants play provided audio to.
     * Plays to everyone in the call when not provided.
     */
    playTo?: CommunicationIdentifierModel[];
    /** If set play can barge into other existing queued-up/currently-processing requests. */
    interruptCallMediaOperation?: boolean;
    /** Defines options for playing the audio. */
    playOptions?: PlayOptionsInternal;
    /** The value to identify context of the operation. */
    operationContext?: string;
    /**
     * Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
     * This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
     */
    operationCallbackUri?: string;
}
export interface PlaySourceInternal {
    /** Defines the type of the play source */
    kind: PlaySourceType;
    /** Defines the identifier to be used for caching related media */
    playSourceCacheId?: string;
    /** Defines the file source info to be used for play */
    file?: FileSourceInternal;
    /** Defines the text source info to be used for play */
    text?: TextSourceInternal;
    /** Defines the ssml(Speech Synthesis Markup Language) source info to be used for play */
    ssml?: SsmlSourceInternal;
}
export interface FileSourceInternal {
    /** Uri for the audio file to be played */
    uri: string;
}
export interface TextSourceInternal {
    /** Text for the cognitive service to be played */
    text: string;
    /**
     * Source language locale to be played
     * Refer to available locales here: <seealso href="https://learn.microsoft.com/en-us/azure/cognitive-services/speech-service/language-support?tabs=stt-tts" />
     */
    sourceLocale?: string;
    /** Voice kind type */
    voiceKind?: VoiceKind;
    /**
     * Voice name to be played
     * Refer to available Text-to-speech voices here: <seealso href="https://learn.microsoft.com/en-us/azure/cognitive-services/speech-service/language-support?tabs=stt-tts" />
     */
    voiceName?: string;
    /** Endpoint where the custom voice was deployed. */
    customVoiceEndpointId?: string;
}
export interface SsmlSourceInternal {
    /** Ssml string for the cognitive service to be played */
    ssmlText: string;
    /** Endpoint where the custom voice was deployed. */
    customVoiceEndpointId?: string;
}
export interface PlayOptionsInternal {
    /** The option to play the provided audio source in loop when set to true */
    loop: boolean;
}
export interface StartTranscriptionRequest {
    /** Specifies the Locale used for transcription, e.g., en-CA or en-AU. */
    locale?: string;
    /** The ID of the deployed custom model in GUID format. The GUID is generated by Azure Speech Studio, e.g., a259c255-1cdw-4ed7-a693-dd58563b6f6a. */
    speechModelEndpointId?: string;
    /** The value to identify context of the operation. */
    operationContext?: string;
    /**
     * Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
     * This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
     */
    operationCallbackUri?: string;
}
export interface StopTranscriptionRequest {
    /** The value to identify context of the operation. */
    operationContext?: string;
    /**
     * Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
     * This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
     */
    operationCallbackUri?: string;
}
export interface UpdateTranscriptionRequest {
    /** Specifies the Locale used for transcription, e.g., en-CA or en-AU. */
    locale?: string;
    /** The ID of the deployed custom model, in GUID format, e.g., a259c255-1cdw-4ed7-a693-dd58563b6f6a. */
    speechModelEndpointId?: string;
    /** The value to identify context of the operation. */
    operationContext?: string;
    /**
     * Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
     * This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
     */
    operationCallbackUri?: string;
}
export interface RecognizeRequest {
    /** Determines the type of the recognition. */
    recognizeInputType: RecognizeInputType;
    /** The source of the audio to be played for recognition. */
    playPrompt?: PlaySourceInternal;
    /** The source of the audio to be played for recognition. */
    playPrompts?: PlaySourceInternal[];
    /** If set recognize can barge into other existing queued-up/currently-processing requests. */
    interruptCallMediaOperation?: boolean;
    /** Defines options for recognition. */
    recognizeOptions: RecognizeOptions;
    /** The value to identify context of the operation. */
    operationContext?: string;
    /**
     * Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
     * This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
     */
    operationCallbackUri?: string;
}
export interface RecognizeOptions {
    /** Determines if we interrupt the prompt and start recognizing. */
    interruptPrompt?: boolean;
    /** Time to wait for first input after prompt (if any). */
    initialSilenceTimeoutInSeconds?: number;
    /** Target participant of DTMF tone recognition. */
    targetParticipant: CommunicationIdentifierModel;
    /** Speech language to be recognized, If not set default is en-US */
    speechLanguage?: string;
    /** Endpoint where the custom model was deployed. */
    speechRecognitionModelEndpointId?: string;
    /** Defines configurations for DTMF. */
    dtmfOptions?: DtmfOptions;
    /** Defines Ivr choices for recognize. */
    choices?: Choice[];
    /** Defines continuous speech recognition option. */
    speechOptions?: SpeechOptions;
}
/** Options for DTMF recognition */
export interface DtmfOptions {
    /** Time to wait between DTMF inputs to stop recognizing. */
    interToneTimeoutInSeconds?: number;
    /** Maximum number of DTMF tones to be collected. */
    maxTonesToCollect?: number;
    /** List of tones that will stop recognizing. */
    stopTones?: Tone[];
}
export interface Choice {
    /** Identifier for a given choice */
    label: string;
    /** List of phrases to recognize */
    phrases: string[];
    tone?: Tone;
}
/** Options for continuous speech recognition */
export interface SpeechOptions {
    /** The length of end silence when user stops speaking and cogservice send response. */
    endSilenceTimeoutInMs?: number;
}
export interface ContinuousDtmfRecognitionRequest {
    /** Defines options for recognition. */
    targetParticipant: CommunicationIdentifierModel;
    /** The value to identify context of the operation. */
    operationContext?: string;
    /**
     * Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
     * This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
     */
    operationCallbackUri?: string;
}
export interface SendDtmfTonesRequest {
    /** List of tones to be sent to target participant. */
    tones: Tone[];
    /** Target participant of send Dtmf tones. */
    targetParticipant: CommunicationIdentifierModel;
    /** The value to identify context of the operation. */
    operationContext?: string;
    /**
     * Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
     * This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
     */
    operationCallbackUri?: string;
}
export interface SendDtmfTonesResult {
    /** The operation context provided by client. */
    operationContext?: string;
}
/** The request payload for holding participant from the call. */
export interface HoldRequest {
    /** Participant to be held from the call. */
    targetParticipant: CommunicationIdentifierModel;
    /** Prompt to play while in hold. */
    playSourceInfo?: PlaySourceInternal;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /**
     * Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
     * This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
     */
    operationCallbackUri?: string;
}
/** The request payload for holding participant from the call. */
export interface UnholdRequest {
    /**
     * Participants to be hold from the call.
     * Only ACS Users are supported.
     */
    targetParticipant: CommunicationIdentifierModel;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /**
     * Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
     * This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
     */
    operationCallbackUri?: string;
}
export interface StartMediaStreamingRequest {
    /**
     * Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
     * This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
     */
    operationCallbackUri?: string;
    /** The value to identify context of the operation. */
    operationContext?: string;
}
export interface StopMediaStreamingRequest {
    /**
     * Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
     * This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
     */
    operationCallbackUri?: string;
    /** The value to identify context of the operation. */
    operationContext?: string;
}
/** The response payload for getting participants of the call. */
export interface GetParticipantsResponse {
    /** List of the current participants in the call. */
    value: CallParticipantInternal[];
    /** Continue of the list of participants */
    nextLink?: string;
}
/** A call participant. */
export interface CallParticipantInternal {
    /** Communication identifier of the participant */
    identifier?: CommunicationIdentifierModel;
    /** Is participant muted */
    isMuted?: boolean;
    /** Is participant on hold. */
    isOnHold?: boolean;
}
/** The request payload for adding participant to the call. */
export interface AddParticipantRequest {
    /**
     * The source caller Id, a phone number, that's shown to the PSTN participant being invited.
     * Required only when inviting a PSTN participant.
     */
    sourceCallerIdNumber?: PhoneNumberIdentifierModel;
    /**
     * (Optional) The display name of the source that is associated with this invite operation when
     * adding a PSTN participant or teams user.  Note: Will not update the display name in the roster.
     */
    sourceDisplayName?: string;
    /** The participant to invite. */
    participantToAdd: CommunicationIdentifierModel;
    /**
     * Gets or sets the timeout to wait for the invited participant to pickup.
     * The maximum value of this is 180 seconds
     */
    invitationTimeoutInSeconds?: number;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /**
     * Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
     * This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
     */
    operationCallbackUri?: string;
    /** Used by customer to send custom calling context to targets */
    customCallingContext?: CustomCallingContextInternal;
}
/** The response payload for adding participants to the call. */
export interface AddParticipantResponse {
    /** List of current participants in the call. */
    participant?: CallParticipantInternal;
    /** The operation context provided by client. */
    operationContext?: string;
    /** Invitation ID used to add a participant. */
    invitationId?: string;
}
/** The remove participant by identifier request. */
export interface RemoveParticipantRequest {
    /** The participants to be removed from the call. */
    participantToRemove: CommunicationIdentifierModel;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /**
     * Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
     * This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
     */
    operationCallbackUri?: string;
}
/** The response payload for removing participants of the call. */
export interface RemoveParticipantResponse {
    /** The operation context provided by client. */
    operationContext?: string;
}
/** The request payload for muting participants from the call. */
export interface MuteParticipantsRequest {
    /**
     * Participants to be muted from the call.
     * Only ACS Users are supported.
     */
    targetParticipants: CommunicationIdentifierModel[];
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
}
/** The result payload for muting participants from the call. */
export interface MuteParticipantsResult {
    /** The operation context provided by client. */
    operationContext?: string;
}
/** Request payload for cancelling add participant request. */
export interface CancelAddParticipantRequest {
    /** Invitation ID used to add a participant. */
    invitationId: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /**
     * Set a callback URI that overrides the default callback URI set by CreateCall/AnswerCall for this operation.
     * This setup is per-action. If this is not set, the default callback URI set by CreateCall/AnswerCall will be used.
     */
    operationCallbackUri?: string;
}
/** Response payload for cancel add participant request. */
export interface CancelAddParticipantResponse {
    /** Invitation ID used to cancel the add participant action. */
    invitationId?: string;
    /** The operation context provided by client. */
    operationContext?: string;
}
/** The request payload start for call recording operation with call locator. */
export interface StartCallRecordingRequest {
    /** The call locator. */
    callLocator: CallLocator;
    /** The uri to send notifications to. */
    recordingStateCallbackUri?: string;
    /** The content type of call recording. */
    recordingContentType?: RecordingContentType;
    /** The channel type of call recording. */
    recordingChannelType?: RecordingChannelType;
    /** The format type of call recording. */
    recordingFormatType?: RecordingFormatType;
    /**
     * The sequential order in which audio channels are assigned to participants in the unmixed recording.
     * When 'recordingChannelType' is set to 'unmixed' and `audioChannelParticipantOrdering is not specified,
     * the audio channel to participant mapping will be automatically assigned based on the order in which participant
     * first audio was detected.  Channel to participant mapping details can be found in the metadata of the recording.
     */
    audioChannelParticipantOrdering?: CommunicationIdentifierModel[];
    /**
     * The channel affinity of call recording
     * When 'recordingChannelType' is set to 'unmixed', if channelAffinity is not specified, 'channel' will be automatically assigned.
     * Channel-Participant mapping details can be found in the metadata of the recording.
     * ///
     */
    channelAffinity?: ChannelAffinity[];
    /** When set to true will start recording in Pause mode, which can be resumed. */
    pauseOnStart?: boolean;
    /** Optional property to specify location where recording will be stored */
    recordingStorage?: RecordingStorage;
}
/** Channel affinity for a participant */
export interface ChannelAffinity {
    /** Channel number to which bitstream from a particular participant will be written. */
    channel?: number;
    /**
     * The identifier for the participant whose bitstream will be written to the channel
     * represented by the channel number.
     */
    participant: CommunicationIdentifierModel;
}
export interface RecordingStorage {
    /** Defines the kind of external storage */
    recordingStorageKind: RecordingStorageKind;
    /** Uri of a container or a location within a container */
    recordingDestinationContainerUrl?: string;
}
export interface RecordingStateResponse {
    recordingId?: string;
    recordingState?: RecordingState;
    recordingKind?: RecordingKind;
}
/** The failed to add participants event. */
export interface AddParticipantFailed {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
    /** Participant */
    participant?: CommunicationIdentifierModel;
}
export interface ResultInformation {
    /** Code of the current result. This can be helpful to Call Automation team to troubleshoot the issue if this result was unexpected. */
    code?: number;
    /** Subcode of the current result. This can be helpful to Call Automation team to troubleshoot the issue if this result was unexpected. */
    subCode?: number;
    /** Detail message that describes the current result. */
    message?: string;
}
/** The participants successfully added event. */
export interface AddParticipantSucceeded {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
    /** Participant */
    participant?: CommunicationIdentifierModel;
}
/** The call connected event. */
export interface CallConnected {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
/** The call disconnected event. */
export interface CallDisconnected {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
/** The call transfer accepted event. */
export interface CallTransferAccepted {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
    /** Target who the call is transferred to. */
    transferTarget?: CommunicationIdentifierModel;
    /** the participant who is being transferred away. */
    transferee?: CommunicationIdentifierModel;
}
/** The call transfer failed event. */
export interface CallTransferFailed {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
/** The participants updated in a call event. */
export interface ParticipantsUpdated {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** The Sequence Number of the event */
    sequenceNumber?: number;
    /** The list of participants in the call. */
    participants?: CallParticipantInternal[];
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
/** The participant removed event. */
export interface RemoveParticipantSucceeded {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
    /** Participant */
    participant?: CommunicationIdentifierModel;
}
/** The failed to remove participant event. */
export interface RemoveParticipantFailed {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
    /** Participant */
    participant?: CommunicationIdentifierModel;
}
/** Successful cancel add participant event. */
export interface CancelAddParticipantSucceeded {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Invitation ID used to cancel the request. */
    invitationId?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
/** Failed cancel add participant event. */
export interface CancelAddParticipantFailed {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
    /** Invitation ID used to cancel the request. */
    invitationId?: string;
}
/** The failed to answer call event. */
export interface AnswerFailed {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
/** The create call failed event. */
export interface CreateCallFailed {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
/** The ConnectFailed event. */
export interface ConnectFailed {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface RecordingStateChanged {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /**
     * The call recording id
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly recordingId?: string;
    state?: RecordingState;
    /**
     * The time of the recording started
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly startDateTime?: Date;
    recordingKind?: RecordingKind;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
/** Play started event. */
export interface PlayStarted {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface PlayCompleted {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface PlayFailed {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
    /** Contains the index of the failed play source. */
    failedPlaySourceIndex?: number;
}
export interface PlayCanceled {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface RecognizeCompleted {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
    /**
     * Determines the sub-type of the recognize operation.
     * In case of cancel operation the this field is not set and is returned empty
     */
    recognitionType?: RecognitionType;
    /** Defines the result for RecognitionType = Dtmf */
    dtmfResult?: DtmfResult;
    /** Defines the result for RecognitionType = Choices */
    choiceResult?: ChoiceResult;
    /**
     * Defines the result for RecognitionType = Speech and SpeechOrDtmf
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly speechResult?: SpeechResult;
}
export interface DtmfResult {
    /** NOTE: This property will not be serialized. It can only be populated by the server. */
    readonly tones?: Tone[];
}
export interface ChoiceResult {
    /** Label is the primary identifier for the choice detected */
    label?: string;
    /**
     * Phrases are set to the value if choice is selected via phrase detection.
     * If Dtmf input is recognized, then Label will be the identifier for the choice detected and phrases will be set to null
     */
    recognizedPhrase?: string;
    /** The confidence level of the recognized speech, if available, ranges from 0.0 to 1.0 */
    confidence?: number;
}
/** The speech status as a result. */
export interface SpeechResult {
    /** The recognized speech in string. */
    speech?: string;
    /** The confidence level of the recognized speech, if available, ranges from 0.0 to 1.0. */
    confidence?: number;
}
export interface RecognizeFailed {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
    /** Contains the index of the failed play source. */
    failedPlaySourceIndex?: number;
}
export interface RecognizeCanceled {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface ContinuousDtmfRecognitionToneFailed {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
}
export interface ContinuousDtmfRecognitionToneReceived {
    /**
     * The sequence id which can be used to determine if the same tone was played multiple times or if any tones were missed.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly sequenceId?: number;
    tone?: Tone;
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface ContinuousDtmfRecognitionStopped {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface SendDtmfTonesCompleted {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface SendDtmfTonesFailed {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface MediaStreamingFailed {
    /**
     * Defines the result for MediaStreamingUpdate with the current status and the details about the status
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly mediaStreamingUpdate?: MediaStreamingUpdate;
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface MediaStreamingUpdate {
    contentType?: string;
    mediaStreamingStatus?: MediaStreamingStatus;
    mediaStreamingStatusDetails?: MediaStreamingStatusDetails;
}
export interface MediaStreamingStarted {
    /**
     * Defines the result for MediaStreamingUpdate with the current status and the details about the status
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly mediaStreamingUpdate?: MediaStreamingUpdate;
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface MediaStreamingStopped {
    /**
     * Defines the result for MediaStreamingUpdate with the current status and the details about the status
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly mediaStreamingUpdate?: MediaStreamingUpdate;
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface HoldFailed {
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface TranscriptionFailed {
    /**
     * Defines the result for TranscriptionUpdate with the current status and the details about the status
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly transcriptionUpdate?: TranscriptionUpdate;
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface TranscriptionUpdate {
    transcriptionStatus?: TranscriptionStatus;
    transcriptionStatusDetails?: TranscriptionStatusDetails;
}
export interface TranscriptionStarted {
    /**
     * Defines the result for TranscriptionUpdate with the current status and the details about the status
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly transcriptionUpdate?: TranscriptionUpdate;
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface TranscriptionStopped {
    /**
     * Defines the result for TranscriptionUpdate with the current status and the details about the status
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly transcriptionUpdate?: TranscriptionUpdate;
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
export interface TranscriptionUpdated {
    /**
     * Defines the result for TranscriptionUpdate with the current status and the details about the status
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly transcriptionUpdate?: TranscriptionUpdate;
    /** Call connection ID. */
    callConnectionId?: string;
    /** Server call ID. */
    serverCallId?: string;
    /** Correlation ID for event to call correlation. Also called ChainId for skype chain ID. */
    correlationId?: string;
    /** Used by customers when calling mid-call actions to correlate the request to the response event. */
    operationContext?: string;
    /** Contains the resulting SIP code, sub-code and message. */
    resultInformation?: ResultInformation;
}
/** Represents the options for WebSocket transport. */
export interface WebSocketMediaStreamingOptions extends MediaStreamingOptionsInternal {
    /** Polymorphic discriminator, which specifies the different types this object can be */
    transportType: "websocket";
    /** The transport URL for media streaming. */
    transportUrl?: string;
    contentType?: MediaStreamingContentType;
    /** A value indicating whether the media streaming should start immediately after the call is answered. */
    startMediaStreaming?: boolean;
    /** A value indicating whether bidirectional streaming is enabled. */
    enableBidirectional?: boolean;
    /** The audio format used for encoding, including sample rate and channel type. The default is Pcm16KMono. */
    audioFormat?: AudioFormat;
    /** A value that indicates whether to stream the DTMF tones. */
    enableDtmfTones?: boolean;
}
/** Represents the options for WebSocket transport. */
export interface WebSocketTranscriptionOptions extends TranscriptionOptionsInternal {
    /** Polymorphic discriminator, which specifies the different types this object can be */
    transportType: "websocket";
    /** The URL used for live transcription transport. */
    transportUrl?: string;
    /** The ID of the deployed custom model in GUID format. The GUID is generated by Azure Speech Studio, e.g., a259c255-1cdw-4ed7-a693-dd58563b6f6a. */
    speechModelEndpointId?: string;
    /** Indicates whether the transcription should start immediately after the call is answered. */
    startTranscription?: boolean;
    /** Enables intermediate results for the transcribed speech. */
    enableIntermediateResults?: boolean;
}
/** Known values of {@link CommunicationIdentifierModelKind} that the service accepts. */
export declare enum KnownCommunicationIdentifierModelKind {
    /** Unknown */
    Unknown = "unknown",
    /** CommunicationUser */
    CommunicationUser = "communicationUser",
    /** PhoneNumber */
    PhoneNumber = "phoneNumber",
    /** MicrosoftTeamsUser */
    MicrosoftTeamsUser = "microsoftTeamsUser",
    /** MicrosoftTeamsApp */
    MicrosoftTeamsApp = "microsoftTeamsApp"
}
/**
 * Defines values for CommunicationIdentifierModelKind. \
 * {@link KnownCommunicationIdentifierModelKind} can be used interchangeably with CommunicationIdentifierModelKind,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **unknown** \
 * **communicationUser** \
 * **phoneNumber** \
 * **microsoftTeamsUser** \
 * **microsoftTeamsApp**
 */
export type CommunicationIdentifierModelKind = string;
/** Known values of {@link CommunicationCloudEnvironmentModel} that the service accepts. */
export declare enum KnownCommunicationCloudEnvironmentModel {
    /** Public */
    Public = "public",
    /** Dod */
    Dod = "dod",
    /** Gcch */
    Gcch = "gcch"
}
/**
 * Defines values for CommunicationCloudEnvironmentModel. \
 * {@link KnownCommunicationCloudEnvironmentModel} can be used interchangeably with CommunicationCloudEnvironmentModel,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **public** \
 * **dod** \
 * **gcch**
 */
export type CommunicationCloudEnvironmentModel = string;
/** Known values of {@link StreamingTransportType} that the service accepts. */
export declare enum KnownStreamingTransportType {
    /** Websocket */
    Websocket = "websocket"
}
/**
 * Defines values for StreamingTransportType. \
 * {@link KnownStreamingTransportType} can be used interchangeably with StreamingTransportType,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **websocket**
 */
export type StreamingTransportType = string;
/** Known values of {@link MediaStreamingAudioChannelType} that the service accepts. */
export declare enum KnownMediaStreamingAudioChannelType {
    /** Mixed */
    Mixed = "mixed",
    /** Unmixed */
    Unmixed = "unmixed"
}
/**
 * Defines values for MediaStreamingAudioChannelType. \
 * {@link KnownMediaStreamingAudioChannelType} can be used interchangeably with MediaStreamingAudioChannelType,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **mixed** \
 * **unmixed**
 */
export type MediaStreamingAudioChannelType = string;
/** Known values of {@link CallConnectionStateModel} that the service accepts. */
export declare enum KnownCallConnectionStateModel {
    /** Unknown */
    Unknown = "unknown",
    /** Connecting */
    Connecting = "connecting",
    /** Connected */
    Connected = "connected",
    /** Transferring */
    Transferring = "transferring",
    /** TransferAccepted */
    TransferAccepted = "transferAccepted",
    /** Disconnecting */
    Disconnecting = "disconnecting",
    /** Disconnected */
    Disconnected = "disconnected"
}
/**
 * Defines values for CallConnectionStateModel. \
 * {@link KnownCallConnectionStateModel} can be used interchangeably with CallConnectionStateModel,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **unknown** \
 * **connecting** \
 * **connected** \
 * **transferring** \
 * **transferAccepted** \
 * **disconnecting** \
 * **disconnected**
 */
export type CallConnectionStateModel = string;
/** Known values of {@link MediaStreamingSubscriptionState} that the service accepts. */
export declare enum KnownMediaStreamingSubscriptionState {
    /** Disabled */
    Disabled = "disabled",
    /** Inactive */
    Inactive = "inactive",
    /** Active */
    Active = "active"
}
/**
 * Defines values for MediaStreamingSubscriptionState. \
 * {@link KnownMediaStreamingSubscriptionState} can be used interchangeably with MediaStreamingSubscriptionState,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **disabled** \
 * **inactive** \
 * **active**
 */
export type MediaStreamingSubscriptionState = string;
/** Known values of {@link MediaStreamingContentType} that the service accepts. */
export declare enum KnownMediaStreamingContentType {
    /** Audio */
    Audio = "audio"
}
/**
 * Defines values for MediaStreamingContentType. \
 * {@link KnownMediaStreamingContentType} can be used interchangeably with MediaStreamingContentType,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **audio**
 */
export type MediaStreamingContentType = string;
/** Known values of {@link TranscriptionSubscriptionState} that the service accepts. */
export declare enum KnownTranscriptionSubscriptionState {
    /** Disabled */
    Disabled = "disabled",
    /** Inactive */
    Inactive = "inactive",
    /** Active */
    Active = "active"
}
/**
 * Defines values for TranscriptionSubscriptionState. \
 * {@link KnownTranscriptionSubscriptionState} can be used interchangeably with TranscriptionSubscriptionState,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **disabled** \
 * **inactive** \
 * **active**
 */
export type TranscriptionSubscriptionState = string;
/** Known values of {@link TranscriptionResultState} that the service accepts. */
export declare enum KnownTranscriptionResultState {
    /** Final */
    Final = "final",
    /** Intermediate */
    Intermediate = "intermediate"
}
/**
 * Defines values for TranscriptionResultState. \
 * {@link KnownTranscriptionResultState} can be used interchangeably with TranscriptionResultState,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **final** \
 * **intermediate**
 */
export type TranscriptionResultState = string;
/** Known values of {@link CallRejectReason} that the service accepts. */
export declare enum KnownCallRejectReason {
    /** None */
    None = "none",
    /** Busy */
    Busy = "busy",
    /** Forbidden */
    Forbidden = "forbidden"
}
/**
 * Defines values for CallRejectReason. \
 * {@link KnownCallRejectReason} can be used interchangeably with CallRejectReason,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **none** \
 * **busy** \
 * **forbidden**
 */
export type CallRejectReason = string;
/** Known values of {@link CallLocatorKind} that the service accepts. */
export declare enum KnownCallLocatorKind {
    /** GroupCallLocator */
    GroupCallLocator = "groupCallLocator",
    /** ServerCallLocator */
    ServerCallLocator = "serverCallLocator",
    /** RoomCallLocator */
    RoomCallLocator = "roomCallLocator"
}
/**
 * Defines values for CallLocatorKind. \
 * {@link KnownCallLocatorKind} can be used interchangeably with CallLocatorKind,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **groupCallLocator** \
 * **serverCallLocator** \
 * **roomCallLocator**
 */
export type CallLocatorKind = string;
/** Known values of {@link PlaySourceType} that the service accepts. */
export declare enum KnownPlaySourceType {
    /** File */
    File = "file",
    /** Text */
    Text = "text",
    /** Ssml */
    Ssml = "ssml"
}
/**
 * Defines values for PlaySourceType. \
 * {@link KnownPlaySourceType} can be used interchangeably with PlaySourceType,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **file** \
 * **text** \
 * **ssml**
 */
export type PlaySourceType = string;
/** Known values of {@link VoiceKind} that the service accepts. */
export declare enum KnownVoiceKind {
    /** Male */
    Male = "male",
    /** Female */
    Female = "female"
}
/**
 * Defines values for VoiceKind. \
 * {@link KnownVoiceKind} can be used interchangeably with VoiceKind,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **male** \
 * **female**
 */
export type VoiceKind = string;
/** Known values of {@link RecognizeInputType} that the service accepts. */
export declare enum KnownRecognizeInputType {
    /** Dtmf */
    Dtmf = "dtmf",
    /** Speech */
    Speech = "speech",
    /** SpeechOrDtmf */
    SpeechOrDtmf = "speechOrDtmf",
    /** Choices */
    Choices = "choices"
}
/**
 * Defines values for RecognizeInputType. \
 * {@link KnownRecognizeInputType} can be used interchangeably with RecognizeInputType,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **dtmf** \
 * **speech** \
 * **speechOrDtmf** \
 * **choices**
 */
export type RecognizeInputType = string;
/** Known values of {@link Tone} that the service accepts. */
export declare enum KnownTone {
    /** Zero */
    Zero = "zero",
    /** One */
    One = "one",
    /** Two */
    Two = "two",
    /** Three */
    Three = "three",
    /** Four */
    Four = "four",
    /** Five */
    Five = "five",
    /** Six */
    Six = "six",
    /** Seven */
    Seven = "seven",
    /** Eight */
    Eight = "eight",
    /** Nine */
    Nine = "nine",
    /** A */
    A = "a",
    /** B */
    B = "b",
    /** C */
    C = "c",
    /** D */
    D = "d",
    /** Pound */
    Pound = "pound",
    /** Asterisk */
    Asterisk = "asterisk"
}
/**
 * Defines values for Tone. \
 * {@link KnownTone} can be used interchangeably with Tone,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **zero** \
 * **one** \
 * **two** \
 * **three** \
 * **four** \
 * **five** \
 * **six** \
 * **seven** \
 * **eight** \
 * **nine** \
 * **a** \
 * **b** \
 * **c** \
 * **d** \
 * **pound** \
 * **asterisk**
 */
export type Tone = string;
/** Known values of {@link RecordingContentType} that the service accepts. */
export declare enum KnownRecordingContentType {
    /** Audio */
    Audio = "audio",
    /** AudioVideo */
    AudioVideo = "audioVideo"
}
/**
 * Defines values for RecordingContentType. \
 * {@link KnownRecordingContentType} can be used interchangeably with RecordingContentType,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **audio** \
 * **audioVideo**
 */
export type RecordingContentType = string;
/** Known values of {@link RecordingChannelType} that the service accepts. */
export declare enum KnownRecordingChannelType {
    /** Mixed */
    Mixed = "mixed",
    /** Unmixed */
    Unmixed = "unmixed"
}
/**
 * Defines values for RecordingChannelType. \
 * {@link KnownRecordingChannelType} can be used interchangeably with RecordingChannelType,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **mixed** \
 * **unmixed**
 */
export type RecordingChannelType = string;
/** Known values of {@link RecordingFormatType} that the service accepts. */
export declare enum KnownRecordingFormatType {
    /** Wav */
    Wav = "wav",
    /** Mp3 */
    Mp3 = "mp3",
    /** Mp4 */
    Mp4 = "mp4"
}
/**
 * Defines values for RecordingFormatType. \
 * {@link KnownRecordingFormatType} can be used interchangeably with RecordingFormatType,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **wav** \
 * **mp3** \
 * **mp4**
 */
export type RecordingFormatType = string;
/** Known values of {@link RecordingStorageKind} that the service accepts. */
export declare enum KnownRecordingStorageKind {
    /** Storage managed by Azure Communication Services */
    AzureCommunicationServices = "AzureCommunicationServices",
    /** Storage managed by provided Azure blob */
    AzureBlobStorage = "AzureBlobStorage"
}
/**
 * Defines values for RecordingStorageKind. \
 * {@link KnownRecordingStorageKind} can be used interchangeably with RecordingStorageKind,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **AzureCommunicationServices**: Storage managed by Azure Communication Services \
 * **AzureBlobStorage**: Storage managed by provided Azure blob
 */
export type RecordingStorageKind = string;
/** Known values of {@link RecordingState} that the service accepts. */
export declare enum KnownRecordingState {
    /** Active */
    Active = "active",
    /** Inactive */
    Inactive = "inactive"
}
/**
 * Defines values for RecordingState. \
 * {@link KnownRecordingState} can be used interchangeably with RecordingState,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **active** \
 * **inactive**
 */
export type RecordingState = string;
/** Known values of {@link RecordingKind} that the service accepts. */
export declare enum KnownRecordingKind {
    /** Recording initiated by Azure Communication Services */
    AzureCommunicationServices = "AzureCommunicationServices",
    /** Recording initiated by Teams user */
    Teams = "Teams",
    /** Recording initiated by Teams compliance policy */
    TeamsCompliance = "TeamsCompliance"
}
/**
 * Defines values for RecordingKind. \
 * {@link KnownRecordingKind} can be used interchangeably with RecordingKind,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **AzureCommunicationServices**: Recording initiated by Azure Communication Services \
 * **Teams**: Recording initiated by Teams user \
 * **TeamsCompliance**: Recording initiated by Teams compliance policy
 */
export type RecordingKind = string;
/** Known values of {@link AudioFormat} that the service accepts. */
export declare enum KnownAudioFormat {
    /** Pcm16KMono */
    Pcm16KMono = "pcm16KMono",
    /** Pcm24KMono */
    Pcm24KMono = "pcm24KMono"
}
/**
 * Defines values for AudioFormat. \
 * {@link KnownAudioFormat} can be used interchangeably with AudioFormat,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **pcm16KMono** \
 * **pcm24KMono**
 */
export type AudioFormat = string;
/** Known values of {@link RecognitionType} that the service accepts. */
export declare enum KnownRecognitionType {
    /** Dtmf */
    Dtmf = "dtmf",
    /** Speech */
    Speech = "speech",
    /** Choices */
    Choices = "choices"
}
/**
 * Defines values for RecognitionType. \
 * {@link KnownRecognitionType} can be used interchangeably with RecognitionType,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **dtmf** \
 * **speech** \
 * **choices**
 */
export type RecognitionType = string;
/** Known values of {@link MediaStreamingStatus} that the service accepts. */
export declare enum KnownMediaStreamingStatus {
    /** MediaStreamingStarted */
    MediaStreamingStarted = "mediaStreamingStarted",
    /** MediaStreamingFailed */
    MediaStreamingFailed = "mediaStreamingFailed",
    /** MediaStreamingStopped */
    MediaStreamingStopped = "mediaStreamingStopped",
    /** UnspecifiedError */
    UnspecifiedError = "unspecifiedError"
}
/**
 * Defines values for MediaStreamingStatus. \
 * {@link KnownMediaStreamingStatus} can be used interchangeably with MediaStreamingStatus,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **mediaStreamingStarted** \
 * **mediaStreamingFailed** \
 * **mediaStreamingStopped** \
 * **unspecifiedError**
 */
export type MediaStreamingStatus = string;
/** Known values of {@link MediaStreamingStatusDetails} that the service accepts. */
export declare enum KnownMediaStreamingStatusDetails {
    /** SubscriptionStarted */
    SubscriptionStarted = "subscriptionStarted",
    /** StreamConnectionReestablished */
    StreamConnectionReestablished = "streamConnectionReestablished",
    /** StreamConnectionUnsuccessful */
    StreamConnectionUnsuccessful = "streamConnectionUnsuccessful",
    /** StreamUrlMissing */
    StreamUrlMissing = "streamUrlMissing",
    /** ServiceShutdown */
    ServiceShutdown = "serviceShutdown",
    /** StreamConnectionInterrupted */
    StreamConnectionInterrupted = "streamConnectionInterrupted",
    /** SpeechServicesConnectionError */
    SpeechServicesConnectionError = "speechServicesConnectionError",
    /** SubscriptionStopped */
    SubscriptionStopped = "subscriptionStopped",
    /** UnspecifiedError */
    UnspecifiedError = "unspecifiedError",
    /** AuthenticationFailure */
    AuthenticationFailure = "authenticationFailure",
    /** BadRequest */
    BadRequest = "badRequest",
    /** TooManyRequests */
    TooManyRequests = "tooManyRequests",
    /** Forbidden */
    Forbidden = "forbidden",
    /** ServiceTimeout */
    ServiceTimeout = "serviceTimeout",
    /** InitialWebSocketConnectionFailed */
    InitialWebSocketConnectionFailed = "initialWebSocketConnectionFailed"
}
/**
 * Defines values for MediaStreamingStatusDetails. \
 * {@link KnownMediaStreamingStatusDetails} can be used interchangeably with MediaStreamingStatusDetails,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **subscriptionStarted** \
 * **streamConnectionReestablished** \
 * **streamConnectionUnsuccessful** \
 * **streamUrlMissing** \
 * **serviceShutdown** \
 * **streamConnectionInterrupted** \
 * **speechServicesConnectionError** \
 * **subscriptionStopped** \
 * **unspecifiedError** \
 * **authenticationFailure** \
 * **badRequest** \
 * **tooManyRequests** \
 * **forbidden** \
 * **serviceTimeout** \
 * **initialWebSocketConnectionFailed**
 */
export type MediaStreamingStatusDetails = string;
/** Known values of {@link TranscriptionStatus} that the service accepts. */
export declare enum KnownTranscriptionStatus {
    /** TranscriptionStarted */
    TranscriptionStarted = "transcriptionStarted",
    /** TranscriptionFailed */
    TranscriptionFailed = "transcriptionFailed",
    /** TranscriptionResumed */
    TranscriptionResumed = "transcriptionResumed",
    /** TranscriptionUpdated */
    TranscriptionUpdated = "transcriptionUpdated",
    /** TranscriptionStopped */
    TranscriptionStopped = "transcriptionStopped",
    /** UnspecifiedError */
    UnspecifiedError = "unspecifiedError"
}
/**
 * Defines values for TranscriptionStatus. \
 * {@link KnownTranscriptionStatus} can be used interchangeably with TranscriptionStatus,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **transcriptionStarted** \
 * **transcriptionFailed** \
 * **transcriptionResumed** \
 * **transcriptionUpdated** \
 * **transcriptionStopped** \
 * **unspecifiedError**
 */
export type TranscriptionStatus = string;
/** Known values of {@link TranscriptionStatusDetails} that the service accepts. */
export declare enum KnownTranscriptionStatusDetails {
    /** SubscriptionStarted */
    SubscriptionStarted = "subscriptionStarted",
    /** StreamConnectionReestablished */
    StreamConnectionReestablished = "streamConnectionReestablished",
    /** StreamConnectionUnsuccessful */
    StreamConnectionUnsuccessful = "streamConnectionUnsuccessful",
    /** StreamUrlMissing */
    StreamUrlMissing = "streamUrlMissing",
    /** ServiceShutdown */
    ServiceShutdown = "serviceShutdown",
    /** StreamConnectionInterrupted */
    StreamConnectionInterrupted = "streamConnectionInterrupted",
    /** SpeechServicesConnectionError */
    SpeechServicesConnectionError = "speechServicesConnectionError",
    /** SubscriptionStopped */
    SubscriptionStopped = "subscriptionStopped",
    /** UnspecifiedError */
    UnspecifiedError = "unspecifiedError",
    /** AuthenticationFailure */
    AuthenticationFailure = "authenticationFailure",
    /** BadRequest */
    BadRequest = "badRequest",
    /** TooManyRequests */
    TooManyRequests = "tooManyRequests",
    /** Forbidden */
    Forbidden = "forbidden",
    /** ServiceTimeout */
    ServiceTimeout = "serviceTimeout",
    /** TranscriptionLocaleUpdated */
    TranscriptionLocaleUpdated = "transcriptionLocaleUpdated"
}
/**
 * Defines values for TranscriptionStatusDetails. \
 * {@link KnownTranscriptionStatusDetails} can be used interchangeably with TranscriptionStatusDetails,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **subscriptionStarted** \
 * **streamConnectionReestablished** \
 * **streamConnectionUnsuccessful** \
 * **streamUrlMissing** \
 * **serviceShutdown** \
 * **streamConnectionInterrupted** \
 * **speechServicesConnectionError** \
 * **subscriptionStopped** \
 * **unspecifiedError** \
 * **authenticationFailure** \
 * **badRequest** \
 * **tooManyRequests** \
 * **forbidden** \
 * **serviceTimeout** \
 * **transcriptionLocaleUpdated**
 */
export type TranscriptionStatusDetails = string;
/** Optional parameters. */
export interface CreateCallOptionalParams extends coreClient.OperationOptions {
    /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID. */
    repeatabilityRequestID?: string;
    /** If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT. */
    repeatabilityFirstSent?: Date;
}
/** Contains response data for the createCall operation. */
export type CreateCallResponse = CallConnectionPropertiesInternal;
/** Optional parameters. */
export interface AnswerCallOptionalParams extends coreClient.OperationOptions {
    /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID. */
    repeatabilityRequestID?: string;
    /** If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT. */
    repeatabilityFirstSent?: Date;
}
/** Contains response data for the answerCall operation. */
export type AnswerCallResponse = CallConnectionPropertiesInternal;
/** Optional parameters. */
export interface RedirectCallOptionalParams extends coreClient.OperationOptions {
    /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID. */
    repeatabilityRequestID?: string;
    /** If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT. */
    repeatabilityFirstSent?: Date;
}
/** Optional parameters. */
export interface RejectCallOptionalParams extends coreClient.OperationOptions {
    /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID. */
    repeatabilityRequestID?: string;
    /** If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT. */
    repeatabilityFirstSent?: Date;
}
/** Optional parameters. */
export interface ConnectOptionalParams extends coreClient.OperationOptions {
    /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID. */
    repeatabilityRequestID?: string;
    /** If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT. */
    repeatabilityFirstSent?: Date;
}
/** Contains response data for the connect operation. */
export type ConnectResponse = CallConnectionPropertiesInternal;
/** Optional parameters. */
export interface CallConnectionGetCallOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getCall operation. */
export type CallConnectionGetCallResponse = CallConnectionPropertiesInternal;
/** Optional parameters. */
export interface CallConnectionHangupCallOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallConnectionTerminateCallOptionalParams extends coreClient.OperationOptions {
    /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID. */
    repeatabilityRequestID?: string;
    /** If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT. */
    repeatabilityFirstSent?: Date;
}
/** Optional parameters. */
export interface CallConnectionTransferToParticipantOptionalParams extends coreClient.OperationOptions {
    /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID. */
    repeatabilityRequestID?: string;
    /** If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT. */
    repeatabilityFirstSent?: Date;
}
/** Contains response data for the transferToParticipant operation. */
export type CallConnectionTransferToParticipantResponse = TransferCallResponse;
/** Optional parameters. */
export interface CallConnectionGetParticipantsOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getParticipants operation. */
export type CallConnectionGetParticipantsResponse = GetParticipantsResponse;
/** Optional parameters. */
export interface CallConnectionAddParticipantOptionalParams extends coreClient.OperationOptions {
    /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID. */
    repeatabilityRequestID?: string;
    /** If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT. */
    repeatabilityFirstSent?: Date;
}
/** Contains response data for the addParticipant operation. */
export type CallConnectionAddParticipantResponse = AddParticipantResponse;
/** Optional parameters. */
export interface CallConnectionRemoveParticipantOptionalParams extends coreClient.OperationOptions {
    /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID. */
    repeatabilityRequestID?: string;
    /** If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT. */
    repeatabilityFirstSent?: Date;
}
/** Contains response data for the removeParticipant operation. */
export type CallConnectionRemoveParticipantResponse = RemoveParticipantResponse;
/** Optional parameters. */
export interface CallConnectionMuteOptionalParams extends coreClient.OperationOptions {
    /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID. */
    repeatabilityRequestID?: string;
    /** If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT. */
    repeatabilityFirstSent?: Date;
}
/** Contains response data for the mute operation. */
export type CallConnectionMuteResponse = MuteParticipantsResult;
/** Optional parameters. */
export interface CallConnectionCancelAddParticipantOptionalParams extends coreClient.OperationOptions {
    /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID. */
    repeatabilityRequestID?: string;
    /** If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT. */
    repeatabilityFirstSent?: Date;
}
/** Contains response data for the cancelAddParticipant operation. */
export type CallConnectionCancelAddParticipantResponse = CancelAddParticipantResponse;
/** Optional parameters. */
export interface CallConnectionGetParticipantOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getParticipant operation. */
export type CallConnectionGetParticipantResponse = CallParticipantInternal;
/** Optional parameters. */
export interface CallConnectionGetParticipantsNextOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getParticipantsNext operation. */
export type CallConnectionGetParticipantsNextResponse = GetParticipantsResponse;
/** Optional parameters. */
export interface CallMediaPlayOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallMediaStartTranscriptionOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallMediaStopTranscriptionOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallMediaUpdateTranscriptionOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallMediaCancelAllMediaOperationsOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallMediaRecognizeOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallMediaStartContinuousDtmfRecognitionOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallMediaStopContinuousDtmfRecognitionOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallMediaSendDtmfTonesOptionalParams extends coreClient.OperationOptions {
    /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID. */
    repeatabilityRequestID?: string;
    /** If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT. */
    repeatabilityFirstSent?: Date;
}
/** Contains response data for the sendDtmfTones operation. */
export type CallMediaSendDtmfTonesResponse = SendDtmfTonesResult;
/** Optional parameters. */
export interface CallMediaHoldOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallMediaUnholdOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallMediaStartMediaStreamingOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallMediaStopMediaStreamingOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallRecordingStartRecordingOptionalParams extends coreClient.OperationOptions {
    /** If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated unique identifier for the request. It is a version 4 (random) UUID. */
    repeatabilityRequestID?: string;
    /** If Repeatability-Request-ID header is specified, then Repeatability-First-Sent header must also be specified. The value should be the date and time at which the request was first created, expressed using the IMF-fixdate form of HTTP-date. Example: Sun, 06 Nov 1994 08:49:37 GMT. */
    repeatabilityFirstSent?: Date;
}
/** Contains response data for the startRecording operation. */
export type CallRecordingStartRecordingResponse = RecordingStateResponse;
/** Optional parameters. */
export interface CallRecordingGetRecordingPropertiesOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getRecordingProperties operation. */
export type CallRecordingGetRecordingPropertiesResponse = RecordingStateResponse;
/** Optional parameters. */
export interface CallRecordingStopRecordingOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallRecordingPauseRecordingOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallRecordingResumeRecordingOptionalParams extends coreClient.OperationOptions {
}
/** Optional parameters. */
export interface CallAutomationApiClientOptionalParams extends coreClient.ServiceClientOptions {
    /** Api Version */
    apiVersion?: string;
    /** Overrides client endpoint. */
    endpoint?: string;
}
//# sourceMappingURL=index.d.ts.map