/**
 *
 * @export
 * @interface APIError
 */
export interface APIError {
    /**
     * Response HTTP status code
     * @type {number}
     * @memberof APIError
     */
    StatusCode: number;
    /**
     * API error code
     * @type {number}
     * @memberof APIError
     */
    code: number;
    /**
     * Additional error-specific information
     * @type {Array<number>}
     * @memberof APIError
     */
    details: Array<number>;
    /**
     * Request duration
     * @type {string}
     * @memberof APIError
     */
    duration: string;
    /**
     * Additional error info
     * @type {{ [key: string]: string; }}
     * @memberof APIError
     */
    exception_fields?: {
        [key: string]: string;
    };
    /**
     * Message describing an error
     * @type {string}
     * @memberof APIError
     */
    message: string;
    /**
     * URL with additional information
     * @type {string}
     * @memberof APIError
     */
    more_info: string;
    /**
     * Flag that indicates if the error is unrecoverable, requests that return unrecoverable errors should not be retried, this error only applies to the request that caused it
     * @type {boolean}
     * @memberof APIError
     */
    unrecoverable?: boolean;
}
/**
 * AcceptCallResponse is the payload for accepting a call.
 * @export
 * @interface AcceptCallResponse
 */
export interface AcceptCallResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof AcceptCallResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface AudioSettingsRequest
 */
export interface AudioSettingsRequest {
    /**
     *
     * @type {boolean}
     * @memberof AudioSettingsRequest
     */
    access_request_enabled?: boolean;
    /**
     *
     * @type {string}
     * @memberof AudioSettingsRequest
     */
    default_device: AudioSettingsRequestDefaultDeviceEnum;
    /**
     *
     * @type {boolean}
     * @memberof AudioSettingsRequest
     */
    hifi_audio_enabled?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof AudioSettingsRequest
     */
    mic_default_on?: boolean;
    /**
     *
     * @type {NoiseCancellationSettings}
     * @memberof AudioSettingsRequest
     */
    noise_cancellation?: NoiseCancellationSettings;
    /**
     *
     * @type {boolean}
     * @memberof AudioSettingsRequest
     */
    opus_dtx_enabled?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof AudioSettingsRequest
     */
    redundant_coding_enabled?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof AudioSettingsRequest
     */
    speaker_default_on?: boolean;
}
/**
 * @export
 */
export declare const AudioSettingsRequestDefaultDeviceEnum: {
    readonly SPEAKER: "speaker";
    readonly EARPIECE: "earpiece";
};
export type AudioSettingsRequestDefaultDeviceEnum = (typeof AudioSettingsRequestDefaultDeviceEnum)[keyof typeof AudioSettingsRequestDefaultDeviceEnum];
/**
 *
 * @export
 * @interface AudioSettingsResponse
 */
export interface AudioSettingsResponse {
    /**
     *
     * @type {boolean}
     * @memberof AudioSettingsResponse
     */
    access_request_enabled: boolean;
    /**
     *
     * @type {string}
     * @memberof AudioSettingsResponse
     */
    default_device: AudioSettingsResponseDefaultDeviceEnum;
    /**
     *
     * @type {boolean}
     * @memberof AudioSettingsResponse
     */
    hifi_audio_enabled: boolean;
    /**
     *
     * @type {boolean}
     * @memberof AudioSettingsResponse
     */
    mic_default_on: boolean;
    /**
     *
     * @type {NoiseCancellationSettings}
     * @memberof AudioSettingsResponse
     */
    noise_cancellation?: NoiseCancellationSettings;
    /**
     *
     * @type {boolean}
     * @memberof AudioSettingsResponse
     */
    opus_dtx_enabled: boolean;
    /**
     *
     * @type {boolean}
     * @memberof AudioSettingsResponse
     */
    redundant_coding_enabled: boolean;
    /**
     *
     * @type {boolean}
     * @memberof AudioSettingsResponse
     */
    speaker_default_on: boolean;
}
/**
 * @export
 */
export declare const AudioSettingsResponseDefaultDeviceEnum: {
    readonly SPEAKER: "speaker";
    readonly EARPIECE: "earpiece";
};
export type AudioSettingsResponseDefaultDeviceEnum = (typeof AudioSettingsResponseDefaultDeviceEnum)[keyof typeof AudioSettingsResponseDefaultDeviceEnum];
/**
 *
 * @export
 * @interface BackstageSettingsRequest
 */
export interface BackstageSettingsRequest {
    /**
     *
     * @type {boolean}
     * @memberof BackstageSettingsRequest
     */
    enabled?: boolean;
    /**
     *
     * @type {number}
     * @memberof BackstageSettingsRequest
     */
    join_ahead_time_seconds?: number;
}
/**
 *
 * @export
 * @interface BackstageSettingsResponse
 */
export interface BackstageSettingsResponse {
    /**
     *
     * @type {boolean}
     * @memberof BackstageSettingsResponse
     */
    enabled: boolean;
    /**
     *
     * @type {number}
     * @memberof BackstageSettingsResponse
     */
    join_ahead_time_seconds?: number;
}
/**
 * BlockUserRequest is the payload for blocking a user.
 * @export
 * @interface BlockUserRequest
 */
export interface BlockUserRequest {
    /**
     * the user to block
     * @type {string}
     * @memberof BlockUserRequest
     */
    user_id: string;
}
/**
 * BlockUserResponse is the payload for blocking a user.
 * @export
 * @interface BlockUserResponse
 */
export interface BlockUserResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof BlockUserResponse
     */
    duration: string;
}
/**
 * This event is sent to call participants to notify when a user is blocked on a call, clients can use this event to show a notification.
 * If the user is the current user, the client should leave the call screen as well
 * @export
 * @interface BlockedUserEvent
 */
export interface BlockedUserEvent {
    /**
     *
     * @type {UserResponse}
     * @memberof BlockedUserEvent
     */
    blocked_by_user?: UserResponse;
    /**
     *
     * @type {string}
     * @memberof BlockedUserEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof BlockedUserEvent
     */
    created_at: string;
    /**
     * The type of event: "call.blocked_user" in this case
     * @type {string}
     * @memberof BlockedUserEvent
     */
    type: string;
    /**
     *
     * @type {UserResponse}
     * @memberof BlockedUserEvent
     */
    user: UserResponse;
}
/**
 *
 * @export
 * @interface Bound
 */
export interface Bound {
    /**
     *
     * @type {boolean}
     * @memberof Bound
     */
    inclusive: boolean;
    /**
     *
     * @type {number}
     * @memberof Bound
     */
    value: number;
}
/**
 *
 * @export
 * @interface BroadcastSettingsRequest
 */
export interface BroadcastSettingsRequest {
    /**
     *
     * @type {boolean}
     * @memberof BroadcastSettingsRequest
     */
    enabled?: boolean;
    /**
     *
     * @type {HLSSettingsRequest}
     * @memberof BroadcastSettingsRequest
     */
    hls?: HLSSettingsRequest;
    /**
     *
     * @type {RTMPSettingsRequest}
     * @memberof BroadcastSettingsRequest
     */
    rtmp?: RTMPSettingsRequest;
}
/**
 * BroadcastSettingsResponse is the payload for broadcasting settings
 * @export
 * @interface BroadcastSettingsResponse
 */
export interface BroadcastSettingsResponse {
    /**
     *
     * @type {boolean}
     * @memberof BroadcastSettingsResponse
     */
    enabled: boolean;
    /**
     *
     * @type {HLSSettingsResponse}
     * @memberof BroadcastSettingsResponse
     */
    hls: HLSSettingsResponse;
    /**
     *
     * @type {RTMPSettingsResponse}
     * @memberof BroadcastSettingsResponse
     */
    rtmp: RTMPSettingsResponse;
}
/**
 * This event is sent when a user accepts a notification to join a call.
 * @export
 * @interface CallAcceptedEvent
 */
export interface CallAcceptedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallAcceptedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallAcceptedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallAcceptedEvent
     */
    created_at: string;
    /**
     * The type of event: "call.accepted" in this case
     * @type {string}
     * @memberof CallAcceptedEvent
     */
    type: string;
    /**
     *
     * @type {UserResponse}
     * @memberof CallAcceptedEvent
     */
    user: UserResponse;
}
/**
 * CallClosedCaption represents a closed caption of a call.
 * @export
 * @interface CallClosedCaption
 */
export interface CallClosedCaption {
    /**
     *
     * @type {string}
     * @memberof CallClosedCaption
     */
    end_time: string;
    /**
     *
     * @type {string}
     * @memberof CallClosedCaption
     */
    id: string;
    /**
     *
     * @type {string}
     * @memberof CallClosedCaption
     */
    language: string;
    /**
     *
     * @type {string}
     * @memberof CallClosedCaption
     */
    service?: string;
    /**
     *
     * @type {string}
     * @memberof CallClosedCaption
     */
    speaker_id: string;
    /**
     *
     * @type {string}
     * @memberof CallClosedCaption
     */
    start_time: string;
    /**
     *
     * @type {string}
     * @memberof CallClosedCaption
     */
    text: string;
    /**
     *
     * @type {boolean}
     * @memberof CallClosedCaption
     */
    translated: boolean;
    /**
     *
     * @type {UserResponse}
     * @memberof CallClosedCaption
     */
    user: UserResponse;
}
/**
 * This event is sent when call closed captions has failed
 * @export
 * @interface CallClosedCaptionsFailedEvent
 */
export interface CallClosedCaptionsFailedEvent {
    /**
     *
     * @type {string}
     * @memberof CallClosedCaptionsFailedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallClosedCaptionsFailedEvent
     */
    created_at: string;
    /**
     * The type of event: "call.closed_captions_failed" in this case
     * @type {string}
     * @memberof CallClosedCaptionsFailedEvent
     */
    type: string;
}
/**
 * This event is sent when call closed caption has started
 * @export
 * @interface CallClosedCaptionsStartedEvent
 */
export interface CallClosedCaptionsStartedEvent {
    /**
     *
     * @type {string}
     * @memberof CallClosedCaptionsStartedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallClosedCaptionsStartedEvent
     */
    created_at: string;
    /**
     * The type of event: "call.closed_captions_started" in this case
     * @type {string}
     * @memberof CallClosedCaptionsStartedEvent
     */
    type: string;
}
/**
 * This event is sent when call closed captions has stopped
 * @export
 * @interface CallClosedCaptionsStoppedEvent
 */
export interface CallClosedCaptionsStoppedEvent {
    /**
     *
     * @type {string}
     * @memberof CallClosedCaptionsStoppedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallClosedCaptionsStoppedEvent
     */
    created_at: string;
    /**
     * The type of event: "call.transcription_stopped" in this case
     * @type {string}
     * @memberof CallClosedCaptionsStoppedEvent
     */
    type: string;
}
/**
 * This event is sent when a call is created. Clients receiving this event should check if the ringing
 * field is set to true and if so, show the call screen
 * @export
 * @interface CallCreatedEvent
 */
export interface CallCreatedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallCreatedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallCreatedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallCreatedEvent
     */
    created_at: string;
    /**
     * the members added to this call
     * @type {Array<MemberResponse>}
     * @memberof CallCreatedEvent
     */
    members: Array<MemberResponse>;
    /**
     * The type of event: "call.created" in this case
     * @type {string}
     * @memberof CallCreatedEvent
     */
    type: string;
}
/**
 * This event is sent when a call is deleted. Clients receiving this event should leave the call screen
 * @export
 * @interface CallDeletedEvent
 */
export interface CallDeletedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallDeletedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallDeletedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallDeletedEvent
     */
    created_at: string;
    /**
     * The type of event: "call.deleted" in this case
     * @type {string}
     * @memberof CallDeletedEvent
     */
    type: string;
}
/**
 *
 * @export
 * @interface CallDurationReport
 */
export interface CallDurationReport {
    /**
     *
     * @type {Array<ReportByHistogramBucket>}
     * @memberof CallDurationReport
     */
    histogram: Array<ReportByHistogramBucket>;
}
/**
 *
 * @export
 * @interface CallDurationReportResponse
 */
export interface CallDurationReportResponse {
    /**
     *
     * @type {Array<DailyAggregateCallDurationReportResponse>}
     * @memberof CallDurationReportResponse
     */
    daily: Array<DailyAggregateCallDurationReportResponse>;
}
/**
 * This event is sent when a call is mark as ended for all its participants. Clients receiving this event should leave the call screen
 * @export
 * @interface CallEndedEvent
 */
export interface CallEndedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallEndedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallEndedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallEndedEvent
     */
    created_at: string;
    /**
     * The reason why the call ended, if available
     * @type {string}
     * @memberof CallEndedEvent
     */
    reason?: string;
    /**
     * The type of event: "call.ended" in this case
     * @type {string}
     * @memberof CallEndedEvent
     */
    type: string;
    /**
     *
     * @type {UserResponse}
     * @memberof CallEndedEvent
     */
    user?: UserResponse;
}
/**
 * This event is sent when frame recording has failed
 * @export
 * @interface CallFrameRecordingFailedEvent
 */
export interface CallFrameRecordingFailedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallFrameRecordingFailedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallFrameRecordingFailedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallFrameRecordingFailedEvent
     */
    created_at: string;
    /**
     *
     * @type {string}
     * @memberof CallFrameRecordingFailedEvent
     */
    egress_id: string;
    /**
     * The type of event: "call.frame_recording_failed" in this case
     * @type {string}
     * @memberof CallFrameRecordingFailedEvent
     */
    type: string;
}
/**
 * This event is sent when a frame is captured from a call
 * @export
 * @interface CallFrameRecordingFrameReadyEvent
 */
export interface CallFrameRecordingFrameReadyEvent {
    /**
     *
     * @type {string}
     * @memberof CallFrameRecordingFrameReadyEvent
     */
    call_cid: string;
    /**
     * The time the frame was captured
     * @type {string}
     * @memberof CallFrameRecordingFrameReadyEvent
     */
    captured_at: string;
    /**
     *
     * @type {string}
     * @memberof CallFrameRecordingFrameReadyEvent
     */
    created_at: string;
    /**
     *
     * @type {string}
     * @memberof CallFrameRecordingFrameReadyEvent
     */
    egress_id: string;
    /**
     * Call session ID
     * @type {string}
     * @memberof CallFrameRecordingFrameReadyEvent
     */
    session_id: string;
    /**
     * The type of the track frame was captured from (TRACK_TYPE_VIDEO|TRACK_TYPE_SCREEN_SHARE)
     * @type {string}
     * @memberof CallFrameRecordingFrameReadyEvent
     */
    track_type: string;
    /**
     * The type of event: "call.frame_recording_ready" in this case
     * @type {string}
     * @memberof CallFrameRecordingFrameReadyEvent
     */
    type: string;
    /**
     * The URL of the frame
     * @type {string}
     * @memberof CallFrameRecordingFrameReadyEvent
     */
    url: string;
    /**
     * The users in the frame
     * @type {{ [key: string]: UserResponse; }}
     * @memberof CallFrameRecordingFrameReadyEvent
     */
    users: {
        [key: string]: UserResponse;
    };
}
/**
 * This event is sent when frame recording has started
 * @export
 * @interface CallFrameRecordingStartedEvent
 */
export interface CallFrameRecordingStartedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallFrameRecordingStartedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallFrameRecordingStartedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallFrameRecordingStartedEvent
     */
    created_at: string;
    /**
     *
     * @type {string}
     * @memberof CallFrameRecordingStartedEvent
     */
    egress_id: string;
    /**
     * The type of event: "call.frame_recording_started" in this case
     * @type {string}
     * @memberof CallFrameRecordingStartedEvent
     */
    type: string;
}
/**
 * This event is sent when frame recording has stopped
 * @export
 * @interface CallFrameRecordingStoppedEvent
 */
export interface CallFrameRecordingStoppedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallFrameRecordingStoppedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallFrameRecordingStoppedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallFrameRecordingStoppedEvent
     */
    created_at: string;
    /**
     *
     * @type {string}
     * @memberof CallFrameRecordingStoppedEvent
     */
    egress_id: string;
    /**
     * The type of event: "call.frame_recording_stopped" in this case
     * @type {string}
     * @memberof CallFrameRecordingStoppedEvent
     */
    type: string;
}
/**
 * This event is sent when HLS broadcasting has failed
 * @export
 * @interface CallHLSBroadcastingFailedEvent
 */
export interface CallHLSBroadcastingFailedEvent {
    /**
     *
     * @type {string}
     * @memberof CallHLSBroadcastingFailedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallHLSBroadcastingFailedEvent
     */
    created_at: string;
    /**
     * The type of event: "call.hls_broadcasting_failed" in this case
     * @type {string}
     * @memberof CallHLSBroadcastingFailedEvent
     */
    type: string;
}
/**
 * This event is sent when HLS broadcasting has started
 * @export
 * @interface CallHLSBroadcastingStartedEvent
 */
export interface CallHLSBroadcastingStartedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallHLSBroadcastingStartedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallHLSBroadcastingStartedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallHLSBroadcastingStartedEvent
     */
    created_at: string;
    /**
     *
     * @type {string}
     * @memberof CallHLSBroadcastingStartedEvent
     */
    hls_playlist_url: string;
    /**
     * The type of event: "call.hls_broadcasting_started" in this case
     * @type {string}
     * @memberof CallHLSBroadcastingStartedEvent
     */
    type: string;
}
/**
 * This event is sent when HLS broadcasting has stopped
 * @export
 * @interface CallHLSBroadcastingStoppedEvent
 */
export interface CallHLSBroadcastingStoppedEvent {
    /**
     *
     * @type {string}
     * @memberof CallHLSBroadcastingStoppedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallHLSBroadcastingStoppedEvent
     */
    created_at: string;
    /**
     * The type of event: "call.hls_broadcasting_stopped" in this case
     * @type {string}
     * @memberof CallHLSBroadcastingStoppedEvent
     */
    type: string;
}
/**
 * CallIngressResponse is the payload for ingress settings
 * @export
 * @interface CallIngressResponse
 */
export interface CallIngressResponse {
    /**
     *
     * @type {RTMPIngress}
     * @memberof CallIngressResponse
     */
    rtmp: RTMPIngress;
    /**
     *
     * @type {SRTIngress}
     * @memberof CallIngressResponse
     */
    srt: SRTIngress;
    /**
     *
     * @type {WHIPIngress}
     * @memberof CallIngressResponse
     */
    whip: WHIPIngress;
}
/**
 * This event is sent when a call is started. Clients receiving this event should start the call.
 * @export
 * @interface CallLiveStartedEvent
 */
export interface CallLiveStartedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallLiveStartedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallLiveStartedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallLiveStartedEvent
     */
    created_at: string;
    /**
     * The type of event: "call.live_started" in this case
     * @type {string}
     * @memberof CallLiveStartedEvent
     */
    type: string;
}
/**
 * This event is sent when one or more members are added to a call
 * @export
 * @interface CallMemberAddedEvent
 */
export interface CallMemberAddedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallMemberAddedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallMemberAddedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallMemberAddedEvent
     */
    created_at: string;
    /**
     * the members added to this call
     * @type {Array<MemberResponse>}
     * @memberof CallMemberAddedEvent
     */
    members: Array<MemberResponse>;
    /**
     * The type of event: "call.member_added" in this case
     * @type {string}
     * @memberof CallMemberAddedEvent
     */
    type: string;
}
/**
 * This event is sent when one or more members are removed from a call
 * @export
 * @interface CallMemberRemovedEvent
 */
export interface CallMemberRemovedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallMemberRemovedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallMemberRemovedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallMemberRemovedEvent
     */
    created_at: string;
    /**
     * the list of member IDs removed from the call
     * @type {Array<string>}
     * @memberof CallMemberRemovedEvent
     */
    members: Array<string>;
    /**
     * The type of event: "call.member_removed" in this case
     * @type {string}
     * @memberof CallMemberRemovedEvent
     */
    type: string;
}
/**
 * This event is sent when one or more members are updated
 * @export
 * @interface CallMemberUpdatedEvent
 */
export interface CallMemberUpdatedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallMemberUpdatedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallMemberUpdatedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallMemberUpdatedEvent
     */
    created_at: string;
    /**
     * The list of members that were updated
     * @type {Array<MemberResponse>}
     * @memberof CallMemberUpdatedEvent
     */
    members: Array<MemberResponse>;
    /**
     * The type of event: "call.member_updated" in this case
     * @type {string}
     * @memberof CallMemberUpdatedEvent
     */
    type: string;
}
/**
 * This event is sent when one or more members get its role updated
 * @export
 * @interface CallMemberUpdatedPermissionEvent
 */
export interface CallMemberUpdatedPermissionEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallMemberUpdatedPermissionEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallMemberUpdatedPermissionEvent
     */
    call_cid: string;
    /**
     * The capabilities by role for this call
     * @type {{ [key: string]: Array<string>; }}
     * @memberof CallMemberUpdatedPermissionEvent
     */
    capabilities_by_role: {
        [key: string]: Array<string>;
    };
    /**
     *
     * @type {string}
     * @memberof CallMemberUpdatedPermissionEvent
     */
    created_at: string;
    /**
     * The list of members that were updated
     * @type {Array<MemberResponse>}
     * @memberof CallMemberUpdatedPermissionEvent
     */
    members: Array<MemberResponse>;
    /**
     * The type of event: "call.member_added" in this case
     * @type {string}
     * @memberof CallMemberUpdatedPermissionEvent
     */
    type: string;
}
/**
 * This event is sent to call members who did not accept/reject/join the call to notify they missed the call
 * @export
 * @interface CallMissedEvent
 */
export interface CallMissedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallMissedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallMissedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallMissedEvent
     */
    created_at: string;
    /**
     * List of members who missed the call
     * @type {Array<MemberResponse>}
     * @memberof CallMissedEvent
     */
    members: Array<MemberResponse>;
    /**
     *
     * @type {boolean}
     * @memberof CallMissedEvent
     */
    notify_user: boolean;
    /**
     * Call session ID
     * @type {string}
     * @memberof CallMissedEvent
     */
    session_id: string;
    /**
     * The type of event: "call.notification" in this case
     * @type {string}
     * @memberof CallMissedEvent
     */
    type: string;
    /**
     *
     * @type {UserResponse}
     * @memberof CallMissedEvent
     */
    user: UserResponse;
}
/**
 * This event is sent when a moderation blur action is applied to a user's video stream
 * @export
 * @interface CallModerationBlurEvent
 */
export interface CallModerationBlurEvent {
    /**
     *
     * @type {string}
     * @memberof CallModerationBlurEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallModerationBlurEvent
     */
    created_at: string;
    /**
     * Custom data associated with the moderation action
     * @type {{ [key: string]: any; }}
     * @memberof CallModerationBlurEvent
     */
    custom: {
        [key: string]: any;
    };
    /**
     * The type of event: "call.moderation_blur" in this case
     * @type {string}
     * @memberof CallModerationBlurEvent
     */
    type: string;
    /**
     * The user ID whose video stream is being blurred
     * @type {string}
     * @memberof CallModerationBlurEvent
     */
    user_id: string;
}
/**
 * This event is sent when a moderation warning is issued to a user
 * @export
 * @interface CallModerationWarningEvent
 */
export interface CallModerationWarningEvent {
    /**
     *
     * @type {string}
     * @memberof CallModerationWarningEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallModerationWarningEvent
     */
    created_at: string;
    /**
     * Custom data associated with the moderation action
     * @type {{ [key: string]: any; }}
     * @memberof CallModerationWarningEvent
     */
    custom: {
        [key: string]: any;
    };
    /**
     * The warning message
     * @type {string}
     * @memberof CallModerationWarningEvent
     */
    message: string;
    /**
     * The type of event: "call.moderation_warning" in this case
     * @type {string}
     * @memberof CallModerationWarningEvent
     */
    type: string;
    /**
     * The user ID who is receiving the warning
     * @type {string}
     * @memberof CallModerationWarningEvent
     */
    user_id: string;
}
/**
 * This event is sent to all call members to notify they are getting called
 * @export
 * @interface CallNotificationEvent
 */
export interface CallNotificationEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallNotificationEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallNotificationEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallNotificationEvent
     */
    created_at: string;
    /**
     * Call members
     * @type {Array<MemberResponse>}
     * @memberof CallNotificationEvent
     */
    members: Array<MemberResponse>;
    /**
     * Call session ID
     * @type {string}
     * @memberof CallNotificationEvent
     */
    session_id: string;
    /**
     * The type of event: "call.notification" in this case
     * @type {string}
     * @memberof CallNotificationEvent
     */
    type: string;
    /**
     *
     * @type {UserResponse}
     * @memberof CallNotificationEvent
     */
    user: UserResponse;
}
/**
 *
 * @export
 * @interface CallParticipantCountReport
 */
export interface CallParticipantCountReport {
    /**
     *
     * @type {Array<ReportByHistogramBucket>}
     * @memberof CallParticipantCountReport
     */
    histogram: Array<ReportByHistogramBucket>;
}
/**
 *
 * @export
 * @interface CallParticipantCountReportResponse
 */
export interface CallParticipantCountReportResponse {
    /**
     *
     * @type {Array<DailyAggregateCallParticipantCountReportResponse>}
     * @memberof CallParticipantCountReportResponse
     */
    daily: Array<DailyAggregateCallParticipantCountReportResponse>;
}
/**
 *
 * @export
 * @interface CallParticipantResponse
 */
export interface CallParticipantResponse {
    /**
     *
     * @type {string}
     * @memberof CallParticipantResponse
     */
    joined_at: string;
    /**
     *
     * @type {string}
     * @memberof CallParticipantResponse
     */
    role: string;
    /**
     *
     * @type {UserResponse}
     * @memberof CallParticipantResponse
     */
    user: UserResponse;
    /**
     *
     * @type {string}
     * @memberof CallParticipantResponse
     */
    user_session_id: string;
}
/**
 *
 * @export
 * @interface CallParticipantTimeline
 */
export interface CallParticipantTimeline {
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof CallParticipantTimeline
     */
    data: {
        [key: string]: any;
    };
    /**
     *
     * @type {string}
     * @memberof CallParticipantTimeline
     */
    severity: string;
    /**
     *
     * @type {string}
     * @memberof CallParticipantTimeline
     */
    timestamp: string;
    /**
     *
     * @type {string}
     * @memberof CallParticipantTimeline
     */
    type: string;
}
/**
 * This event is sent when a reaction is sent in a call, clients should use this to show the reaction in the call screen
 * @export
 * @interface CallReactionEvent
 */
export interface CallReactionEvent {
    /**
     *
     * @type {string}
     * @memberof CallReactionEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallReactionEvent
     */
    created_at: string;
    /**
     *
     * @type {ReactionResponse}
     * @memberof CallReactionEvent
     */
    reaction: ReactionResponse;
    /**
     * The type of event: "call.reaction_new" in this case
     * @type {string}
     * @memberof CallReactionEvent
     */
    type: string;
}
/**
 * CallRecording represents a recording of a call.
 * @export
 * @interface CallRecording
 */
export interface CallRecording {
    /**
     *
     * @type {string}
     * @memberof CallRecording
     */
    end_time: string;
    /**
     *
     * @type {string}
     * @memberof CallRecording
     */
    filename: string;
    /**
     *
     * @type {string}
     * @memberof CallRecording
     */
    recording_type: string;
    /**
     *
     * @type {string}
     * @memberof CallRecording
     */
    session_id: string;
    /**
     *
     * @type {string}
     * @memberof CallRecording
     */
    start_time: string;
    /**
     *
     * @type {string}
     * @memberof CallRecording
     */
    url: string;
}
/**
 * This event is sent when call recording has failed
 * @export
 * @interface CallRecordingFailedEvent
 */
export interface CallRecordingFailedEvent {
    /**
     *
     * @type {string}
     * @memberof CallRecordingFailedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallRecordingFailedEvent
     */
    created_at: string;
    /**
     *
     * @type {string}
     * @memberof CallRecordingFailedEvent
     */
    egress_id: string;
    /**
     * The type of recording
     * @type {string}
     * @memberof CallRecordingFailedEvent
     */
    recording_type: CallRecordingFailedEventRecordingTypeEnum;
    /**
     * The type of event: "call.recording_failed" in this case
     * @type {string}
     * @memberof CallRecordingFailedEvent
     */
    type: string;
}
/**
 * @export
 */
export declare const CallRecordingFailedEventRecordingTypeEnum: {
    readonly COMPOSITE: "composite";
    readonly INDIVIDUAL: "individual";
    readonly RAW: "raw";
};
export type CallRecordingFailedEventRecordingTypeEnum = (typeof CallRecordingFailedEventRecordingTypeEnum)[keyof typeof CallRecordingFailedEventRecordingTypeEnum];
/**
 * This event is sent when call recording is ready
 * @export
 * @interface CallRecordingReadyEvent
 */
export interface CallRecordingReadyEvent {
    /**
     *
     * @type {string}
     * @memberof CallRecordingReadyEvent
     */
    call_cid: string;
    /**
     *
     * @type {CallRecording}
     * @memberof CallRecordingReadyEvent
     */
    call_recording: CallRecording;
    /**
     *
     * @type {string}
     * @memberof CallRecordingReadyEvent
     */
    created_at: string;
    /**
     *
     * @type {string}
     * @memberof CallRecordingReadyEvent
     */
    egress_id: string;
    /**
     * The type of recording
     * @type {string}
     * @memberof CallRecordingReadyEvent
     */
    recording_type: CallRecordingReadyEventRecordingTypeEnum;
    /**
     * The type of event: "call.recording_ready" in this case
     * @type {string}
     * @memberof CallRecordingReadyEvent
     */
    type: string;
}
/**
 * @export
 */
export declare const CallRecordingReadyEventRecordingTypeEnum: {
    readonly COMPOSITE: "composite";
    readonly INDIVIDUAL: "individual";
    readonly RAW: "raw";
};
export type CallRecordingReadyEventRecordingTypeEnum = (typeof CallRecordingReadyEventRecordingTypeEnum)[keyof typeof CallRecordingReadyEventRecordingTypeEnum];
/**
 * This event is sent when call recording has started
 * @export
 * @interface CallRecordingStartedEvent
 */
export interface CallRecordingStartedEvent {
    /**
     *
     * @type {string}
     * @memberof CallRecordingStartedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallRecordingStartedEvent
     */
    created_at: string;
    /**
     *
     * @type {string}
     * @memberof CallRecordingStartedEvent
     */
    egress_id: string;
    /**
     * The type of recording
     * @type {string}
     * @memberof CallRecordingStartedEvent
     */
    recording_type: CallRecordingStartedEventRecordingTypeEnum;
    /**
     * The type of event: "call.recording_started" in this case
     * @type {string}
     * @memberof CallRecordingStartedEvent
     */
    type: string;
}
/**
 * @export
 */
export declare const CallRecordingStartedEventRecordingTypeEnum: {
    readonly COMPOSITE: "composite";
    readonly INDIVIDUAL: "individual";
    readonly RAW: "raw";
};
export type CallRecordingStartedEventRecordingTypeEnum = (typeof CallRecordingStartedEventRecordingTypeEnum)[keyof typeof CallRecordingStartedEventRecordingTypeEnum];
/**
 * This event is sent when call recording has stopped
 * @export
 * @interface CallRecordingStoppedEvent
 */
export interface CallRecordingStoppedEvent {
    /**
     *
     * @type {string}
     * @memberof CallRecordingStoppedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallRecordingStoppedEvent
     */
    created_at: string;
    /**
     *
     * @type {string}
     * @memberof CallRecordingStoppedEvent
     */
    egress_id: string;
    /**
     * The type of recording
     * @type {string}
     * @memberof CallRecordingStoppedEvent
     */
    recording_type: CallRecordingStoppedEventRecordingTypeEnum;
    /**
     * The type of event: "call.recording_stopped" in this case
     * @type {string}
     * @memberof CallRecordingStoppedEvent
     */
    type: string;
}
/**
 * @export
 */
export declare const CallRecordingStoppedEventRecordingTypeEnum: {
    readonly COMPOSITE: "composite";
    readonly INDIVIDUAL: "individual";
    readonly RAW: "raw";
};
export type CallRecordingStoppedEventRecordingTypeEnum = (typeof CallRecordingStoppedEventRecordingTypeEnum)[keyof typeof CallRecordingStoppedEventRecordingTypeEnum];
/**
 * This event is sent when a user rejects a notification to join a call.
 * @export
 * @interface CallRejectedEvent
 */
export interface CallRejectedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallRejectedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallRejectedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallRejectedEvent
     */
    created_at: string;
    /**
     * Provides information about why the call was rejected. You can provide any value, but the Stream API and SDKs use these default values: rejected, cancel, timeout and busy
     * @type {string}
     * @memberof CallRejectedEvent
     */
    reason?: string;
    /**
     * The type of event: "call.rejected" in this case
     * @type {string}
     * @memberof CallRejectedEvent
     */
    type: string;
    /**
     *
     * @type {UserResponse}
     * @memberof CallRejectedEvent
     */
    user: UserResponse;
}
/**
 *
 * @export
 * @interface CallReportResponse
 */
export interface CallReportResponse {
    /**
     *
     * @type {string}
     * @memberof CallReportResponse
     */
    ended_at?: string;
    /**
     *
     * @type {number}
     * @memberof CallReportResponse
     */
    score: number;
    /**
     *
     * @type {string}
     * @memberof CallReportResponse
     */
    started_at?: string;
}
/**
 * CallRequest is the payload for creating a call.
 * @export
 * @interface CallRequest
 */
export interface CallRequest {
    /**
     *
     * @type {string}
     * @memberof CallRequest
     */
    channel_cid?: string;
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof CallRequest
     */
    custom?: {
        [key: string]: any;
    };
    /**
     *
     * @type {Array<MemberRequest>}
     * @memberof CallRequest
     */
    members?: Array<MemberRequest>;
    /**
     *
     * @type {CallSettingsRequest}
     * @memberof CallRequest
     */
    settings_override?: CallSettingsRequest;
    /**
     *
     * @type {string}
     * @memberof CallRequest
     */
    starts_at?: string;
    /**
     *
     * @type {string}
     * @memberof CallRequest
     */
    team?: string;
    /**
     *
     * @type {boolean}
     * @memberof CallRequest
     */
    video?: boolean;
}
/**
 * Represents a call
 * @export
 * @interface CallResponse
 */
export interface CallResponse {
    /**
     *
     * @type {boolean}
     * @memberof CallResponse
     */
    backstage: boolean;
    /**
     *
     * @type {Array<string>}
     * @memberof CallResponse
     */
    blocked_user_ids: Array<string>;
    /**
     *
     * @type {boolean}
     * @memberof CallResponse
     */
    captioning: boolean;
    /**
     *
     * @type {string}
     * @memberof CallResponse
     */
    channel_cid?: string;
    /**
     * The unique identifier for a call (<type>:<id>)
     * @type {string}
     * @memberof CallResponse
     */
    cid: string;
    /**
     * Date/time of creation
     * @type {string}
     * @memberof CallResponse
     */
    created_at: string;
    /**
     *
     * @type {UserResponse}
     * @memberof CallResponse
     */
    created_by: UserResponse;
    /**
     *
     * @type {string}
     * @memberof CallResponse
     */
    current_session_id: string;
    /**
     * Custom data for this object
     * @type {{ [key: string]: any; }}
     * @memberof CallResponse
     */
    custom: {
        [key: string]: any;
    };
    /**
     *
     * @type {EgressResponse}
     * @memberof CallResponse
     */
    egress: EgressResponse;
    /**
     * Date/time when the call ended
     * @type {string}
     * @memberof CallResponse
     */
    ended_at?: string;
    /**
     * Call ID
     * @type {string}
     * @memberof CallResponse
     */
    id: string;
    /**
     *
     * @type {CallIngressResponse}
     * @memberof CallResponse
     */
    ingress: CallIngressResponse;
    /**
     *
     * @type {number}
     * @memberof CallResponse
     */
    join_ahead_time_seconds?: number;
    /**
     *
     * @type {boolean}
     * @memberof CallResponse
     */
    recording: boolean;
    /**
     *
     * @type {CallSessionResponse}
     * @memberof CallResponse
     */
    session?: CallSessionResponse;
    /**
     *
     * @type {CallSettingsResponse}
     * @memberof CallResponse
     */
    settings: CallSettingsResponse;
    /**
     * Date/time when the call will start
     * @type {string}
     * @memberof CallResponse
     */
    starts_at?: string;
    /**
     *
     * @type {string}
     * @memberof CallResponse
     */
    team?: string;
    /**
     *
     * @type {ThumbnailResponse}
     * @memberof CallResponse
     */
    thumbnails?: ThumbnailResponse;
    /**
     *
     * @type {boolean}
     * @memberof CallResponse
     */
    transcribing: boolean;
    /**
     *
     * @type {boolean}
     * @memberof CallResponse
     */
    translating: boolean;
    /**
     * The type of call
     * @type {string}
     * @memberof CallResponse
     */
    type: string;
    /**
     * Date/time of the last update
     * @type {string}
     * @memberof CallResponse
     */
    updated_at: string;
}
/**
 * This event is sent to all call members to notify they are getting called
 * @export
 * @interface CallRingEvent
 */
export interface CallRingEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallRingEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallRingEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallRingEvent
     */
    created_at: string;
    /**
     * Call members
     * @type {Array<MemberResponse>}
     * @memberof CallRingEvent
     */
    members: Array<MemberResponse>;
    /**
     * Call session ID
     * @type {string}
     * @memberof CallRingEvent
     */
    session_id: string;
    /**
     * The type of event: "call.notification" in this case
     * @type {string}
     * @memberof CallRingEvent
     */
    type: string;
    /**
     *
     * @type {UserResponse}
     * @memberof CallRingEvent
     */
    user: UserResponse;
    /**
     *
     * @type {boolean}
     * @memberof CallRingEvent
     */
    video: boolean;
}
/**
 * This event is sent when a call RTMP broadcast has failed
 * @export
 * @interface CallRtmpBroadcastFailedEvent
 */
export interface CallRtmpBroadcastFailedEvent {
    /**
     * The unique identifier for a call (<type>:<id>)
     * @type {string}
     * @memberof CallRtmpBroadcastFailedEvent
     */
    call_cid: string;
    /**
     * Date/time of creation
     * @type {string}
     * @memberof CallRtmpBroadcastFailedEvent
     */
    created_at: string;
    /**
     * Name of the given RTMP broadcast
     * @type {string}
     * @memberof CallRtmpBroadcastFailedEvent
     */
    name: string;
    /**
     * The type of event: "call.rtmp_broadcast_failed" in this case
     * @type {string}
     * @memberof CallRtmpBroadcastFailedEvent
     */
    type: string;
}
/**
 * This event is sent when RTMP broadcast has started
 * @export
 * @interface CallRtmpBroadcastStartedEvent
 */
export interface CallRtmpBroadcastStartedEvent {
    /**
     * The unique identifier for a call (<type>:<id>)
     * @type {string}
     * @memberof CallRtmpBroadcastStartedEvent
     */
    call_cid: string;
    /**
     * Date/time of creation
     * @type {string}
     * @memberof CallRtmpBroadcastStartedEvent
     */
    created_at: string;
    /**
     * Name of the given RTMP broadcast
     * @type {string}
     * @memberof CallRtmpBroadcastStartedEvent
     */
    name: string;
    /**
     * The type of event: "call.rtmp_broadcast_started" in this case
     * @type {string}
     * @memberof CallRtmpBroadcastStartedEvent
     */
    type: string;
}
/**
 * This event is sent when RTMP broadcast has stopped
 * @export
 * @interface CallRtmpBroadcastStoppedEvent
 */
export interface CallRtmpBroadcastStoppedEvent {
    /**
     * The unique identifier for a call (<type>:<id>)
     * @type {string}
     * @memberof CallRtmpBroadcastStoppedEvent
     */
    call_cid: string;
    /**
     * Date/time of creation
     * @type {string}
     * @memberof CallRtmpBroadcastStoppedEvent
     */
    created_at: string;
    /**
     * Name of the given RTMP broadcast
     * @type {string}
     * @memberof CallRtmpBroadcastStoppedEvent
     */
    name: string;
    /**
     * The type of event: "call.rtmp_broadcast_stopped" in this case
     * @type {string}
     * @memberof CallRtmpBroadcastStoppedEvent
     */
    type: string;
}
/**
 * This event is sent when a call session ends
 * @export
 * @interface CallSessionEndedEvent
 */
export interface CallSessionEndedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallSessionEndedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallSessionEndedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallSessionEndedEvent
     */
    created_at: string;
    /**
     * Call session ID
     * @type {string}
     * @memberof CallSessionEndedEvent
     */
    session_id: string;
    /**
     * The type of event: "call.session_ended" in this case
     * @type {string}
     * @memberof CallSessionEndedEvent
     */
    type: string;
}
/**
 * This event is sent when the participant counts in a call session are updated
 * @export
 * @interface CallSessionParticipantCountsUpdatedEvent
 */
export interface CallSessionParticipantCountsUpdatedEvent {
    /**
     *
     * @type {number}
     * @memberof CallSessionParticipantCountsUpdatedEvent
     */
    anonymous_participant_count: number;
    /**
     *
     * @type {string}
     * @memberof CallSessionParticipantCountsUpdatedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallSessionParticipantCountsUpdatedEvent
     */
    created_at: string;
    /**
     *
     * @type {{ [key: string]: number; }}
     * @memberof CallSessionParticipantCountsUpdatedEvent
     */
    participants_count_by_role: {
        [key: string]: number;
    };
    /**
     * Call session ID
     * @type {string}
     * @memberof CallSessionParticipantCountsUpdatedEvent
     */
    session_id: string;
    /**
     * The type of event: "call.session_participant_count_updated" in this case
     * @type {string}
     * @memberof CallSessionParticipantCountsUpdatedEvent
     */
    type: string;
}
/**
 * This event is sent when a participant joins a call session
 * @export
 * @interface CallSessionParticipantJoinedEvent
 */
export interface CallSessionParticipantJoinedEvent {
    /**
     *
     * @type {string}
     * @memberof CallSessionParticipantJoinedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallSessionParticipantJoinedEvent
     */
    created_at: string;
    /**
     *
     * @type {CallParticipantResponse}
     * @memberof CallSessionParticipantJoinedEvent
     */
    participant: CallParticipantResponse;
    /**
     * Call session ID
     * @type {string}
     * @memberof CallSessionParticipantJoinedEvent
     */
    session_id: string;
    /**
     * The type of event: "call.session_participant_joined" in this case
     * @type {string}
     * @memberof CallSessionParticipantJoinedEvent
     */
    type: string;
}
/**
 * This event is sent when a participant leaves a call session
 * @export
 * @interface CallSessionParticipantLeftEvent
 */
export interface CallSessionParticipantLeftEvent {
    /**
     *
     * @type {string}
     * @memberof CallSessionParticipantLeftEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallSessionParticipantLeftEvent
     */
    created_at: string;
    /**
     * The duration participant was in the session in seconds
     * @type {number}
     * @memberof CallSessionParticipantLeftEvent
     */
    duration_seconds: number;
    /**
     *
     * @type {CallParticipantResponse}
     * @memberof CallSessionParticipantLeftEvent
     */
    participant: CallParticipantResponse;
    /**
     * The reason why the participant left the session
     * @type {string}
     * @memberof CallSessionParticipantLeftEvent
     */
    reason?: string;
    /**
     * Call session ID
     * @type {string}
     * @memberof CallSessionParticipantLeftEvent
     */
    session_id: string;
    /**
     * The type of event: "call.session_participant_left" in this case
     * @type {string}
     * @memberof CallSessionParticipantLeftEvent
     */
    type: string;
}
/**
 *
 * @export
 * @interface CallSessionResponse
 */
export interface CallSessionResponse {
    /**
     *
     * @type {{ [key: string]: string; }}
     * @memberof CallSessionResponse
     */
    accepted_by: {
        [key: string]: string;
    };
    /**
     *
     * @type {number}
     * @memberof CallSessionResponse
     */
    anonymous_participant_count: number;
    /**
     *
     * @type {string}
     * @memberof CallSessionResponse
     */
    created_at: string;
    /**
     *
     * @type {string}
     * @memberof CallSessionResponse
     */
    ended_at?: string;
    /**
     *
     * @type {string}
     * @memberof CallSessionResponse
     */
    id: string;
    /**
     *
     * @type {string}
     * @memberof CallSessionResponse
     */
    live_ended_at?: string;
    /**
     *
     * @type {string}
     * @memberof CallSessionResponse
     */
    live_started_at?: string;
    /**
     *
     * @type {{ [key: string]: string; }}
     * @memberof CallSessionResponse
     */
    missed_by: {
        [key: string]: string;
    };
    /**
     *
     * @type {Array<CallParticipantResponse>}
     * @memberof CallSessionResponse
     */
    participants: Array<CallParticipantResponse>;
    /**
     *
     * @type {{ [key: string]: number; }}
     * @memberof CallSessionResponse
     */
    participants_count_by_role: {
        [key: string]: number;
    };
    /**
     *
     * @type {{ [key: string]: string; }}
     * @memberof CallSessionResponse
     */
    rejected_by: {
        [key: string]: string;
    };
    /**
     *
     * @type {string}
     * @memberof CallSessionResponse
     */
    started_at?: string;
    /**
     *
     * @type {string}
     * @memberof CallSessionResponse
     */
    timer_ends_at?: string;
}
/**
 * This event is sent when a call session starts
 * @export
 * @interface CallSessionStartedEvent
 */
export interface CallSessionStartedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallSessionStartedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallSessionStartedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallSessionStartedEvent
     */
    created_at: string;
    /**
     * Call session ID
     * @type {string}
     * @memberof CallSessionStartedEvent
     */
    session_id: string;
    /**
     * The type of event: "call.session_started" in this case
     * @type {string}
     * @memberof CallSessionStartedEvent
     */
    type: string;
}
/**
 *
 * @export
 * @interface CallSettingsRequest
 */
export interface CallSettingsRequest {
    /**
     *
     * @type {AudioSettingsRequest}
     * @memberof CallSettingsRequest
     */
    audio?: AudioSettingsRequest;
    /**
     *
     * @type {BackstageSettingsRequest}
     * @memberof CallSettingsRequest
     */
    backstage?: BackstageSettingsRequest;
    /**
     *
     * @type {BroadcastSettingsRequest}
     * @memberof CallSettingsRequest
     */
    broadcasting?: BroadcastSettingsRequest;
    /**
     *
     * @type {FrameRecordingSettingsRequest}
     * @memberof CallSettingsRequest
     */
    frame_recording?: FrameRecordingSettingsRequest;
    /**
     *
     * @type {GeofenceSettingsRequest}
     * @memberof CallSettingsRequest
     */
    geofencing?: GeofenceSettingsRequest;
    /**
     *
     * @type {IndividualRecordingSettingsRequest}
     * @memberof CallSettingsRequest
     */
    individual_recording?: IndividualRecordingSettingsRequest;
    /**
     *
     * @type {IngressSettingsRequest}
     * @memberof CallSettingsRequest
     */
    ingress?: IngressSettingsRequest;
    /**
     *
     * @type {LimitsSettingsRequest}
     * @memberof CallSettingsRequest
     */
    limits?: LimitsSettingsRequest;
    /**
     *
     * @type {RawRecordingSettingsRequest}
     * @memberof CallSettingsRequest
     */
    raw_recording?: RawRecordingSettingsRequest;
    /**
     *
     * @type {RecordSettingsRequest}
     * @memberof CallSettingsRequest
     */
    recording?: RecordSettingsRequest;
    /**
     *
     * @type {RingSettingsRequest}
     * @memberof CallSettingsRequest
     */
    ring?: RingSettingsRequest;
    /**
     *
     * @type {ScreensharingSettingsRequest}
     * @memberof CallSettingsRequest
     */
    screensharing?: ScreensharingSettingsRequest;
    /**
     *
     * @type {SessionSettingsRequest}
     * @memberof CallSettingsRequest
     */
    session?: SessionSettingsRequest;
    /**
     *
     * @type {ThumbnailsSettingsRequest}
     * @memberof CallSettingsRequest
     */
    thumbnails?: ThumbnailsSettingsRequest;
    /**
     *
     * @type {TranscriptionSettingsRequest}
     * @memberof CallSettingsRequest
     */
    transcription?: TranscriptionSettingsRequest;
    /**
     *
     * @type {VideoSettingsRequest}
     * @memberof CallSettingsRequest
     */
    video?: VideoSettingsRequest;
}
/**
 *
 * @export
 * @interface CallSettingsResponse
 */
export interface CallSettingsResponse {
    /**
     *
     * @type {AudioSettingsResponse}
     * @memberof CallSettingsResponse
     */
    audio: AudioSettingsResponse;
    /**
     *
     * @type {BackstageSettingsResponse}
     * @memberof CallSettingsResponse
     */
    backstage: BackstageSettingsResponse;
    /**
     *
     * @type {BroadcastSettingsResponse}
     * @memberof CallSettingsResponse
     */
    broadcasting: BroadcastSettingsResponse;
    /**
     *
     * @type {FrameRecordingSettingsResponse}
     * @memberof CallSettingsResponse
     */
    frame_recording: FrameRecordingSettingsResponse;
    /**
     *
     * @type {GeofenceSettingsResponse}
     * @memberof CallSettingsResponse
     */
    geofencing: GeofenceSettingsResponse;
    /**
     *
     * @type {IndividualRecordingSettingsResponse}
     * @memberof CallSettingsResponse
     */
    individual_recording: IndividualRecordingSettingsResponse;
    /**
     *
     * @type {IngressSettingsResponse}
     * @memberof CallSettingsResponse
     */
    ingress?: IngressSettingsResponse;
    /**
     *
     * @type {LimitsSettingsResponse}
     * @memberof CallSettingsResponse
     */
    limits: LimitsSettingsResponse;
    /**
     *
     * @type {RawRecordingSettingsResponse}
     * @memberof CallSettingsResponse
     */
    raw_recording: RawRecordingSettingsResponse;
    /**
     *
     * @type {RecordSettingsResponse}
     * @memberof CallSettingsResponse
     */
    recording: RecordSettingsResponse;
    /**
     *
     * @type {RingSettingsResponse}
     * @memberof CallSettingsResponse
     */
    ring: RingSettingsResponse;
    /**
     *
     * @type {ScreensharingSettingsResponse}
     * @memberof CallSettingsResponse
     */
    screensharing: ScreensharingSettingsResponse;
    /**
     *
     * @type {SessionSettingsResponse}
     * @memberof CallSettingsResponse
     */
    session: SessionSettingsResponse;
    /**
     *
     * @type {ThumbnailsSettingsResponse}
     * @memberof CallSettingsResponse
     */
    thumbnails: ThumbnailsSettingsResponse;
    /**
     *
     * @type {TranscriptionSettingsResponse}
     * @memberof CallSettingsResponse
     */
    transcription: TranscriptionSettingsResponse;
    /**
     *
     * @type {VideoSettingsResponse}
     * @memberof CallSettingsResponse
     */
    video: VideoSettingsResponse;
}
/**
 * CallStateResponseFields is the payload for call state response
 * @export
 * @interface CallStateResponseFields
 */
export interface CallStateResponseFields {
    /**
     *
     * @type {CallResponse}
     * @memberof CallStateResponseFields
     */
    call: CallResponse;
    /**
     * List of call members
     * @type {Array<MemberResponse>}
     * @memberof CallStateResponseFields
     */
    members: Array<MemberResponse>;
    /**
     *
     * @type {MemberResponse}
     * @memberof CallStateResponseFields
     */
    membership?: MemberResponse;
    /**
     *
     * @type {Array<OwnCapability>}
     * @memberof CallStateResponseFields
     */
    own_capabilities: Array<OwnCapability>;
}
/**
 *
 * @export
 * @interface CallStatsLocation
 */
export interface CallStatsLocation {
    /**
     *
     * @type {number}
     * @memberof CallStatsLocation
     */
    accuracy_radius_meters?: number;
    /**
     *
     * @type {string}
     * @memberof CallStatsLocation
     */
    city?: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsLocation
     */
    continent?: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsLocation
     */
    country?: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsLocation
     */
    country_iso_code?: string;
    /**
     *
     * @type {number}
     * @memberof CallStatsLocation
     */
    latitude?: number;
    /**
     *
     * @type {number}
     * @memberof CallStatsLocation
     */
    longitude?: number;
    /**
     *
     * @type {string}
     * @memberof CallStatsLocation
     */
    subdivision?: string;
}
/**
 *
 * @export
 * @interface CallStatsMapLocation
 */
export interface CallStatsMapLocation {
    /**
     *
     * @type {number}
     * @memberof CallStatsMapLocation
     */
    count: number;
    /**
     *
     * @type {number}
     * @memberof CallStatsMapLocation
     */
    live_count: number;
    /**
     *
     * @type {CallStatsLocation}
     * @memberof CallStatsMapLocation
     */
    location?: CallStatsLocation;
}
/**
 *
 * @export
 * @interface CallStatsMapPublisher
 */
export interface CallStatsMapPublisher {
    /**
     *
     * @type {boolean}
     * @memberof CallStatsMapPublisher
     */
    is_live: boolean;
    /**
     *
     * @type {CallStatsLocation}
     * @memberof CallStatsMapPublisher
     */
    location?: CallStatsLocation;
    /**
     *
     * @type {string}
     * @memberof CallStatsMapPublisher
     */
    name?: string;
    /**
     *
     * @type {PublishedTrackFlags}
     * @memberof CallStatsMapPublisher
     */
    published_tracks: PublishedTrackFlags;
    /**
     *
     * @type {string}
     * @memberof CallStatsMapPublisher
     */
    publisher_type?: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsMapPublisher
     */
    user_id: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsMapPublisher
     */
    user_session_id: string;
}
/**
 *
 * @export
 * @interface CallStatsMapPublishers
 */
export interface CallStatsMapPublishers {
    /**
     *
     * @type {Array<CallStatsMapPublisher>}
     * @memberof CallStatsMapPublishers
     */
    publishers: Array<CallStatsMapPublisher>;
}
/**
 *
 * @export
 * @interface CallStatsMapSFUs
 */
export interface CallStatsMapSFUs {
    /**
     *
     * @type {Array<SFULocationResponse>}
     * @memberof CallStatsMapSFUs
     */
    locations: Array<SFULocationResponse>;
}
/**
 *
 * @export
 * @interface CallStatsMapSubscriber
 */
export interface CallStatsMapSubscriber {
    /**
     *
     * @type {boolean}
     * @memberof CallStatsMapSubscriber
     */
    is_live: boolean;
    /**
     *
     * @type {CallStatsLocation}
     * @memberof CallStatsMapSubscriber
     */
    location?: CallStatsLocation;
    /**
     *
     * @type {string}
     * @memberof CallStatsMapSubscriber
     */
    name?: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsMapSubscriber
     */
    user_id: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsMapSubscriber
     */
    user_session_id: string;
}
/**
 *
 * @export
 * @interface CallStatsMapSubscribers
 */
export interface CallStatsMapSubscribers {
    /**
     *
     * @type {Array<CallStatsMapLocation>}
     * @memberof CallStatsMapSubscribers
     */
    locations: Array<CallStatsMapLocation>;
    /**
     *
     * @type {Array<CallStatsMapSubscriber>}
     * @memberof CallStatsMapSubscribers
     */
    participants?: Array<CallStatsMapSubscriber>;
}
/**
 *
 * @export
 * @interface CallStatsParticipant
 */
export interface CallStatsParticipant {
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipant
     */
    latest_activity_at?: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipant
     */
    name?: string;
    /**
     *
     * @type {Array<string>}
     * @memberof CallStatsParticipant
     */
    roles?: Array<string>;
    /**
     *
     * @type {Array<CallStatsParticipantSession>}
     * @memberof CallStatsParticipant
     */
    sessions: Array<CallStatsParticipantSession>;
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipant
     */
    user_id: string;
}
/**
 *
 * @export
 * @interface CallStatsParticipantCounts
 */
export interface CallStatsParticipantCounts {
    /**
     *
     * @type {number}
     * @memberof CallStatsParticipantCounts
     */
    live_sessions: number;
    /**
     *
     * @type {number}
     * @memberof CallStatsParticipantCounts
     */
    participants: number;
    /**
     *
     * @type {number}
     * @memberof CallStatsParticipantCounts
     */
    peak_concurrent_sessions: number;
    /**
     *
     * @type {number}
     * @memberof CallStatsParticipantCounts
     */
    peak_concurrent_users: number;
    /**
     *
     * @type {number}
     * @memberof CallStatsParticipantCounts
     */
    publishers: number;
    /**
     *
     * @type {number}
     * @memberof CallStatsParticipantCounts
     */
    sessions: number;
}
/**
 *
 * @export
 * @interface CallStatsParticipantSession
 */
export interface CallStatsParticipantSession {
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipantSession
     */
    browser?: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipantSession
     */
    browser_version?: string;
    /**
     *
     * @type {number}
     * @memberof CallStatsParticipantSession
     */
    cq_score?: number;
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipantSession
     */
    current_ip?: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipantSession
     */
    current_sfu?: string;
    /**
     *
     * @type {number}
     * @memberof CallStatsParticipantSession
     */
    distance_to_sfu_kilometers?: number;
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipantSession
     */
    ended_at?: string;
    /**
     *
     * @type {boolean}
     * @memberof CallStatsParticipantSession
     */
    is_live: boolean;
    /**
     *
     * @type {CallStatsLocation}
     * @memberof CallStatsParticipantSession
     */
    location?: CallStatsLocation;
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipantSession
     */
    os?: string;
    /**
     *
     * @type {PublishedTrackFlags}
     * @memberof CallStatsParticipantSession
     */
    published_tracks: PublishedTrackFlags;
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipantSession
     */
    publisher_type?: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipantSession
     */
    sdk?: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipantSession
     */
    sdk_version?: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipantSession
     */
    started_at?: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipantSession
     */
    unified_session_id?: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipantSession
     */
    user_session_id: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsParticipantSession
     */
    webrtc_version?: string;
}
/**
 * This event is sent when the insights report is ready
 * @export
 * @interface CallStatsReportReadyEvent
 */
export interface CallStatsReportReadyEvent {
    /**
     *
     * @type {string}
     * @memberof CallStatsReportReadyEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsReportReadyEvent
     */
    created_at: string;
    /**
     * Call session ID
     * @type {string}
     * @memberof CallStatsReportReadyEvent
     */
    session_id: string;
    /**
     * The type of event, "call.report_ready" in this case
     * @type {string}
     * @memberof CallStatsReportReadyEvent
     */
    type: string;
}
/**
 *
 * @export
 * @interface CallStatsReportSummaryResponse
 */
export interface CallStatsReportSummaryResponse {
    /**
     *
     * @type {string}
     * @memberof CallStatsReportSummaryResponse
     */
    call_cid: string;
    /**
     *
     * @type {number}
     * @memberof CallStatsReportSummaryResponse
     */
    call_duration_seconds: number;
    /**
     *
     * @type {string}
     * @memberof CallStatsReportSummaryResponse
     */
    call_session_id: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsReportSummaryResponse
     */
    call_status: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsReportSummaryResponse
     */
    created_at?: string;
    /**
     *
     * @type {string}
     * @memberof CallStatsReportSummaryResponse
     */
    first_stats_time: string;
    /**
     *
     * @type {number}
     * @memberof CallStatsReportSummaryResponse
     */
    min_user_rating?: number;
    /**
     *
     * @type {number}
     * @memberof CallStatsReportSummaryResponse
     */
    quality_score?: number;
}
/**
 * CallTranscription represents a transcription of a call.
 * @export
 * @interface CallTranscription
 */
export interface CallTranscription {
    /**
     *
     * @type {string}
     * @memberof CallTranscription
     */
    end_time: string;
    /**
     *
     * @type {string}
     * @memberof CallTranscription
     */
    filename: string;
    /**
     *
     * @type {string}
     * @memberof CallTranscription
     */
    session_id: string;
    /**
     *
     * @type {string}
     * @memberof CallTranscription
     */
    start_time: string;
    /**
     *
     * @type {string}
     * @memberof CallTranscription
     */
    url: string;
}
/**
 * This event is sent when call transcription has failed
 * @export
 * @interface CallTranscriptionFailedEvent
 */
export interface CallTranscriptionFailedEvent {
    /**
     *
     * @type {string}
     * @memberof CallTranscriptionFailedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallTranscriptionFailedEvent
     */
    created_at: string;
    /**
     *
     * @type {string}
     * @memberof CallTranscriptionFailedEvent
     */
    egress_id: string;
    /**
     * The error message detailing why transcription failed.
     * @type {string}
     * @memberof CallTranscriptionFailedEvent
     */
    error?: string;
    /**
     * The type of event: "call.transcription_failed" in this case
     * @type {string}
     * @memberof CallTranscriptionFailedEvent
     */
    type: string;
}
/**
 * This event is sent when call transcription is ready
 * @export
 * @interface CallTranscriptionReadyEvent
 */
export interface CallTranscriptionReadyEvent {
    /**
     *
     * @type {string}
     * @memberof CallTranscriptionReadyEvent
     */
    call_cid: string;
    /**
     *
     * @type {CallTranscription}
     * @memberof CallTranscriptionReadyEvent
     */
    call_transcription: CallTranscription;
    /**
     *
     * @type {string}
     * @memberof CallTranscriptionReadyEvent
     */
    created_at: string;
    /**
     *
     * @type {string}
     * @memberof CallTranscriptionReadyEvent
     */
    egress_id: string;
    /**
     * The type of event: "call.transcription_ready" in this case
     * @type {string}
     * @memberof CallTranscriptionReadyEvent
     */
    type: string;
}
/**
 * This event is sent when call transcription has started
 * @export
 * @interface CallTranscriptionStartedEvent
 */
export interface CallTranscriptionStartedEvent {
    /**
     *
     * @type {string}
     * @memberof CallTranscriptionStartedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallTranscriptionStartedEvent
     */
    created_at: string;
    /**
     *
     * @type {string}
     * @memberof CallTranscriptionStartedEvent
     */
    egress_id: string;
    /**
     * The type of event: "call.transcription_started" in this case
     * @type {string}
     * @memberof CallTranscriptionStartedEvent
     */
    type: string;
}
/**
 * This event is sent when call transcription has stopped
 * @export
 * @interface CallTranscriptionStoppedEvent
 */
export interface CallTranscriptionStoppedEvent {
    /**
     *
     * @type {string}
     * @memberof CallTranscriptionStoppedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallTranscriptionStoppedEvent
     */
    created_at: string;
    /**
     *
     * @type {string}
     * @memberof CallTranscriptionStoppedEvent
     */
    egress_id: string;
    /**
     * The type of event: "call.transcription_stopped" in this case
     * @type {string}
     * @memberof CallTranscriptionStoppedEvent
     */
    type: string;
}
/**
 * This event is sent when a call is updated, clients should use this update the local state of the call.
 * This event also contains the capabilities by role for the call, clients should update the own_capability for the current.
 * @export
 * @interface CallUpdatedEvent
 */
export interface CallUpdatedEvent {
    /**
     *
     * @type {CallResponse}
     * @memberof CallUpdatedEvent
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof CallUpdatedEvent
     */
    call_cid: string;
    /**
     * The capabilities by role for this call
     * @type {{ [key: string]: Array<string>; }}
     * @memberof CallUpdatedEvent
     */
    capabilities_by_role: {
        [key: string]: Array<string>;
    };
    /**
     *
     * @type {string}
     * @memberof CallUpdatedEvent
     */
    created_at: string;
    /**
     * The type of event: "call.updated" in this case
     * @type {string}
     * @memberof CallUpdatedEvent
     */
    type: string;
}
/**
 * This event is sent when a user submits feedback for a call.
 * @export
 * @interface CallUserFeedbackSubmittedEvent
 */
export interface CallUserFeedbackSubmittedEvent {
    /**
     *
     * @type {string}
     * @memberof CallUserFeedbackSubmittedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallUserFeedbackSubmittedEvent
     */
    created_at: string;
    /**
     * Custom data provided by the user
     * @type {{ [key: string]: any; }}
     * @memberof CallUserFeedbackSubmittedEvent
     */
    custom?: {
        [key: string]: any;
    };
    /**
     * The rating given by the user (1-5)
     * @type {number}
     * @memberof CallUserFeedbackSubmittedEvent
     */
    rating: number;
    /**
     * The reason provided by the user for the rating
     * @type {string}
     * @memberof CallUserFeedbackSubmittedEvent
     */
    reason?: string;
    /**
     *
     * @type {string}
     * @memberof CallUserFeedbackSubmittedEvent
     */
    sdk?: string;
    /**
     *
     * @type {string}
     * @memberof CallUserFeedbackSubmittedEvent
     */
    sdk_version?: string;
    /**
     * Call session ID
     * @type {string}
     * @memberof CallUserFeedbackSubmittedEvent
     */
    session_id: string;
    /**
     * The type of event, "call.user_feedback" in this case
     * @type {string}
     * @memberof CallUserFeedbackSubmittedEvent
     */
    type: string;
    /**
     *
     * @type {UserResponse}
     * @memberof CallUserFeedbackSubmittedEvent
     */
    user: UserResponse;
}
/**
 * This event is sent when a call member is muted
 * @export
 * @interface CallUserMutedEvent
 */
export interface CallUserMutedEvent {
    /**
     *
     * @type {string}
     * @memberof CallUserMutedEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CallUserMutedEvent
     */
    created_at: string;
    /**
     *
     * @type {string}
     * @memberof CallUserMutedEvent
     */
    from_user_id: string;
    /**
     *
     * @type {Array<string>}
     * @memberof CallUserMutedEvent
     */
    muted_user_ids: Array<string>;
    /**
     *
     * @type {string}
     * @memberof CallUserMutedEvent
     */
    reason: string;
    /**
     * The type of event: "call.user_muted" in this case
     * @type {string}
     * @memberof CallUserMutedEvent
     */
    type: string;
}
/**
 *
 * @export
 * @interface CallsPerDayReport
 */
export interface CallsPerDayReport {
    /**
     *
     * @type {number}
     * @memberof CallsPerDayReport
     */
    count: number;
}
/**
 *
 * @export
 * @interface CallsPerDayReportResponse
 */
export interface CallsPerDayReportResponse {
    /**
     *
     * @type {Array<DailyAggregateCallsPerDayReportResponse>}
     * @memberof CallsPerDayReportResponse
     */
    daily: Array<DailyAggregateCallsPerDayReportResponse>;
}
/**
 *
 * @export
 * @interface ChatActivityStatsResponse
 */
export interface ChatActivityStatsResponse {
    /**
     *
     * @type {MessageStatsResponse}
     * @memberof ChatActivityStatsResponse
     */
    Messages?: MessageStatsResponse;
}
/**
 * This event is sent when closed captions are being sent in a call, clients should use this to show the closed captions in the call screen
 * @export
 * @interface ClosedCaptionEvent
 */
export interface ClosedCaptionEvent {
    /**
     *
     * @type {string}
     * @memberof ClosedCaptionEvent
     */
    call_cid: string;
    /**
     *
     * @type {CallClosedCaption}
     * @memberof ClosedCaptionEvent
     */
    closed_caption: CallClosedCaption;
    /**
     *
     * @type {string}
     * @memberof ClosedCaptionEvent
     */
    created_at: string;
    /**
     * The type of event: "call.closed_caption" in this case
     * @type {string}
     * @memberof ClosedCaptionEvent
     */
    type: string;
}
/**
 *
 * @export
 * @interface CollectUserFeedbackRequest
 */
export interface CollectUserFeedbackRequest {
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof CollectUserFeedbackRequest
     */
    custom?: {
        [key: string]: any;
    };
    /**
     *
     * @type {number}
     * @memberof CollectUserFeedbackRequest
     */
    rating: number;
    /**
     *
     * @type {string}
     * @memberof CollectUserFeedbackRequest
     */
    reason?: string;
    /**
     *
     * @type {string}
     * @memberof CollectUserFeedbackRequest
     */
    sdk: string;
    /**
     *
     * @type {string}
     * @memberof CollectUserFeedbackRequest
     */
    sdk_version: string;
    /**
     *
     * @type {string}
     * @memberof CollectUserFeedbackRequest
     */
    user_session_id?: string;
}
/**
 * Basic response information
 * @export
 * @interface CollectUserFeedbackResponse
 */
export interface CollectUserFeedbackResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof CollectUserFeedbackResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface CompositeRecordingResponse
 */
export interface CompositeRecordingResponse {
    /**
     *
     * @type {string}
     * @memberof CompositeRecordingResponse
     */
    status: string;
}
/**
 *
 * @export
 * @interface ConnectUserDetailsRequest
 */
export interface ConnectUserDetailsRequest {
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof ConnectUserDetailsRequest
     */
    custom?: {
        [key: string]: any;
    };
    /**
     *
     * @type {string}
     * @memberof ConnectUserDetailsRequest
     */
    id: string;
    /**
     *
     * @type {string}
     * @memberof ConnectUserDetailsRequest
     */
    image?: string;
    /**
     *
     * @type {boolean}
     * @memberof ConnectUserDetailsRequest
     */
    invisible?: boolean;
    /**
     *
     * @type {string}
     * @memberof ConnectUserDetailsRequest
     */
    language?: string;
    /**
     *
     * @type {string}
     * @memberof ConnectUserDetailsRequest
     */
    name?: string;
    /**
     *
     * @type {object}
     * @memberof ConnectUserDetailsRequest
     */
    privacy_settings?: object;
}
/**
 * This event is sent when the WS connection is established and authenticated, this event contains the full user object as it is stored on the server
 * @export
 * @interface ConnectedEvent
 */
export interface ConnectedEvent {
    /**
     * The connection_id for this client
     * @type {string}
     * @memberof ConnectedEvent
     */
    connection_id: string;
    /**
     *
     * @type {string}
     * @memberof ConnectedEvent
     */
    created_at: string;
    /**
     *
     * @type {OwnUserResponse}
     * @memberof ConnectedEvent
     */
    me: OwnUserResponse;
    /**
     * The type of event: "connection.ok" in this case
     * @type {string}
     * @memberof ConnectedEvent
     */
    type: string;
}
/**
 * This event is sent when the WS connection fails
 * @export
 * @interface ConnectionErrorEvent
 */
export interface ConnectionErrorEvent {
    /**
     *
     * @type {string}
     * @memberof ConnectionErrorEvent
     */
    connection_id: string;
    /**
     *
     * @type {string}
     * @memberof ConnectionErrorEvent
     */
    created_at: string;
    /**
     *
     * @type {APIError}
     * @memberof ConnectionErrorEvent
     */
    error: APIError;
    /**
     * The type of event: "connection.ok" in this case
     * @type {string}
     * @memberof ConnectionErrorEvent
     */
    type: string;
}
/**
 *
 * @export
 * @interface Coordinates
 */
export interface Coordinates {
    /**
     *
     * @type {number}
     * @memberof Coordinates
     */
    latitude: number;
    /**
     *
     * @type {number}
     * @memberof Coordinates
     */
    longitude: number;
}
/**
 *
 * @export
 * @interface CountByMinuteResponse
 */
export interface CountByMinuteResponse {
    /**
     *
     * @type {number}
     * @memberof CountByMinuteResponse
     */
    count: number;
    /**
     *
     * @type {string}
     * @memberof CountByMinuteResponse
     */
    start_ts: string;
}
/**
 * Create device request
 * @export
 * @interface CreateDeviceRequest
 */
export interface CreateDeviceRequest {
    /**
     * Device ID
     * @type {string}
     * @memberof CreateDeviceRequest
     */
    id: string;
    /**
     * Push provider
     * @type {string}
     * @memberof CreateDeviceRequest
     */
    push_provider: CreateDeviceRequestPushProviderEnum;
    /**
     * Push provider name
     * @type {string}
     * @memberof CreateDeviceRequest
     */
    push_provider_name?: string;
    /**
     * When true the token is for Apple VoIP push notifications
     * @type {boolean}
     * @memberof CreateDeviceRequest
     */
    voip_token?: boolean;
}
/**
 * @export
 */
export declare const CreateDeviceRequestPushProviderEnum: {
    readonly FIREBASE: "firebase";
    readonly APN: "apn";
    readonly HUAWEI: "huawei";
    readonly XIAOMI: "xiaomi";
};
export type CreateDeviceRequestPushProviderEnum = (typeof CreateDeviceRequestPushProviderEnum)[keyof typeof CreateDeviceRequestPushProviderEnum];
/**
 *
 * @export
 * @interface CreateGuestRequest
 */
export interface CreateGuestRequest {
    /**
     *
     * @type {UserRequest}
     * @memberof CreateGuestRequest
     */
    user: UserRequest;
}
/**
 *
 * @export
 * @interface CreateGuestResponse
 */
export interface CreateGuestResponse {
    /**
     * the access token to authenticate the user
     * @type {string}
     * @memberof CreateGuestResponse
     */
    access_token: string;
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof CreateGuestResponse
     */
    duration: string;
    /**
     *
     * @type {UserResponse}
     * @memberof CreateGuestResponse
     */
    user: UserResponse;
}
/**
 *
 * @export
 * @interface Credentials
 */
export interface Credentials {
    /**
     *
     * @type {Array<ICEServer>}
     * @memberof Credentials
     */
    ice_servers: Array<ICEServer>;
    /**
     *
     * @type {SFUResponse}
     * @memberof Credentials
     */
    server: SFUResponse;
    /**
     *
     * @type {string}
     * @memberof Credentials
     */
    token: string;
}
/**
 * A custom event, this event is used to send custom events to other participants in the call.
 * @export
 * @interface CustomVideoEvent
 */
export interface CustomVideoEvent {
    /**
     *
     * @type {string}
     * @memberof CustomVideoEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof CustomVideoEvent
     */
    created_at: string;
    /**
     * Custom data for this object
     * @type {{ [key: string]: any; }}
     * @memberof CustomVideoEvent
     */
    custom: {
        [key: string]: any;
    };
    /**
     * The type of event, "custom" in this case
     * @type {string}
     * @memberof CustomVideoEvent
     */
    type: string;
    /**
     *
     * @type {UserResponse}
     * @memberof CustomVideoEvent
     */
    user: UserResponse;
}
/**
 *
 * @export
 * @interface DailyAggregateCallDurationReportResponse
 */
export interface DailyAggregateCallDurationReportResponse {
    /**
     *
     * @type {string}
     * @memberof DailyAggregateCallDurationReportResponse
     */
    date: string;
    /**
     *
     * @type {CallDurationReport}
     * @memberof DailyAggregateCallDurationReportResponse
     */
    report: CallDurationReport;
}
/**
 *
 * @export
 * @interface DailyAggregateCallParticipantCountReportResponse
 */
export interface DailyAggregateCallParticipantCountReportResponse {
    /**
     *
     * @type {string}
     * @memberof DailyAggregateCallParticipantCountReportResponse
     */
    date: string;
    /**
     *
     * @type {CallParticipantCountReport}
     * @memberof DailyAggregateCallParticipantCountReportResponse
     */
    report: CallParticipantCountReport;
}
/**
 *
 * @export
 * @interface DailyAggregateCallsPerDayReportResponse
 */
export interface DailyAggregateCallsPerDayReportResponse {
    /**
     *
     * @type {string}
     * @memberof DailyAggregateCallsPerDayReportResponse
     */
    date: string;
    /**
     *
     * @type {CallsPerDayReport}
     * @memberof DailyAggregateCallsPerDayReportResponse
     */
    report: CallsPerDayReport;
}
/**
 *
 * @export
 * @interface DailyAggregateQualityScoreReportResponse
 */
export interface DailyAggregateQualityScoreReportResponse {
    /**
     *
     * @type {string}
     * @memberof DailyAggregateQualityScoreReportResponse
     */
    date: string;
    /**
     *
     * @type {QualityScoreReport}
     * @memberof DailyAggregateQualityScoreReportResponse
     */
    report: QualityScoreReport;
}
/**
 *
 * @export
 * @interface DailyAggregateSDKUsageReportResponse
 */
export interface DailyAggregateSDKUsageReportResponse {
    /**
     *
     * @type {string}
     * @memberof DailyAggregateSDKUsageReportResponse
     */
    date: string;
    /**
     *
     * @type {SDKUsageReport}
     * @memberof DailyAggregateSDKUsageReportResponse
     */
    report: SDKUsageReport;
}
/**
 *
 * @export
 * @interface DailyAggregateUserFeedbackReportResponse
 */
export interface DailyAggregateUserFeedbackReportResponse {
    /**
     *
     * @type {string}
     * @memberof DailyAggregateUserFeedbackReportResponse
     */
    date: string;
    /**
     *
     * @type {UserFeedbackReport}
     * @memberof DailyAggregateUserFeedbackReportResponse
     */
    report: UserFeedbackReport;
}
/**
 * DeleteCallRequest is the payload for deleting a call.
 * @export
 * @interface DeleteCallRequest
 */
export interface DeleteCallRequest {
    /**
     * if true the call will be hard deleted along with all related data
     * @type {boolean}
     * @memberof DeleteCallRequest
     */
    hard?: boolean;
}
/**
 * DeleteCallResponse is the payload for deleting a call.
 * @export
 * @interface DeleteCallResponse
 */
export interface DeleteCallResponse {
    /**
     *
     * @type {CallResponse}
     * @memberof DeleteCallResponse
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof DeleteCallResponse
     */
    duration: string;
    /**
     *
     * @type {string}
     * @memberof DeleteCallResponse
     */
    task_id?: string;
}
/**
 * Response for DeleteRecording
 * @export
 * @interface DeleteRecordingResponse
 */
export interface DeleteRecordingResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof DeleteRecordingResponse
     */
    duration: string;
}
/**
 * DeleteTranscriptionResponse is the payload for deleting a transcription.
 * @export
 * @interface DeleteTranscriptionResponse
 */
export interface DeleteTranscriptionResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof DeleteTranscriptionResponse
     */
    duration: string;
}
/**
 * Response for Device
 * @export
 * @interface DeviceResponse
 */
export interface DeviceResponse {
    /**
     * Date/time of creation
     * @type {string}
     * @memberof DeviceResponse
     */
    created_at: string;
    /**
     * Whether device is disabled or not
     * @type {boolean}
     * @memberof DeviceResponse
     */
    disabled?: boolean;
    /**
     * Reason explaining why device had been disabled
     * @type {string}
     * @memberof DeviceResponse
     */
    disabled_reason?: string;
    /**
     * Device ID
     * @type {string}
     * @memberof DeviceResponse
     */
    id: string;
    /**
     * Push provider
     * @type {string}
     * @memberof DeviceResponse
     */
    push_provider: string;
    /**
     * Push provider name
     * @type {string}
     * @memberof DeviceResponse
     */
    push_provider_name?: string;
    /**
     * User ID
     * @type {string}
     * @memberof DeviceResponse
     */
    user_id: string;
    /**
     * When true the token is for Apple VoIP push notifications
     * @type {boolean}
     * @memberof DeviceResponse
     */
    voip?: boolean;
}
/**
 *
 * @export
 * @interface EdgeResponse
 */
export interface EdgeResponse {
    /**
     *
     * @type {string}
     * @memberof EdgeResponse
     */
    continent_code: string;
    /**
     *
     * @type {string}
     * @memberof EdgeResponse
     */
    country_iso_code: string;
    /**
     *
     * @type {number}
     * @memberof EdgeResponse
     */
    green: number;
    /**
     *
     * @type {string}
     * @memberof EdgeResponse
     */
    id: string;
    /**
     *
     * @type {string}
     * @memberof EdgeResponse
     */
    latency_test_url: string;
    /**
     *
     * @type {number}
     * @memberof EdgeResponse
     */
    latitude: number;
    /**
     *
     * @type {number}
     * @memberof EdgeResponse
     */
    longitude: number;
    /**
     *
     * @type {number}
     * @memberof EdgeResponse
     */
    red: number;
    /**
     *
     * @type {string}
     * @memberof EdgeResponse
     */
    subdivision_iso_code: string;
    /**
     *
     * @type {number}
     * @memberof EdgeResponse
     */
    yellow: number;
}
/**
 *
 * @export
 * @interface EgressHLSResponse
 */
export interface EgressHLSResponse {
    /**
     *
     * @type {string}
     * @memberof EgressHLSResponse
     */
    playlist_url: string;
    /**
     *
     * @type {string}
     * @memberof EgressHLSResponse
     */
    status: string;
}
/**
 *
 * @export
 * @interface EgressRTMPResponse
 */
export interface EgressRTMPResponse {
    /**
     *
     * @type {string}
     * @memberof EgressRTMPResponse
     */
    name: string;
    /**
     *
     * @type {string}
     * @memberof EgressRTMPResponse
     */
    started_at: string;
    /**
     *
     * @type {string}
     * @memberof EgressRTMPResponse
     */
    stream_key?: string;
    /**
     *
     * @type {string}
     * @memberof EgressRTMPResponse
     */
    stream_url?: string;
}
/**
 *
 * @export
 * @interface EgressResponse
 */
export interface EgressResponse {
    /**
     *
     * @type {boolean}
     * @memberof EgressResponse
     */
    broadcasting: boolean;
    /**
     *
     * @type {CompositeRecordingResponse}
     * @memberof EgressResponse
     */
    composite_recording?: CompositeRecordingResponse;
    /**
     *
     * @type {FrameRecordingResponse}
     * @memberof EgressResponse
     */
    frame_recording?: FrameRecordingResponse;
    /**
     *
     * @type {EgressHLSResponse}
     * @memberof EgressResponse
     */
    hls?: EgressHLSResponse;
    /**
     *
     * @type {IndividualRecordingResponse}
     * @memberof EgressResponse
     */
    individual_recording?: IndividualRecordingResponse;
    /**
     *
     * @type {RawRecordingResponse}
     * @memberof EgressResponse
     */
    raw_recording?: RawRecordingResponse;
    /**
     *
     * @type {Array<EgressRTMPResponse>}
     * @memberof EgressResponse
     */
    rtmps: Array<EgressRTMPResponse>;
}
/**
 * Response for ending a call
 * @export
 * @interface EndCallResponse
 */
export interface EndCallResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof EndCallResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface FeedsPreferencesResponse
 */
export interface FeedsPreferencesResponse {
    /**
     *
     * @type {string}
     * @memberof FeedsPreferencesResponse
     */
    comment?: string;
    /**
     *
     * @type {string}
     * @memberof FeedsPreferencesResponse
     */
    comment_reaction?: string;
    /**
     *
     * @type {{ [key: string]: string; }}
     * @memberof FeedsPreferencesResponse
     */
    custom_activity_types?: {
        [key: string]: string;
    };
    /**
     *
     * @type {string}
     * @memberof FeedsPreferencesResponse
     */
    follow?: string;
    /**
     *
     * @type {string}
     * @memberof FeedsPreferencesResponse
     */
    mention?: string;
    /**
     *
     * @type {string}
     * @memberof FeedsPreferencesResponse
     */
    reaction?: string;
}
/**
 *
 * @export
 * @interface FileUploadConfig
 */
export interface FileUploadConfig {
    /**
     *
     * @type {Array<string>}
     * @memberof FileUploadConfig
     */
    allowed_file_extensions: Array<string>;
    /**
     *
     * @type {Array<string>}
     * @memberof FileUploadConfig
     */
    allowed_mime_types: Array<string>;
    /**
     *
     * @type {Array<string>}
     * @memberof FileUploadConfig
     */
    blocked_file_extensions: Array<string>;
    /**
     *
     * @type {Array<string>}
     * @memberof FileUploadConfig
     */
    blocked_mime_types: Array<string>;
    /**
     *
     * @type {number}
     * @memberof FileUploadConfig
     */
    size_limit: number;
}
/**
 *
 * @export
 * @interface FrameRecordingResponse
 */
export interface FrameRecordingResponse {
    /**
     *
     * @type {string}
     * @memberof FrameRecordingResponse
     */
    status: string;
}
/**
 *
 * @export
 * @interface FrameRecordingSettingsRequest
 */
export interface FrameRecordingSettingsRequest {
    /**
     *
     * @type {number}
     * @memberof FrameRecordingSettingsRequest
     */
    capture_interval_in_seconds: number;
    /**
     *
     * @type {string}
     * @memberof FrameRecordingSettingsRequest
     */
    mode: FrameRecordingSettingsRequestModeEnum;
    /**
     *
     * @type {string}
     * @memberof FrameRecordingSettingsRequest
     */
    quality?: FrameRecordingSettingsRequestQualityEnum;
}
/**
 * @export
 */
export declare const FrameRecordingSettingsRequestModeEnum: {
    readonly AVAILABLE: "available";
    readonly DISABLED: "disabled";
    readonly AUTO_ON: "auto-on";
};
export type FrameRecordingSettingsRequestModeEnum = (typeof FrameRecordingSettingsRequestModeEnum)[keyof typeof FrameRecordingSettingsRequestModeEnum];
/**
 * @export
 */
export declare const FrameRecordingSettingsRequestQualityEnum: {
    readonly _360P: "360p";
    readonly _480P: "480p";
    readonly _720P: "720p";
    readonly _1080P: "1080p";
    readonly _1440P: "1440p";
};
export type FrameRecordingSettingsRequestQualityEnum = (typeof FrameRecordingSettingsRequestQualityEnum)[keyof typeof FrameRecordingSettingsRequestQualityEnum];
/**
 *
 * @export
 * @interface FrameRecordingSettingsResponse
 */
export interface FrameRecordingSettingsResponse {
    /**
     *
     * @type {number}
     * @memberof FrameRecordingSettingsResponse
     */
    capture_interval_in_seconds: number;
    /**
     *
     * @type {string}
     * @memberof FrameRecordingSettingsResponse
     */
    mode: FrameRecordingSettingsResponseModeEnum;
    /**
     *
     * @type {string}
     * @memberof FrameRecordingSettingsResponse
     */
    quality?: string;
}
/**
 * @export
 */
export declare const FrameRecordingSettingsResponseModeEnum: {
    readonly AVAILABLE: "available";
    readonly DISABLED: "disabled";
    readonly AUTO_ON: "auto-on";
};
export type FrameRecordingSettingsResponseModeEnum = (typeof FrameRecordingSettingsResponseModeEnum)[keyof typeof FrameRecordingSettingsResponseModeEnum];
/**
 *
 * @export
 * @interface GeofenceSettingsRequest
 */
export interface GeofenceSettingsRequest {
    /**
     *
     * @type {Array<string>}
     * @memberof GeofenceSettingsRequest
     */
    names?: Array<string>;
}
/**
 *
 * @export
 * @interface GeofenceSettingsResponse
 */
export interface GeofenceSettingsResponse {
    /**
     *
     * @type {Array<string>}
     * @memberof GeofenceSettingsResponse
     */
    names: Array<string>;
}
/**
 * Basic response information
 * @export
 * @interface GetCallReportResponse
 */
export interface GetCallReportResponse {
    /**
     *
     * @type {ChatActivityStatsResponse}
     * @memberof GetCallReportResponse
     */
    chat_activity?: ChatActivityStatsResponse;
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof GetCallReportResponse
     */
    duration: string;
    /**
     *
     * @type {ReportResponse}
     * @memberof GetCallReportResponse
     */
    report: ReportResponse;
    /**
     *
     * @type {CallSessionResponse}
     * @memberof GetCallReportResponse
     */
    session?: CallSessionResponse;
    /**
     *
     * @type {string}
     * @memberof GetCallReportResponse
     */
    session_id: string;
    /**
     *
     * @type {Array<VideoReactionsResponse>}
     * @memberof GetCallReportResponse
     */
    video_reactions?: Array<VideoReactionsResponse>;
}
/**
 *
 * @export
 * @interface GetCallResponse
 */
export interface GetCallResponse {
    /**
     *
     * @type {CallResponse}
     * @memberof GetCallResponse
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof GetCallResponse
     */
    duration: string;
    /**
     *
     * @type {Array<MemberResponse>}
     * @memberof GetCallResponse
     */
    members: Array<MemberResponse>;
    /**
     *
     * @type {MemberResponse}
     * @memberof GetCallResponse
     */
    membership?: MemberResponse;
    /**
     *
     * @type {Array<OwnCapability>}
     * @memberof GetCallResponse
     */
    own_capabilities: Array<OwnCapability>;
}
/**
 * Basic response information
 * @export
 * @interface GetCallSessionParticipantStatsDetailsResponse
 */
export interface GetCallSessionParticipantStatsDetailsResponse {
    /**
     *
     * @type {string}
     * @memberof GetCallSessionParticipantStatsDetailsResponse
     */
    call_id: string;
    /**
     *
     * @type {string}
     * @memberof GetCallSessionParticipantStatsDetailsResponse
     */
    call_session_id: string;
    /**
     *
     * @type {string}
     * @memberof GetCallSessionParticipantStatsDetailsResponse
     */
    call_type: string;
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof GetCallSessionParticipantStatsDetailsResponse
     */
    duration: string;
    /**
     *
     * @type {ParticipantSeriesPublisherStats}
     * @memberof GetCallSessionParticipantStatsDetailsResponse
     */
    publisher?: ParticipantSeriesPublisherStats;
    /**
     *
     * @type {ParticipantSeriesSubscriberStats}
     * @memberof GetCallSessionParticipantStatsDetailsResponse
     */
    subscriber?: ParticipantSeriesSubscriberStats;
    /**
     *
     * @type {ParticipantSeriesTimeframe}
     * @memberof GetCallSessionParticipantStatsDetailsResponse
     */
    timeframe?: ParticipantSeriesTimeframe;
    /**
     *
     * @type {ParticipantSeriesUserStats}
     * @memberof GetCallSessionParticipantStatsDetailsResponse
     */
    user?: ParticipantSeriesUserStats;
    /**
     *
     * @type {string}
     * @memberof GetCallSessionParticipantStatsDetailsResponse
     */
    user_id: string;
    /**
     *
     * @type {string}
     * @memberof GetCallSessionParticipantStatsDetailsResponse
     */
    user_session_id: string;
}
/**
 * Basic response information
 * @export
 * @interface GetEdgesResponse
 */
export interface GetEdgesResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof GetEdgesResponse
     */
    duration: string;
    /**
     *
     * @type {Array<EdgeResponse>}
     * @memberof GetEdgesResponse
     */
    edges: Array<EdgeResponse>;
}
/**
 *
 * @export
 * @interface GetOrCreateCallRequest
 */
export interface GetOrCreateCallRequest {
    /**
     *
     * @type {CallRequest}
     * @memberof GetOrCreateCallRequest
     */
    data?: CallRequest;
    /**
     *
     * @type {number}
     * @memberof GetOrCreateCallRequest
     */
    members_limit?: number;
    /**
     * if provided it sends a notification event to the members for this call
     * @type {boolean}
     * @memberof GetOrCreateCallRequest
     */
    notify?: boolean;
    /**
     * if provided it sends a ring event to the members for this call
     * @type {boolean}
     * @memberof GetOrCreateCallRequest
     */
    ring?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof GetOrCreateCallRequest
     */
    video?: boolean;
}
/**
 *
 * @export
 * @interface GetOrCreateCallResponse
 */
export interface GetOrCreateCallResponse {
    /**
     *
     * @type {CallResponse}
     * @memberof GetOrCreateCallResponse
     */
    call: CallResponse;
    /**
     *
     * @type {boolean}
     * @memberof GetOrCreateCallResponse
     */
    created: boolean;
    /**
     *
     * @type {string}
     * @memberof GetOrCreateCallResponse
     */
    duration: string;
    /**
     *
     * @type {Array<MemberResponse>}
     * @memberof GetOrCreateCallResponse
     */
    members: Array<MemberResponse>;
    /**
     *
     * @type {MemberResponse}
     * @memberof GetOrCreateCallResponse
     */
    membership?: MemberResponse;
    /**
     *
     * @type {Array<OwnCapability>}
     * @memberof GetOrCreateCallResponse
     */
    own_capabilities: Array<OwnCapability>;
}
/**
 *
 * @export
 * @interface GoLiveRequest
 */
export interface GoLiveRequest {
    /**
     *
     * @type {string}
     * @memberof GoLiveRequest
     */
    recording_storage_name?: string;
    /**
     *
     * @type {boolean}
     * @memberof GoLiveRequest
     */
    start_closed_caption?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof GoLiveRequest
     */
    start_composite_recording?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof GoLiveRequest
     */
    start_hls?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof GoLiveRequest
     */
    start_individual_recording?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof GoLiveRequest
     */
    start_raw_recording?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof GoLiveRequest
     */
    start_recording?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof GoLiveRequest
     */
    start_transcription?: boolean;
    /**
     *
     * @type {string}
     * @memberof GoLiveRequest
     */
    transcription_storage_name?: string;
}
/**
 * Basic response information
 * @export
 * @interface GoLiveResponse
 */
export interface GoLiveResponse {
    /**
     *
     * @type {CallResponse}
     * @memberof GoLiveResponse
     */
    call: CallResponse;
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof GoLiveResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface GroupedStatsResponse
 */
export interface GroupedStatsResponse {
    /**
     *
     * @type {string}
     * @memberof GroupedStatsResponse
     */
    name: string;
    /**
     *
     * @type {number}
     * @memberof GroupedStatsResponse
     */
    unique: number;
}
/**
 *
 * @export
 * @interface HLSSettingsRequest
 */
export interface HLSSettingsRequest {
    /**
     *
     * @type {boolean}
     * @memberof HLSSettingsRequest
     */
    auto_on?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof HLSSettingsRequest
     */
    enabled?: boolean;
    /**
     *
     * @type {Array<string>}
     * @memberof HLSSettingsRequest
     */
    quality_tracks: Array<string>;
}
/**
 * HLSSettings is the payload for HLS settings
 * @export
 * @interface HLSSettingsResponse
 */
export interface HLSSettingsResponse {
    /**
     *
     * @type {boolean}
     * @memberof HLSSettingsResponse
     */
    auto_on: boolean;
    /**
     *
     * @type {boolean}
     * @memberof HLSSettingsResponse
     */
    enabled: boolean;
    /**
     *
     * @type {Array<string>}
     * @memberof HLSSettingsResponse
     */
    quality_tracks: Array<string>;
}
/**
 *
 * @export
 * @interface HealthCheckEvent
 */
export interface HealthCheckEvent {
    /**
     *
     * @type {string}
     * @memberof HealthCheckEvent
     */
    cid?: string;
    /**
     *
     * @type {string}
     * @memberof HealthCheckEvent
     */
    connection_id: string;
    /**
     *
     * @type {string}
     * @memberof HealthCheckEvent
     */
    created_at: string;
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof HealthCheckEvent
     */
    custom: {
        [key: string]: any;
    };
    /**
     *
     * @type {string}
     * @memberof HealthCheckEvent
     */
    received_at?: string;
    /**
     *
     * @type {string}
     * @memberof HealthCheckEvent
     */
    type: string;
}
/**
 *
 * @export
 * @interface ICEServer
 */
export interface ICEServer {
    /**
     *
     * @type {string}
     * @memberof ICEServer
     */
    password: string;
    /**
     *
     * @type {Array<string>}
     * @memberof ICEServer
     */
    urls: Array<string>;
    /**
     *
     * @type {string}
     * @memberof ICEServer
     */
    username: string;
}
/**
 *
 * @export
 * @interface IndividualRecordingResponse
 */
export interface IndividualRecordingResponse {
    /**
     *
     * @type {string}
     * @memberof IndividualRecordingResponse
     */
    status: string;
}
/**
 *
 * @export
 * @interface IndividualRecordingSettingsRequest
 */
export interface IndividualRecordingSettingsRequest {
    /**
     *
     * @type {string}
     * @memberof IndividualRecordingSettingsRequest
     */
    mode: IndividualRecordingSettingsRequestModeEnum;
}
/**
 * @export
 */
export declare const IndividualRecordingSettingsRequestModeEnum: {
    readonly AVAILABLE: "available";
    readonly DISABLED: "disabled";
    readonly AUTO_ON: "auto-on";
};
export type IndividualRecordingSettingsRequestModeEnum = (typeof IndividualRecordingSettingsRequestModeEnum)[keyof typeof IndividualRecordingSettingsRequestModeEnum];
/**
 *
 * @export
 * @interface IndividualRecordingSettingsResponse
 */
export interface IndividualRecordingSettingsResponse {
    /**
     *
     * @type {string}
     * @memberof IndividualRecordingSettingsResponse
     */
    mode: IndividualRecordingSettingsResponseModeEnum;
}
/**
 * @export
 */
export declare const IndividualRecordingSettingsResponseModeEnum: {
    readonly AVAILABLE: "available";
    readonly DISABLED: "disabled";
    readonly AUTO_ON: "auto-on";
};
export type IndividualRecordingSettingsResponseModeEnum = (typeof IndividualRecordingSettingsResponseModeEnum)[keyof typeof IndividualRecordingSettingsResponseModeEnum];
/**
 *
 * @export
 * @interface IngressAudioEncodingOptionsRequest
 */
export interface IngressAudioEncodingOptionsRequest {
    /**
     *
     * @type {number}
     * @memberof IngressAudioEncodingOptionsRequest
     */
    bitrate: number;
    /**
     *
     * @type {number}
     * @memberof IngressAudioEncodingOptionsRequest
     */
    channels: IngressAudioEncodingOptionsRequestChannelsEnum;
    /**
     *
     * @type {boolean}
     * @memberof IngressAudioEncodingOptionsRequest
     */
    enable_dtx?: boolean;
}
/**
 * @export
 */
export declare const IngressAudioEncodingOptionsRequestChannelsEnum: {
    readonly NUMBER_1: 1;
    readonly NUMBER_2: 2;
};
export type IngressAudioEncodingOptionsRequestChannelsEnum = (typeof IngressAudioEncodingOptionsRequestChannelsEnum)[keyof typeof IngressAudioEncodingOptionsRequestChannelsEnum];
/**
 *
 * @export
 * @interface IngressAudioEncodingResponse
 */
export interface IngressAudioEncodingResponse {
    /**
     *
     * @type {number}
     * @memberof IngressAudioEncodingResponse
     */
    bitrate: number;
    /**
     *
     * @type {number}
     * @memberof IngressAudioEncodingResponse
     */
    channels: number;
    /**
     *
     * @type {boolean}
     * @memberof IngressAudioEncodingResponse
     */
    enable_dtx: boolean;
}
/**
 *
 * @export
 * @interface IngressSettingsRequest
 */
export interface IngressSettingsRequest {
    /**
     *
     * @type {IngressAudioEncodingOptionsRequest}
     * @memberof IngressSettingsRequest
     */
    audio_encoding_options?: IngressAudioEncodingOptionsRequest;
    /**
     *
     * @type {boolean}
     * @memberof IngressSettingsRequest
     */
    enabled?: boolean;
    /**
     *
     * @type {{ [key: string]: IngressVideoEncodingOptionsRequest; }}
     * @memberof IngressSettingsRequest
     */
    video_encoding_options?: {
        [key: string]: IngressVideoEncodingOptionsRequest;
    };
}
/**
 *
 * @export
 * @interface IngressSettingsResponse
 */
export interface IngressSettingsResponse {
    /**
     *
     * @type {IngressAudioEncodingResponse}
     * @memberof IngressSettingsResponse
     */
    audio_encoding_options?: IngressAudioEncodingResponse;
    /**
     *
     * @type {boolean}
     * @memberof IngressSettingsResponse
     */
    enabled: boolean;
    /**
     *
     * @type {{ [key: string]: IngressVideoEncodingResponse; }}
     * @memberof IngressSettingsResponse
     */
    video_encoding_options?: {
        [key: string]: IngressVideoEncodingResponse;
    };
}
/**
 *
 * @export
 * @interface IngressSourceRequest
 */
export interface IngressSourceRequest {
    /**
     *
     * @type {number}
     * @memberof IngressSourceRequest
     */
    fps: IngressSourceRequestFpsEnum;
    /**
     *
     * @type {number}
     * @memberof IngressSourceRequest
     */
    height: number;
    /**
     *
     * @type {number}
     * @memberof IngressSourceRequest
     */
    width: number;
}
/**
 * @export
 */
export declare const IngressSourceRequestFpsEnum: {
    readonly NUMBER_30: 30;
    readonly NUMBER_60: 60;
};
export type IngressSourceRequestFpsEnum = (typeof IngressSourceRequestFpsEnum)[keyof typeof IngressSourceRequestFpsEnum];
/**
 *
 * @export
 * @interface IngressSourceResponse
 */
export interface IngressSourceResponse {
    /**
     *
     * @type {number}
     * @memberof IngressSourceResponse
     */
    fps: number;
    /**
     *
     * @type {number}
     * @memberof IngressSourceResponse
     */
    height: number;
    /**
     *
     * @type {number}
     * @memberof IngressSourceResponse
     */
    width: number;
}
/**
 *
 * @export
 * @interface IngressVideoEncodingOptionsRequest
 */
export interface IngressVideoEncodingOptionsRequest {
    /**
     *
     * @type {Array<IngressVideoLayerRequest>}
     * @memberof IngressVideoEncodingOptionsRequest
     */
    layers: Array<IngressVideoLayerRequest>;
    /**
     *
     * @type {IngressSourceRequest}
     * @memberof IngressVideoEncodingOptionsRequest
     */
    source: IngressSourceRequest;
}
/**
 *
 * @export
 * @interface IngressVideoEncodingResponse
 */
export interface IngressVideoEncodingResponse {
    /**
     *
     * @type {Array<IngressVideoLayerResponse>}
     * @memberof IngressVideoEncodingResponse
     */
    layers: Array<IngressVideoLayerResponse>;
    /**
     *
     * @type {IngressSourceResponse}
     * @memberof IngressVideoEncodingResponse
     */
    source: IngressSourceResponse;
}
/**
 *
 * @export
 * @interface IngressVideoLayerRequest
 */
export interface IngressVideoLayerRequest {
    /**
     *
     * @type {number}
     * @memberof IngressVideoLayerRequest
     */
    bitrate: number;
    /**
     *
     * @type {string}
     * @memberof IngressVideoLayerRequest
     */
    codec: IngressVideoLayerRequestCodecEnum;
    /**
     *
     * @type {number}
     * @memberof IngressVideoLayerRequest
     */
    frame_rate_limit: number;
    /**
     *
     * @type {number}
     * @memberof IngressVideoLayerRequest
     */
    max_dimension: number;
    /**
     *
     * @type {number}
     * @memberof IngressVideoLayerRequest
     */
    min_dimension: number;
}
/**
 * @export
 */
export declare const IngressVideoLayerRequestCodecEnum: {
    readonly H264: "h264";
    readonly VP8: "vp8";
};
export type IngressVideoLayerRequestCodecEnum = (typeof IngressVideoLayerRequestCodecEnum)[keyof typeof IngressVideoLayerRequestCodecEnum];
/**
 *
 * @export
 * @interface IngressVideoLayerResponse
 */
export interface IngressVideoLayerResponse {
    /**
     *
     * @type {number}
     * @memberof IngressVideoLayerResponse
     */
    bitrate: number;
    /**
     *
     * @type {string}
     * @memberof IngressVideoLayerResponse
     */
    codec: string;
    /**
     *
     * @type {number}
     * @memberof IngressVideoLayerResponse
     */
    frame_rate_limit: number;
    /**
     *
     * @type {number}
     * @memberof IngressVideoLayerResponse
     */
    max_dimension: number;
    /**
     *
     * @type {number}
     * @memberof IngressVideoLayerResponse
     */
    min_dimension: number;
}
/**
 *
 * @export
 * @interface JoinCallRequest
 */
export interface JoinCallRequest {
    /**
     * if true the call will be created if it doesn't exist
     * @type {boolean}
     * @memberof JoinCallRequest
     */
    create?: boolean;
    /**
     *
     * @type {CallRequest}
     * @memberof JoinCallRequest
     */
    data?: CallRequest;
    /**
     * if true, the participant will be marked as publsihing to large audience
     * @type {boolean}
     * @memberof JoinCallRequest
     */
    hint_high_scale_livestream_publisher?: boolean;
    /**
     *
     * @type {string}
     * @memberof JoinCallRequest
     */
    location: string;
    /**
     *
     * @type {number}
     * @memberof JoinCallRequest
     */
    members_limit?: number;
    /**
     * If the participant is migrating from another SFU, then this is the ID of the previous SFU
     * @type {string}
     * @memberof JoinCallRequest
     */
    migrating_from?: string;
    /**
     * List of SFU IDs to exclude when picking a new SFU for the participant
     * @type {Array<string>}
     * @memberof JoinCallRequest
     */
    migrating_from_list?: Array<string>;
    /**
     *
     * @type {boolean}
     * @memberof JoinCallRequest
     */
    notify?: boolean;
    /**
     * if true and the call is created, the notification will include ring=true
     * @type {boolean}
     * @memberof JoinCallRequest
     */
    ring?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof JoinCallRequest
     */
    video?: boolean;
}
/**
 *
 * @export
 * @interface JoinCallResponse
 */
export interface JoinCallResponse {
    /**
     *
     * @type {CallResponse}
     * @memberof JoinCallResponse
     */
    call: CallResponse;
    /**
     *
     * @type {boolean}
     * @memberof JoinCallResponse
     */
    created: boolean;
    /**
     *
     * @type {Credentials}
     * @memberof JoinCallResponse
     */
    credentials: Credentials;
    /**
     *
     * @type {string}
     * @memberof JoinCallResponse
     */
    duration: string;
    /**
     *
     * @type {Array<MemberResponse>}
     * @memberof JoinCallResponse
     */
    members: Array<MemberResponse>;
    /**
     *
     * @type {MemberResponse}
     * @memberof JoinCallResponse
     */
    membership?: MemberResponse;
    /**
     *
     * @type {Array<OwnCapability>}
     * @memberof JoinCallResponse
     */
    own_capabilities: Array<OwnCapability>;
    /**
     *
     * @type {StatsOptions}
     * @memberof JoinCallResponse
     */
    stats_options: StatsOptions;
}
/**
 * KickUserRequest is the payload for kicking a user from a call. Optionally block the user as well.
 * @export
 * @interface KickUserRequest
 */
export interface KickUserRequest {
    /**
     * If true, also block the user from rejoining the call
     * @type {boolean}
     * @memberof KickUserRequest
     */
    block?: boolean;
    /**
     * The user to kick
     * @type {string}
     * @memberof KickUserRequest
     */
    user_id: string;
}
/**
 * KickUserResponse is the payload for kicking a user from a call.
 * @export
 * @interface KickUserResponse
 */
export interface KickUserResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof KickUserResponse
     */
    duration: string;
}
/**
 * This event is sent to call participants to notify when a user is kicked from a call. Clients should make the kicked user leave the call UI.
 * @export
 * @interface KickedUserEvent
 */
export interface KickedUserEvent {
    /**
     *
     * @type {string}
     * @memberof KickedUserEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof KickedUserEvent
     */
    created_at: string;
    /**
     *
     * @type {UserResponse}
     * @memberof KickedUserEvent
     */
    kicked_by_user?: UserResponse;
    /**
     * The type of event: "call.kicked_user" in this case
     * @type {string}
     * @memberof KickedUserEvent
     */
    type: string;
    /**
     *
     * @type {UserResponse}
     * @memberof KickedUserEvent
     */
    user: UserResponse;
}
/**
 *
 * @export
 * @interface LayoutSettingsRequest
 */
export interface LayoutSettingsRequest {
    /**
     *
     * @type {boolean}
     * @memberof LayoutSettingsRequest
     */
    detect_orientation?: boolean;
    /**
     *
     * @type {string}
     * @memberof LayoutSettingsRequest
     */
    external_app_url?: string;
    /**
     *
     * @type {string}
     * @memberof LayoutSettingsRequest
     */
    external_css_url?: string;
    /**
     *
     * @type {string}
     * @memberof LayoutSettingsRequest
     */
    name: LayoutSettingsRequestNameEnum;
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof LayoutSettingsRequest
     */
    options?: {
        [key: string]: any;
    };
}
/**
 * @export
 */
export declare const LayoutSettingsRequestNameEnum: {
    readonly SPOTLIGHT: "spotlight";
    readonly GRID: "grid";
    readonly SINGLE_PARTICIPANT: "single-participant";
    readonly MOBILE: "mobile";
    readonly CUSTOM: "custom";
};
export type LayoutSettingsRequestNameEnum = (typeof LayoutSettingsRequestNameEnum)[keyof typeof LayoutSettingsRequestNameEnum];
/**
 *
 * @export
 * @interface LimitsSettingsRequest
 */
export interface LimitsSettingsRequest {
    /**
     *
     * @type {number}
     * @memberof LimitsSettingsRequest
     */
    max_duration_seconds?: number;
    /**
     *
     * @type {number}
     * @memberof LimitsSettingsRequest
     */
    max_participants?: number;
    /**
     *
     * @type {boolean}
     * @memberof LimitsSettingsRequest
     */
    max_participants_exclude_owner?: boolean;
    /**
     *
     * @type {Array<string>}
     * @memberof LimitsSettingsRequest
     */
    max_participants_exclude_roles?: Array<string>;
}
/**
 *
 * @export
 * @interface LimitsSettingsResponse
 */
export interface LimitsSettingsResponse {
    /**
     *
     * @type {number}
     * @memberof LimitsSettingsResponse
     */
    max_duration_seconds?: number;
    /**
     *
     * @type {number}
     * @memberof LimitsSettingsResponse
     */
    max_participants?: number;
    /**
     *
     * @type {boolean}
     * @memberof LimitsSettingsResponse
     */
    max_participants_exclude_owner?: boolean;
    /**
     *
     * @type {Array<string>}
     * @memberof LimitsSettingsResponse
     */
    max_participants_exclude_roles: Array<string>;
}
/**
 * List devices response
 * @export
 * @interface ListDevicesResponse
 */
export interface ListDevicesResponse {
    /**
     * List of devices
     * @type {Array<DeviceResponse>}
     * @memberof ListDevicesResponse
     */
    devices: Array<DeviceResponse>;
    /**
     *
     * @type {string}
     * @memberof ListDevicesResponse
     */
    duration: string;
}
/**
 * Response for listing recordings
 * @export
 * @interface ListRecordingsResponse
 */
export interface ListRecordingsResponse {
    /**
     *
     * @type {string}
     * @memberof ListRecordingsResponse
     */
    duration: string;
    /**
     *
     * @type {Array<CallRecording>}
     * @memberof ListRecordingsResponse
     */
    recordings: Array<CallRecording>;
}
/**
 *
 * @export
 * @interface ListTranscriptionsResponse
 */
export interface ListTranscriptionsResponse {
    /**
     *
     * @type {string}
     * @memberof ListTranscriptionsResponse
     */
    duration: string;
    /**
     * List of transcriptions for the call
     * @type {Array<CallTranscription>}
     * @memberof ListTranscriptionsResponse
     */
    transcriptions: Array<CallTranscription>;
}
/**
 *
 * @export
 * @interface Location
 */
export interface Location {
    /**
     *
     * @type {string}
     * @memberof Location
     */
    continent_code: string;
    /**
     *
     * @type {string}
     * @memberof Location
     */
    country_iso_code: string;
    /**
     *
     * @type {string}
     * @memberof Location
     */
    subdivision_iso_code: string;
}
/**
 * MemberRequest is the payload for adding a member to a call.
 * @export
 * @interface MemberRequest
 */
export interface MemberRequest {
    /**
     * Custom data for this object
     * @type {{ [key: string]: any; }}
     * @memberof MemberRequest
     */
    custom?: {
        [key: string]: any;
    };
    /**
     *
     * @type {string}
     * @memberof MemberRequest
     */
    role?: string;
    /**
     *
     * @type {string}
     * @memberof MemberRequest
     */
    user_id: string;
}
/**
 * MemberResponse is the payload for a member of a call.
 * @export
 * @interface MemberResponse
 */
export interface MemberResponse {
    /**
     * Date/time of creation
     * @type {string}
     * @memberof MemberResponse
     */
    created_at: string;
    /**
     * Custom member response data
     * @type {{ [key: string]: any; }}
     * @memberof MemberResponse
     */
    custom: {
        [key: string]: any;
    };
    /**
     * Date/time of deletion
     * @type {string}
     * @memberof MemberResponse
     */
    deleted_at?: string;
    /**
     *
     * @type {string}
     * @memberof MemberResponse
     */
    role?: string;
    /**
     * Date/time of the last update
     * @type {string}
     * @memberof MemberResponse
     */
    updated_at: string;
    /**
     *
     * @type {UserResponse}
     * @memberof MemberResponse
     */
    user: UserResponse;
    /**
     *
     * @type {string}
     * @memberof MemberResponse
     */
    user_id: string;
}
/**
 *
 * @export
 * @interface MessageStatsResponse
 */
export interface MessageStatsResponse {
    /**
     *
     * @type {Array<CountByMinuteResponse>}
     * @memberof MessageStatsResponse
     */
    count_over_time?: Array<CountByMinuteResponse>;
}
/**
 *
 * @export
 * @interface MetricDescriptor
 */
export interface MetricDescriptor {
    /**
     *
     * @type {string}
     * @memberof MetricDescriptor
     */
    description?: string;
    /**
     *
     * @type {string}
     * @memberof MetricDescriptor
     */
    label: string;
    /**
     *
     * @type {string}
     * @memberof MetricDescriptor
     */
    unit?: string;
}
/**
 *
 * @export
 * @interface MetricThreshold
 */
export interface MetricThreshold {
    /**
     *
     * @type {string}
     * @memberof MetricThreshold
     */
    level: string;
    /**
     *
     * @type {string}
     * @memberof MetricThreshold
     */
    operator: string;
    /**
     *
     * @type {number}
     * @memberof MetricThreshold
     */
    value: number;
    /**
     *
     * @type {string}
     * @memberof MetricThreshold
     */
    value_unit?: string;
    /**
     *
     * @type {number}
     * @memberof MetricThreshold
     */
    window_seconds?: number;
}
/**
 *
 * @export
 * @interface MuteUsersRequest
 */
export interface MuteUsersRequest {
    /**
     *
     * @type {boolean}
     * @memberof MuteUsersRequest
     */
    audio?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof MuteUsersRequest
     */
    mute_all_users?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof MuteUsersRequest
     */
    screenshare?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof MuteUsersRequest
     */
    screenshare_audio?: boolean;
    /**
     *
     * @type {Array<string>}
     * @memberof MuteUsersRequest
     */
    user_ids?: Array<string>;
    /**
     *
     * @type {boolean}
     * @memberof MuteUsersRequest
     */
    video?: boolean;
}
/**
 * MuteUsersResponse is the response payload for the mute users endpoint.
 * @export
 * @interface MuteUsersResponse
 */
export interface MuteUsersResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof MuteUsersResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface NetworkMetricsReportResponse
 */
export interface NetworkMetricsReportResponse {
    /**
     *
     * @type {number}
     * @memberof NetworkMetricsReportResponse
     */
    average_connection_time?: number;
    /**
     *
     * @type {number}
     * @memberof NetworkMetricsReportResponse
     */
    average_jitter?: number;
    /**
     *
     * @type {number}
     * @memberof NetworkMetricsReportResponse
     */
    average_latency?: number;
    /**
     *
     * @type {number}
     * @memberof NetworkMetricsReportResponse
     */
    average_time_to_reconnect?: number;
}
/**
 *
 * @export
 * @interface NoiseCancellationSettings
 */
export interface NoiseCancellationSettings {
    /**
     *
     * @type {string}
     * @memberof NoiseCancellationSettings
     */
    mode: NoiseCancellationSettingsModeEnum;
}
/**
 * @export
 */
export declare const NoiseCancellationSettingsModeEnum: {
    readonly AVAILABLE: "available";
    readonly DISABLED: "disabled";
    readonly AUTO_ON: "auto-on";
};
export type NoiseCancellationSettingsModeEnum = (typeof NoiseCancellationSettingsModeEnum)[keyof typeof NoiseCancellationSettingsModeEnum];
/**
 * All possibility of string to use
 * @export
 */
export declare const OwnCapability: {
    readonly BLOCK_USERS: "block-users";
    readonly CHANGE_MAX_DURATION: "change-max-duration";
    readonly CREATE_CALL: "create-call";
    readonly CREATE_REACTION: "create-reaction";
    readonly ENABLE_NOISE_CANCELLATION: "enable-noise-cancellation";
    readonly END_CALL: "end-call";
    readonly JOIN_BACKSTAGE: "join-backstage";
    readonly JOIN_CALL: "join-call";
    readonly JOIN_ENDED_CALL: "join-ended-call";
    readonly KICK_USER: "kick-user";
    readonly MUTE_USERS: "mute-users";
    readonly PIN_FOR_EVERYONE: "pin-for-everyone";
    readonly READ_CALL: "read-call";
    readonly REMOVE_CALL_MEMBER: "remove-call-member";
    readonly SCREENSHARE: "screenshare";
    readonly SEND_AUDIO: "send-audio";
    readonly SEND_CLOSED_CAPTIONS_CALL: "send-closed-captions-call";
    readonly SEND_VIDEO: "send-video";
    readonly START_BROADCAST_CALL: "start-broadcast-call";
    readonly START_CLOSED_CAPTIONS_CALL: "start-closed-captions-call";
    readonly START_FRAME_RECORD_CALL: "start-frame-record-call";
    readonly START_INDIVIDUAL_RECORD_CALL: "start-individual-record-call";
    readonly START_RAW_RECORD_CALL: "start-raw-record-call";
    readonly START_RECORD_CALL: "start-record-call";
    readonly START_TRANSCRIPTION_CALL: "start-transcription-call";
    readonly STOP_BROADCAST_CALL: "stop-broadcast-call";
    readonly STOP_CLOSED_CAPTIONS_CALL: "stop-closed-captions-call";
    readonly STOP_FRAME_RECORD_CALL: "stop-frame-record-call";
    readonly STOP_INDIVIDUAL_RECORD_CALL: "stop-individual-record-call";
    readonly STOP_RAW_RECORD_CALL: "stop-raw-record-call";
    readonly STOP_RECORD_CALL: "stop-record-call";
    readonly STOP_TRANSCRIPTION_CALL: "stop-transcription-call";
    readonly UPDATE_CALL: "update-call";
    readonly UPDATE_CALL_MEMBER: "update-call-member";
    readonly UPDATE_CALL_PERMISSIONS: "update-call-permissions";
    readonly UPDATE_CALL_SETTINGS: "update-call-settings";
};
export type OwnCapability = (typeof OwnCapability)[keyof typeof OwnCapability];
/**
 *
 * @export
 * @interface OwnUserResponse
 */
export interface OwnUserResponse {
    /**
     *
     * @type {number}
     * @memberof OwnUserResponse
     */
    avg_response_time?: number;
    /**
     *
     * @type {Array<string>}
     * @memberof OwnUserResponse
     */
    blocked_user_ids?: Array<string>;
    /**
     *
     * @type {string}
     * @memberof OwnUserResponse
     */
    created_at: string;
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof OwnUserResponse
     */
    custom: {
        [key: string]: any;
    };
    /**
     *
     * @type {string}
     * @memberof OwnUserResponse
     */
    deactivated_at?: string;
    /**
     *
     * @type {string}
     * @memberof OwnUserResponse
     */
    deleted_at?: string;
    /**
     *
     * @type {Array<DeviceResponse>}
     * @memberof OwnUserResponse
     */
    devices: Array<DeviceResponse>;
    /**
     *
     * @type {string}
     * @memberof OwnUserResponse
     */
    id: string;
    /**
     *
     * @type {string}
     * @memberof OwnUserResponse
     */
    image?: string;
    /**
     *
     * @type {string}
     * @memberof OwnUserResponse
     */
    language: string;
    /**
     *
     * @type {string}
     * @memberof OwnUserResponse
     */
    last_active?: string;
    /**
     *
     * @type {string}
     * @memberof OwnUserResponse
     */
    name?: string;
    /**
     *
     * @type {object}
     * @memberof OwnUserResponse
     */
    privacy_settings?: object;
    /**
     *
     * @type {PushPreferencesResponse}
     * @memberof OwnUserResponse
     */
    push_preferences?: PushPreferencesResponse;
    /**
     *
     * @type {string}
     * @memberof OwnUserResponse
     */
    revoke_tokens_issued_before?: string;
    /**
     *
     * @type {string}
     * @memberof OwnUserResponse
     */
    role: string;
    /**
     *
     * @type {Array<string>}
     * @memberof OwnUserResponse
     */
    teams: Array<string>;
    /**
     *
     * @type {{ [key: string]: string; }}
     * @memberof OwnUserResponse
     */
    teams_role?: {
        [key: string]: string;
    };
    /**
     *
     * @type {string}
     * @memberof OwnUserResponse
     */
    updated_at: string;
}
/**
 *
 * @export
 * @interface ParticipantCountByMinuteResponse
 */
export interface ParticipantCountByMinuteResponse {
    /**
     *
     * @type {number}
     * @memberof ParticipantCountByMinuteResponse
     */
    first: number;
    /**
     *
     * @type {number}
     * @memberof ParticipantCountByMinuteResponse
     */
    last: number;
    /**
     *
     * @type {number}
     * @memberof ParticipantCountByMinuteResponse
     */
    max: number;
    /**
     *
     * @type {number}
     * @memberof ParticipantCountByMinuteResponse
     */
    min: number;
    /**
     *
     * @type {string}
     * @memberof ParticipantCountByMinuteResponse
     */
    start_ts: string;
}
/**
 *
 * @export
 * @interface ParticipantCountOverTimeResponse
 */
export interface ParticipantCountOverTimeResponse {
    /**
     *
     * @type {Array<ParticipantCountByMinuteResponse>}
     * @memberof ParticipantCountOverTimeResponse
     */
    by_minute?: Array<ParticipantCountByMinuteResponse>;
}
/**
 *
 * @export
 * @interface ParticipantReportResponse
 */
export interface ParticipantReportResponse {
    /**
     *
     * @type {Array<GroupedStatsResponse>}
     * @memberof ParticipantReportResponse
     */
    by_browser?: Array<GroupedStatsResponse>;
    /**
     *
     * @type {Array<GroupedStatsResponse>}
     * @memberof ParticipantReportResponse
     */
    by_country?: Array<GroupedStatsResponse>;
    /**
     *
     * @type {Array<GroupedStatsResponse>}
     * @memberof ParticipantReportResponse
     */
    by_device?: Array<GroupedStatsResponse>;
    /**
     *
     * @type {Array<GroupedStatsResponse>}
     * @memberof ParticipantReportResponse
     */
    by_operating_system?: Array<GroupedStatsResponse>;
    /**
     *
     * @type {ParticipantCountOverTimeResponse}
     * @memberof ParticipantReportResponse
     */
    count_over_time?: ParticipantCountOverTimeResponse;
    /**
     *
     * @type {number}
     * @memberof ParticipantReportResponse
     */
    max_concurrent?: number;
    /**
     *
     * @type {PublisherStatsResponse}
     * @memberof ParticipantReportResponse
     */
    publishers?: PublisherStatsResponse;
    /**
     *
     * @type {SubscriberStatsResponse}
     * @memberof ParticipantReportResponse
     */
    subscribers?: SubscriberStatsResponse;
    /**
     *
     * @type {number}
     * @memberof ParticipantReportResponse
     */
    sum: number;
    /**
     *
     * @type {number}
     * @memberof ParticipantReportResponse
     */
    unique: number;
}
/**
 *
 * @export
 * @interface ParticipantSeriesPublisherStats
 */
export interface ParticipantSeriesPublisherStats {
    /**
     *
     * @type {{ [key: string]: Array<Array<number>>; }}
     * @memberof ParticipantSeriesPublisherStats
     */
    global?: {
        [key: string]: Array<Array<number>>;
    };
    /**
     *
     * @type {{ [key: string]: MetricDescriptor; }}
     * @memberof ParticipantSeriesPublisherStats
     */
    global_meta?: {
        [key: string]: MetricDescriptor;
    };
    /**
     *
     * @type {Array<string>}
     * @memberof ParticipantSeriesPublisherStats
     */
    global_metrics_order?: Array<string>;
    /**
     *
     * @type {{ [key: string]: Array<MetricThreshold>; }}
     * @memberof ParticipantSeriesPublisherStats
     */
    global_thresholds?: {
        [key: string]: Array<MetricThreshold>;
    };
    /**
     *
     * @type {{ [key: string]: Array<ParticipantSeriesTrackMetrics>; }}
     * @memberof ParticipantSeriesPublisherStats
     */
    tracks?: {
        [key: string]: Array<ParticipantSeriesTrackMetrics>;
    };
}
/**
 *
 * @export
 * @interface ParticipantSeriesSubscriberStats
 */
export interface ParticipantSeriesSubscriberStats {
    /**
     *
     * @type {{ [key: string]: Array<Array<number>>; }}
     * @memberof ParticipantSeriesSubscriberStats
     */
    global?: {
        [key: string]: Array<Array<number>>;
    };
    /**
     *
     * @type {{ [key: string]: MetricDescriptor; }}
     * @memberof ParticipantSeriesSubscriberStats
     */
    global_meta?: {
        [key: string]: MetricDescriptor;
    };
    /**
     *
     * @type {Array<string>}
     * @memberof ParticipantSeriesSubscriberStats
     */
    global_metrics_order?: Array<string>;
    /**
     *
     * @type {{ [key: string]: Array<MetricThreshold>; }}
     * @memberof ParticipantSeriesSubscriberStats
     */
    global_thresholds?: {
        [key: string]: Array<MetricThreshold>;
    };
    /**
     *
     * @type {Array<ParticipantSeriesSubscriptionTrackMetrics>}
     * @memberof ParticipantSeriesSubscriberStats
     */
    subscriptions?: Array<ParticipantSeriesSubscriptionTrackMetrics>;
}
/**
 *
 * @export
 * @interface ParticipantSeriesSubscriptionTrackMetrics
 */
export interface ParticipantSeriesSubscriptionTrackMetrics {
    /**
     *
     * @type {string}
     * @memberof ParticipantSeriesSubscriptionTrackMetrics
     */
    publisher_name?: string;
    /**
     *
     * @type {string}
     * @memberof ParticipantSeriesSubscriptionTrackMetrics
     */
    publisher_user_id: string;
    /**
     *
     * @type {string}
     * @memberof ParticipantSeriesSubscriptionTrackMetrics
     */
    publisher_user_session_id?: string;
    /**
     *
     * @type {{ [key: string]: Array<ParticipantSeriesTrackMetrics>; }}
     * @memberof ParticipantSeriesSubscriptionTrackMetrics
     */
    tracks?: {
        [key: string]: Array<ParticipantSeriesTrackMetrics>;
    };
}
/**
 *
 * @export
 * @interface ParticipantSeriesTimeframe
 */
export interface ParticipantSeriesTimeframe {
    /**
     *
     * @type {number}
     * @memberof ParticipantSeriesTimeframe
     */
    max_points: number;
    /**
     *
     * @type {string}
     * @memberof ParticipantSeriesTimeframe
     */
    since: string;
    /**
     *
     * @type {number}
     * @memberof ParticipantSeriesTimeframe
     */
    step_seconds: number;
    /**
     *
     * @type {string}
     * @memberof ParticipantSeriesTimeframe
     */
    until: string;
}
/**
 *
 * @export
 * @interface ParticipantSeriesTrackMetrics
 */
export interface ParticipantSeriesTrackMetrics {
    /**
     *
     * @type {string}
     * @memberof ParticipantSeriesTrackMetrics
     */
    codec?: string;
    /**
     *
     * @type {string}
     * @memberof ParticipantSeriesTrackMetrics
     */
    label?: string;
    /**
     *
     * @type {{ [key: string]: Array<Array<number>>; }}
     * @memberof ParticipantSeriesTrackMetrics
     */
    metrics?: {
        [key: string]: Array<Array<number>>;
    };
    /**
     *
     * @type {{ [key: string]: MetricDescriptor; }}
     * @memberof ParticipantSeriesTrackMetrics
     */
    metrics_meta?: {
        [key: string]: MetricDescriptor;
    };
    /**
     *
     * @type {Array<string>}
     * @memberof ParticipantSeriesTrackMetrics
     */
    metrics_order?: Array<string>;
    /**
     *
     * @type {string}
     * @memberof ParticipantSeriesTrackMetrics
     */
    rid?: string;
    /**
     *
     * @type {{ [key: string]: Array<MetricThreshold>; }}
     * @memberof ParticipantSeriesTrackMetrics
     */
    thresholds?: {
        [key: string]: Array<MetricThreshold>;
    };
    /**
     *
     * @type {string}
     * @memberof ParticipantSeriesTrackMetrics
     */
    track_id: string;
    /**
     *
     * @type {string}
     * @memberof ParticipantSeriesTrackMetrics
     */
    track_type?: string;
}
/**
 *
 * @export
 * @interface ParticipantSeriesUserStats
 */
export interface ParticipantSeriesUserStats {
    /**
     *
     * @type {{ [key: string]: Array<Array<number>>; }}
     * @memberof ParticipantSeriesUserStats
     */
    metrics?: {
        [key: string]: Array<Array<number>>;
    };
    /**
     *
     * @type {{ [key: string]: MetricDescriptor; }}
     * @memberof ParticipantSeriesUserStats
     */
    metrics_meta?: {
        [key: string]: MetricDescriptor;
    };
    /**
     *
     * @type {Array<string>}
     * @memberof ParticipantSeriesUserStats
     */
    metrics_order?: Array<string>;
    /**
     *
     * @type {{ [key: string]: Array<MetricThreshold>; }}
     * @memberof ParticipantSeriesUserStats
     */
    thresholds?: {
        [key: string]: Array<MetricThreshold>;
    };
}
/**
 *
 * @export
 * @interface PerSDKUsageReport
 */
export interface PerSDKUsageReport {
    /**
     *
     * @type {{ [key: string]: number; }}
     * @memberof PerSDKUsageReport
     */
    by_version: {
        [key: string]: number;
    };
    /**
     *
     * @type {number}
     * @memberof PerSDKUsageReport
     */
    total: number;
}
/**
 * This event is sent when a user requests access to a feature on a call,
 * clients receiving this event should display a permission request to the user
 * @export
 * @interface PermissionRequestEvent
 */
export interface PermissionRequestEvent {
    /**
     *
     * @type {string}
     * @memberof PermissionRequestEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof PermissionRequestEvent
     */
    created_at: string;
    /**
     * The list of permissions requested by the user
     * @type {Array<string>}
     * @memberof PermissionRequestEvent
     */
    permissions: Array<string>;
    /**
     * The type of event: "call.permission_request" in this case
     * @type {string}
     * @memberof PermissionRequestEvent
     */
    type: string;
    /**
     *
     * @type {UserResponse}
     * @memberof PermissionRequestEvent
     */
    user: UserResponse;
}
/**
 * PinRequest is the payload for pinning a message.
 * @export
 * @interface PinRequest
 */
export interface PinRequest {
    /**
     * the session ID of the user who pinned the message
     * @type {string}
     * @memberof PinRequest
     */
    session_id: string;
    /**
     * the user ID of the user who pinned the message
     * @type {string}
     * @memberof PinRequest
     */
    user_id: string;
}
/**
 * Basic response information
 * @export
 * @interface PinResponse
 */
export interface PinResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof PinResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface PublishedTrackFlags
 */
export interface PublishedTrackFlags {
    /**
     *
     * @type {boolean}
     * @memberof PublishedTrackFlags
     */
    audio: boolean;
    /**
     *
     * @type {boolean}
     * @memberof PublishedTrackFlags
     */
    screenshare: boolean;
    /**
     *
     * @type {boolean}
     * @memberof PublishedTrackFlags
     */
    screenshare_audio: boolean;
    /**
     *
     * @type {boolean}
     * @memberof PublishedTrackFlags
     */
    video: boolean;
}
/**
 *
 * @export
 * @interface PublisherStatsResponse
 */
export interface PublisherStatsResponse {
    /**
     *
     * @type {Array<TrackStatsResponse>}
     * @memberof PublisherStatsResponse
     */
    by_track?: Array<TrackStatsResponse>;
    /**
     *
     * @type {number}
     * @memberof PublisherStatsResponse
     */
    total: number;
    /**
     *
     * @type {number}
     * @memberof PublisherStatsResponse
     */
    unique: number;
}
/**
 *
 * @export
 * @interface PushPreferencesResponse
 */
export interface PushPreferencesResponse {
    /**
     *
     * @type {string}
     * @memberof PushPreferencesResponse
     */
    call_level?: string;
    /**
     *
     * @type {string}
     * @memberof PushPreferencesResponse
     */
    chat_level?: string;
    /**
     *
     * @type {string}
     * @memberof PushPreferencesResponse
     */
    disabled_until?: string;
    /**
     *
     * @type {string}
     * @memberof PushPreferencesResponse
     */
    feeds_level?: string;
    /**
     *
     * @type {FeedsPreferencesResponse}
     * @memberof PushPreferencesResponse
     */
    feeds_preferences?: FeedsPreferencesResponse;
}
/**
 *
 * @export
 * @interface QualityScoreReport
 */
export interface QualityScoreReport {
    /**
     *
     * @type {Array<ReportByHistogramBucket>}
     * @memberof QualityScoreReport
     */
    histogram: Array<ReportByHistogramBucket>;
}
/**
 *
 * @export
 * @interface QualityScoreReportResponse
 */
export interface QualityScoreReportResponse {
    /**
     *
     * @type {Array<DailyAggregateQualityScoreReportResponse>}
     * @memberof QualityScoreReportResponse
     */
    daily: Array<DailyAggregateQualityScoreReportResponse>;
}
/**
 *
 * @export
 * @interface QueryAggregateCallStatsRequest
 */
export interface QueryAggregateCallStatsRequest {
    /**
     *
     * @type {string}
     * @memberof QueryAggregateCallStatsRequest
     */
    from?: string;
    /**
     *
     * @type {Array<string>}
     * @memberof QueryAggregateCallStatsRequest
     */
    report_types?: Array<string>;
    /**
     *
     * @type {string}
     * @memberof QueryAggregateCallStatsRequest
     */
    to?: string;
}
/**
 * Basic response information
 * @export
 * @interface QueryAggregateCallStatsResponse
 */
export interface QueryAggregateCallStatsResponse {
    /**
     *
     * @type {CallDurationReportResponse}
     * @memberof QueryAggregateCallStatsResponse
     */
    call_duration_report?: CallDurationReportResponse;
    /**
     *
     * @type {CallParticipantCountReportResponse}
     * @memberof QueryAggregateCallStatsResponse
     */
    call_participant_count_report?: CallParticipantCountReportResponse;
    /**
     *
     * @type {CallsPerDayReportResponse}
     * @memberof QueryAggregateCallStatsResponse
     */
    calls_per_day_report?: CallsPerDayReportResponse;
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof QueryAggregateCallStatsResponse
     */
    duration: string;
    /**
     *
     * @type {NetworkMetricsReportResponse}
     * @memberof QueryAggregateCallStatsResponse
     */
    network_metrics_report?: NetworkMetricsReportResponse;
    /**
     *
     * @type {QualityScoreReportResponse}
     * @memberof QueryAggregateCallStatsResponse
     */
    quality_score_report?: QualityScoreReportResponse;
    /**
     *
     * @type {SDKUsageReportResponse}
     * @memberof QueryAggregateCallStatsResponse
     */
    sdk_usage_report?: SDKUsageReportResponse;
    /**
     *
     * @type {UserFeedbackReportResponse}
     * @memberof QueryAggregateCallStatsResponse
     */
    user_feedback_report?: UserFeedbackReportResponse;
}
/**
 *
 * @export
 * @interface QueryCallMembersRequest
 */
export interface QueryCallMembersRequest {
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof QueryCallMembersRequest
     */
    filter_conditions?: {
        [key: string]: any;
    };
    /**
     *
     * @type {string}
     * @memberof QueryCallMembersRequest
     */
    id: string;
    /**
     *
     * @type {number}
     * @memberof QueryCallMembersRequest
     */
    limit?: number;
    /**
     *
     * @type {string}
     * @memberof QueryCallMembersRequest
     */
    next?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallMembersRequest
     */
    prev?: string;
    /**
     *
     * @type {Array<SortParamRequest>}
     * @memberof QueryCallMembersRequest
     */
    sort?: Array<SortParamRequest>;
    /**
     *
     * @type {string}
     * @memberof QueryCallMembersRequest
     */
    type: string;
}
/**
 * Basic response information
 * @export
 * @interface QueryCallMembersResponse
 */
export interface QueryCallMembersResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof QueryCallMembersResponse
     */
    duration: string;
    /**
     *
     * @type {Array<MemberResponse>}
     * @memberof QueryCallMembersResponse
     */
    members: Array<MemberResponse>;
    /**
     *
     * @type {string}
     * @memberof QueryCallMembersResponse
     */
    next?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallMembersResponse
     */
    prev?: string;
}
/**
 *
 * @export
 * @interface QueryCallParticipantsRequest
 */
export interface QueryCallParticipantsRequest {
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof QueryCallParticipantsRequest
     */
    filter_conditions?: {
        [key: string]: any;
    };
}
/**
 *
 * @export
 * @interface QueryCallParticipantsResponse
 */
export interface QueryCallParticipantsResponse {
    /**
     *
     * @type {CallResponse}
     * @memberof QueryCallParticipantsResponse
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof QueryCallParticipantsResponse
     */
    duration: string;
    /**
     *
     * @type {Array<MemberResponse>}
     * @memberof QueryCallParticipantsResponse
     */
    members: Array<MemberResponse>;
    /**
     *
     * @type {MemberResponse}
     * @memberof QueryCallParticipantsResponse
     */
    membership?: MemberResponse;
    /**
     *
     * @type {Array<OwnCapability>}
     * @memberof QueryCallParticipantsResponse
     */
    own_capabilities: Array<OwnCapability>;
    /**
     * List of call participants
     * @type {Array<CallParticipantResponse>}
     * @memberof QueryCallParticipantsResponse
     */
    participants: Array<CallParticipantResponse>;
    /**
     *
     * @type {number}
     * @memberof QueryCallParticipantsResponse
     */
    total_participants: number;
}
/**
 * Basic response information
 * @export
 * @interface QueryCallSessionParticipantStatsResponse
 */
export interface QueryCallSessionParticipantStatsResponse {
    /**
     *
     * @type {string}
     * @memberof QueryCallSessionParticipantStatsResponse
     */
    call_ended_at?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallSessionParticipantStatsResponse
     */
    call_id: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallSessionParticipantStatsResponse
     */
    call_session_id: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallSessionParticipantStatsResponse
     */
    call_started_at?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallSessionParticipantStatsResponse
     */
    call_type: string;
    /**
     *
     * @type {CallStatsParticipantCounts}
     * @memberof QueryCallSessionParticipantStatsResponse
     */
    counts: CallStatsParticipantCounts;
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof QueryCallSessionParticipantStatsResponse
     */
    duration: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallSessionParticipantStatsResponse
     */
    next?: string;
    /**
     *
     * @type {Array<CallStatsParticipant>}
     * @memberof QueryCallSessionParticipantStatsResponse
     */
    participants: Array<CallStatsParticipant>;
    /**
     *
     * @type {string}
     * @memberof QueryCallSessionParticipantStatsResponse
     */
    prev?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallSessionParticipantStatsResponse
     */
    tmp_data_source?: string;
}
/**
 * Basic response information
 * @export
 * @interface QueryCallSessionParticipantStatsTimelineResponse
 */
export interface QueryCallSessionParticipantStatsTimelineResponse {
    /**
     *
     * @type {string}
     * @memberof QueryCallSessionParticipantStatsTimelineResponse
     */
    call_id: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallSessionParticipantStatsTimelineResponse
     */
    call_session_id: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallSessionParticipantStatsTimelineResponse
     */
    call_type: string;
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof QueryCallSessionParticipantStatsTimelineResponse
     */
    duration: string;
    /**
     *
     * @type {Array<CallParticipantTimeline>}
     * @memberof QueryCallSessionParticipantStatsTimelineResponse
     */
    events: Array<CallParticipantTimeline>;
    /**
     *
     * @type {string}
     * @memberof QueryCallSessionParticipantStatsTimelineResponse
     */
    user_id: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallSessionParticipantStatsTimelineResponse
     */
    user_session_id: string;
}
/**
 * Basic response information
 * @export
 * @interface QueryCallStatsMapResponse
 */
export interface QueryCallStatsMapResponse {
    /**
     *
     * @type {string}
     * @memberof QueryCallStatsMapResponse
     */
    call_ended_at?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallStatsMapResponse
     */
    call_id: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallStatsMapResponse
     */
    call_session_id: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallStatsMapResponse
     */
    call_started_at?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallStatsMapResponse
     */
    call_type: string;
    /**
     *
     * @type {CallStatsParticipantCounts}
     * @memberof QueryCallStatsMapResponse
     */
    counts: CallStatsParticipantCounts;
    /**
     *
     * @type {string}
     * @memberof QueryCallStatsMapResponse
     */
    data_source?: string;
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof QueryCallStatsMapResponse
     */
    duration: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallStatsMapResponse
     */
    end_time?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallStatsMapResponse
     */
    generated_at?: string;
    /**
     *
     * @type {CallStatsMapPublishers}
     * @memberof QueryCallStatsMapResponse
     */
    publishers?: CallStatsMapPublishers;
    /**
     *
     * @type {CallStatsMapSFUs}
     * @memberof QueryCallStatsMapResponse
     */
    sfus?: CallStatsMapSFUs;
    /**
     *
     * @type {string}
     * @memberof QueryCallStatsMapResponse
     */
    start_time?: string;
    /**
     *
     * @type {CallStatsMapSubscribers}
     * @memberof QueryCallStatsMapResponse
     */
    subscribers?: CallStatsMapSubscribers;
}
/**
 *
 * @export
 * @interface QueryCallStatsRequest
 */
export interface QueryCallStatsRequest {
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof QueryCallStatsRequest
     */
    filter_conditions?: {
        [key: string]: any;
    };
    /**
     *
     * @type {number}
     * @memberof QueryCallStatsRequest
     */
    limit?: number;
    /**
     *
     * @type {string}
     * @memberof QueryCallStatsRequest
     */
    next?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallStatsRequest
     */
    prev?: string;
    /**
     *
     * @type {Array<SortParamRequest>}
     * @memberof QueryCallStatsRequest
     */
    sort?: Array<SortParamRequest>;
}
/**
 * Basic response information
 * @export
 * @interface QueryCallStatsResponse
 */
export interface QueryCallStatsResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof QueryCallStatsResponse
     */
    duration: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallStatsResponse
     */
    next?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallStatsResponse
     */
    prev?: string;
    /**
     *
     * @type {Array<CallStatsReportSummaryResponse>}
     * @memberof QueryCallStatsResponse
     */
    reports: Array<CallStatsReportSummaryResponse>;
}
/**
 *
 * @export
 * @interface QueryCallsRequest
 */
export interface QueryCallsRequest {
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof QueryCallsRequest
     */
    filter_conditions?: {
        [key: string]: any;
    };
    /**
     *
     * @type {number}
     * @memberof QueryCallsRequest
     */
    limit?: number;
    /**
     *
     * @type {string}
     * @memberof QueryCallsRequest
     */
    next?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallsRequest
     */
    prev?: string;
    /**
     * Array of sort parameters
     * @type {Array<SortParamRequest>}
     * @memberof QueryCallsRequest
     */
    sort?: Array<SortParamRequest>;
    /**
     *
     * @type {boolean}
     * @memberof QueryCallsRequest
     */
    watch?: boolean;
}
/**
 *
 * @export
 * @interface QueryCallsResponse
 */
export interface QueryCallsResponse {
    /**
     *
     * @type {Array<CallStateResponseFields>}
     * @memberof QueryCallsResponse
     */
    calls: Array<CallStateResponseFields>;
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof QueryCallsResponse
     */
    duration: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallsResponse
     */
    next?: string;
    /**
     *
     * @type {string}
     * @memberof QueryCallsResponse
     */
    prev?: string;
}
/**
 * RTMPBroadcastRequest is the payload for starting an RTMP broadcast.
 * @export
 * @interface RTMPBroadcastRequest
 */
export interface RTMPBroadcastRequest {
    /**
     *
     * @type {LayoutSettingsRequest}
     * @memberof RTMPBroadcastRequest
     */
    layout?: LayoutSettingsRequest;
    /**
     * Name identifier for RTMP broadcast, must be unique in call
     * @type {string}
     * @memberof RTMPBroadcastRequest
     */
    name: string;
    /**
     * If provided, will override the call's RTMP settings quality
     * @type {string}
     * @memberof RTMPBroadcastRequest
     */
    quality?: RTMPBroadcastRequestQualityEnum;
    /**
     * If provided, will be appended at the end of stream_url
     * @type {string}
     * @memberof RTMPBroadcastRequest
     */
    stream_key?: string;
    /**
     * URL for the RTMP server to send the call to
     * @type {string}
     * @memberof RTMPBroadcastRequest
     */
    stream_url: string;
}
/**
 * @export
 */
export declare const RTMPBroadcastRequestQualityEnum: {
    readonly _360P: "360p";
    readonly _480P: "480p";
    readonly _720P: "720p";
    readonly _1080P: "1080p";
    readonly _1440P: "1440p";
    readonly PORTRAIT_360X640: "portrait-360x640";
    readonly PORTRAIT_480X854: "portrait-480x854";
    readonly PORTRAIT_720X1280: "portrait-720x1280";
    readonly PORTRAIT_1080X1920: "portrait-1080x1920";
    readonly PORTRAIT_1440X2560: "portrait-1440x2560";
};
export type RTMPBroadcastRequestQualityEnum = (typeof RTMPBroadcastRequestQualityEnum)[keyof typeof RTMPBroadcastRequestQualityEnum];
/**
 * RTMP input settings
 * @export
 * @interface RTMPIngress
 */
export interface RTMPIngress {
    /**
     *
     * @type {string}
     * @memberof RTMPIngress
     */
    address: string;
}
/**
 *
 * @export
 * @interface RTMPSettingsRequest
 */
export interface RTMPSettingsRequest {
    /**
     *
     * @type {boolean}
     * @memberof RTMPSettingsRequest
     */
    enabled?: boolean;
    /**
     * Resolution to set for the RTMP stream
     * @type {string}
     * @memberof RTMPSettingsRequest
     */
    quality?: RTMPSettingsRequestQualityEnum;
}
/**
 * @export
 */
export declare const RTMPSettingsRequestQualityEnum: {
    readonly _360P: "360p";
    readonly _480P: "480p";
    readonly _720P: "720p";
    readonly _1080P: "1080p";
    readonly _1440P: "1440p";
    readonly PORTRAIT_360X640: "portrait-360x640";
    readonly PORTRAIT_480X854: "portrait-480x854";
    readonly PORTRAIT_720X1280: "portrait-720x1280";
    readonly PORTRAIT_1080X1920: "portrait-1080x1920";
    readonly PORTRAIT_1440X2560: "portrait-1440x2560";
};
export type RTMPSettingsRequestQualityEnum = (typeof RTMPSettingsRequestQualityEnum)[keyof typeof RTMPSettingsRequestQualityEnum];
/**
 * RTMPSettingsResponse is the payload for RTMP settings
 * @export
 * @interface RTMPSettingsResponse
 */
export interface RTMPSettingsResponse {
    /**
     *
     * @type {boolean}
     * @memberof RTMPSettingsResponse
     */
    enabled: boolean;
    /**
     *
     * @type {string}
     * @memberof RTMPSettingsResponse
     */
    quality: string;
}
/**
 *
 * @export
 * @interface RawRecordingResponse
 */
export interface RawRecordingResponse {
    /**
     *
     * @type {string}
     * @memberof RawRecordingResponse
     */
    status: string;
}
/**
 *
 * @export
 * @interface RawRecordingSettingsRequest
 */
export interface RawRecordingSettingsRequest {
    /**
     *
     * @type {string}
     * @memberof RawRecordingSettingsRequest
     */
    mode: RawRecordingSettingsRequestModeEnum;
}
/**
 * @export
 */
export declare const RawRecordingSettingsRequestModeEnum: {
    readonly AVAILABLE: "available";
    readonly DISABLED: "disabled";
    readonly AUTO_ON: "auto-on";
};
export type RawRecordingSettingsRequestModeEnum = (typeof RawRecordingSettingsRequestModeEnum)[keyof typeof RawRecordingSettingsRequestModeEnum];
/**
 *
 * @export
 * @interface RawRecordingSettingsResponse
 */
export interface RawRecordingSettingsResponse {
    /**
     *
     * @type {string}
     * @memberof RawRecordingSettingsResponse
     */
    mode: RawRecordingSettingsResponseModeEnum;
}
/**
 * @export
 */
export declare const RawRecordingSettingsResponseModeEnum: {
    readonly AVAILABLE: "available";
    readonly DISABLED: "disabled";
    readonly AUTO_ON: "auto-on";
};
export type RawRecordingSettingsResponseModeEnum = (typeof RawRecordingSettingsResponseModeEnum)[keyof typeof RawRecordingSettingsResponseModeEnum];
/**
 *
 * @export
 * @interface ReactionResponse
 */
export interface ReactionResponse {
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof ReactionResponse
     */
    custom?: {
        [key: string]: any;
    };
    /**
     *
     * @type {string}
     * @memberof ReactionResponse
     */
    emoji_code?: string;
    /**
     *
     * @type {string}
     * @memberof ReactionResponse
     */
    type: string;
    /**
     *
     * @type {UserResponse}
     * @memberof ReactionResponse
     */
    user: UserResponse;
}
/**
 *
 * @export
 * @interface RecordSettingsRequest
 */
export interface RecordSettingsRequest {
    /**
     *
     * @type {boolean}
     * @memberof RecordSettingsRequest
     */
    audio_only?: boolean;
    /**
     *
     * @type {string}
     * @memberof RecordSettingsRequest
     */
    mode: RecordSettingsRequestModeEnum;
    /**
     *
     * @type {string}
     * @memberof RecordSettingsRequest
     */
    quality?: RecordSettingsRequestQualityEnum;
}
/**
 * @export
 */
export declare const RecordSettingsRequestModeEnum: {
    readonly AVAILABLE: "available";
    readonly DISABLED: "disabled";
    readonly AUTO_ON: "auto-on";
};
export type RecordSettingsRequestModeEnum = (typeof RecordSettingsRequestModeEnum)[keyof typeof RecordSettingsRequestModeEnum];
/**
 * @export
 */
export declare const RecordSettingsRequestQualityEnum: {
    readonly _360P: "360p";
    readonly _480P: "480p";
    readonly _720P: "720p";
    readonly _1080P: "1080p";
    readonly _1440P: "1440p";
    readonly PORTRAIT_360X640: "portrait-360x640";
    readonly PORTRAIT_480X854: "portrait-480x854";
    readonly PORTRAIT_720X1280: "portrait-720x1280";
    readonly PORTRAIT_1080X1920: "portrait-1080x1920";
    readonly PORTRAIT_1440X2560: "portrait-1440x2560";
};
export type RecordSettingsRequestQualityEnum = (typeof RecordSettingsRequestQualityEnum)[keyof typeof RecordSettingsRequestQualityEnum];
/**
 * RecordSettings is the payload for recording settings
 * @export
 * @interface RecordSettingsResponse
 */
export interface RecordSettingsResponse {
    /**
     *
     * @type {boolean}
     * @memberof RecordSettingsResponse
     */
    audio_only: boolean;
    /**
     *
     * @type {string}
     * @memberof RecordSettingsResponse
     */
    mode: string;
    /**
     *
     * @type {string}
     * @memberof RecordSettingsResponse
     */
    quality: string;
}
/**
 *
 * @export
 * @interface RejectCallRequest
 */
export interface RejectCallRequest {
    /**
     * Reason for rejecting the call
     * @type {string}
     * @memberof RejectCallRequest
     */
    reason?: string;
}
/**
 *
 * @export
 * @interface RejectCallResponse
 */
export interface RejectCallResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof RejectCallResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface ReportByHistogramBucket
 */
export interface ReportByHistogramBucket {
    /**
     *
     * @type {string}
     * @memberof ReportByHistogramBucket
     */
    category: string;
    /**
     *
     * @type {number}
     * @memberof ReportByHistogramBucket
     */
    count: number;
    /**
     *
     * @type {Bound}
     * @memberof ReportByHistogramBucket
     */
    lower_bound?: Bound;
    /**
     *
     * @type {number}
     * @memberof ReportByHistogramBucket
     */
    sum: number;
    /**
     *
     * @type {Bound}
     * @memberof ReportByHistogramBucket
     */
    upper_bound?: Bound;
}
/**
 *
 * @export
 * @interface ReportResponse
 */
export interface ReportResponse {
    /**
     *
     * @type {CallReportResponse}
     * @memberof ReportResponse
     */
    call: CallReportResponse;
    /**
     *
     * @type {ParticipantReportResponse}
     * @memberof ReportResponse
     */
    participants: ParticipantReportResponse;
    /**
     *
     * @type {UserRatingReportResponse}
     * @memberof ReportResponse
     */
    user_ratings: UserRatingReportResponse;
}
/**
 *
 * @export
 * @interface RequestPermissionRequest
 */
export interface RequestPermissionRequest {
    /**
     *
     * @type {Array<string>}
     * @memberof RequestPermissionRequest
     */
    permissions: Array<string>;
}
/**
 *
 * @export
 * @interface RequestPermissionResponse
 */
export interface RequestPermissionResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof RequestPermissionResponse
     */
    duration: string;
}
/**
 * Request to resolve SIP inbound routing using challenge authentication
 * @export
 * @interface ResolveSipInboundRequest
 */
export interface ResolveSipInboundRequest {
    /**
     *
     * @type {SIPChallenge}
     * @memberof ResolveSipInboundRequest
     */
    challenge: SIPChallenge;
    /**
     * SIP caller number
     * @type {string}
     * @memberof ResolveSipInboundRequest
     */
    sip_caller_number: string;
    /**
     * Optional SIP headers as key-value pairs
     * @type {{ [key: string]: string; }}
     * @memberof ResolveSipInboundRequest
     */
    sip_headers?: {
        [key: string]: string;
    };
    /**
     * SIP trunk number to resolve
     * @type {string}
     * @memberof ResolveSipInboundRequest
     */
    sip_trunk_number: string;
}
/**
 * Response containing resolved SIP inbound routing information
 * @export
 * @interface ResolveSipInboundResponse
 */
export interface ResolveSipInboundResponse {
    /**
     *
     * @type {SipInboundCredentials}
     * @memberof ResolveSipInboundResponse
     */
    credentials: SipInboundCredentials;
    /**
     *
     * @type {string}
     * @memberof ResolveSipInboundResponse
     */
    duration: string;
    /**
     *
     * @type {SIPInboundRoutingRuleResponse}
     * @memberof ResolveSipInboundResponse
     */
    sip_routing_rule?: SIPInboundRoutingRuleResponse;
    /**
     *
     * @type {SIPTrunkResponse}
     * @memberof ResolveSipInboundResponse
     */
    sip_trunk?: SIPTrunkResponse;
}
/**
 * Basic response information
 * @export
 * @interface Response
 */
export interface Response {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof Response
     */
    duration: string;
}
/**
 *
 * @export
 * @interface RingCallRequest
 */
export interface RingCallRequest {
    /**
     * Members that should receive the ring. If no ids are provided, all call members who are not already in the call will receive ring notifications.
     * @type {Array<string>}
     * @memberof RingCallRequest
     */
    members_ids?: Array<string>;
    /**
     * Indicate if call should be video
     * @type {boolean}
     * @memberof RingCallRequest
     */
    video?: boolean;
}
/**
 *
 * @export
 * @interface RingCallResponse
 */
export interface RingCallResponse {
    /**
     *
     * @type {string}
     * @memberof RingCallResponse
     */
    duration: string;
    /**
     * List of members ringing notification was sent to
     * @type {Array<string>}
     * @memberof RingCallResponse
     */
    members_ids: Array<string>;
}
/**
 *
 * @export
 * @interface RingSettingsRequest
 */
export interface RingSettingsRequest {
    /**
     * When none of the callees accept a ring call in this time a rejection will be sent by the caller with reason 'timeout' by the SDKs
     * @type {number}
     * @memberof RingSettingsRequest
     */
    auto_cancel_timeout_ms: number;
    /**
     * When a callee is online but doesn't answer a ring call in this time a rejection will be sent with reason 'timeout' by the SDKs
     * @type {number}
     * @memberof RingSettingsRequest
     */
    incoming_call_timeout_ms: number;
    /**
     * When a callee doesn't accept or reject a ring call in this time a missed call event will be sent
     * @type {number}
     * @memberof RingSettingsRequest
     */
    missed_call_timeout_ms?: number;
}
/**
 *
 * @export
 * @interface RingSettingsResponse
 */
export interface RingSettingsResponse {
    /**
     *
     * @type {number}
     * @memberof RingSettingsResponse
     */
    auto_cancel_timeout_ms: number;
    /**
     *
     * @type {number}
     * @memberof RingSettingsResponse
     */
    incoming_call_timeout_ms: number;
    /**
     *
     * @type {number}
     * @memberof RingSettingsResponse
     */
    missed_call_timeout_ms: number;
}
/**
 *
 * @export
 * @interface SDKUsageReport
 */
export interface SDKUsageReport {
    /**
     *
     * @type {{ [key: string]: PerSDKUsageReport; }}
     * @memberof SDKUsageReport
     */
    per_sdk_usage: {
        [key: string]: PerSDKUsageReport;
    };
}
/**
 *
 * @export
 * @interface SDKUsageReportResponse
 */
export interface SDKUsageReportResponse {
    /**
     *
     * @type {Array<DailyAggregateSDKUsageReportResponse>}
     * @memberof SDKUsageReportResponse
     */
    daily: Array<DailyAggregateSDKUsageReportResponse>;
}
/**
 *
 * @export
 * @interface SFULocationResponse
 */
export interface SFULocationResponse {
    /**
     *
     * @type {Coordinates}
     * @memberof SFULocationResponse
     */
    coordinates: Coordinates;
    /**
     *
     * @type {string}
     * @memberof SFULocationResponse
     */
    datacenter: string;
    /**
     *
     * @type {string}
     * @memberof SFULocationResponse
     */
    id: string;
    /**
     *
     * @type {Location}
     * @memberof SFULocationResponse
     */
    location: Location;
}
/**
 *
 * @export
 * @interface SFUResponse
 */
export interface SFUResponse {
    /**
     *
     * @type {string}
     * @memberof SFUResponse
     */
    edge_name: string;
    /**
     *
     * @type {string}
     * @memberof SFUResponse
     */
    url: string;
    /**
     *
     * @type {string}
     * @memberof SFUResponse
     */
    ws_endpoint: string;
}
/**
 * SIP call configuration response
 * @export
 * @interface SIPCallConfigsResponse
 */
export interface SIPCallConfigsResponse {
    /**
     * Custom data associated with the call
     * @type {{ [key: string]: any; }}
     * @memberof SIPCallConfigsResponse
     */
    custom_data: {
        [key: string]: any;
    };
}
/**
 * SIP caller configuration response
 * @export
 * @interface SIPCallerConfigsResponse
 */
export interface SIPCallerConfigsResponse {
    /**
     * Custom data associated with the caller
     * @type {{ [key: string]: any; }}
     * @memberof SIPCallerConfigsResponse
     */
    custom_data: {
        [key: string]: any;
    };
    /**
     * Unique identifier for the caller
     * @type {string}
     * @memberof SIPCallerConfigsResponse
     */
    id: string;
}
/**
 *
 * @export
 * @interface SIPChallenge
 */
export interface SIPChallenge {
    /**
     *
     * @type {string}
     * @memberof SIPChallenge
     */
    a1?: string;
    /**
     *
     * @type {string}
     * @memberof SIPChallenge
     */
    algorithm?: string;
    /**
     *
     * @type {string}
     * @memberof SIPChallenge
     */
    charset?: string;
    /**
     *
     * @type {string}
     * @memberof SIPChallenge
     */
    cnonce?: string;
    /**
     *
     * @type {Array<string>}
     * @memberof SIPChallenge
     */
    domain?: Array<string>;
    /**
     *
     * @type {string}
     * @memberof SIPChallenge
     */
    method?: string;
    /**
     *
     * @type {string}
     * @memberof SIPChallenge
     */
    nc?: string;
    /**
     *
     * @type {string}
     * @memberof SIPChallenge
     */
    nonce?: string;
    /**
     *
     * @type {string}
     * @memberof SIPChallenge
     */
    opaque?: string;
    /**
     *
     * @type {Array<string>}
     * @memberof SIPChallenge
     */
    qop?: Array<string>;
    /**
     *
     * @type {string}
     * @memberof SIPChallenge
     */
    realm?: string;
    /**
     *
     * @type {string}
     * @memberof SIPChallenge
     */
    response?: string;
    /**
     *
     * @type {boolean}
     * @memberof SIPChallenge
     */
    stale?: boolean;
    /**
     *
     * @type {string}
     * @memberof SIPChallenge
     */
    uri?: string;
    /**
     *
     * @type {boolean}
     * @memberof SIPChallenge
     */
    userhash?: boolean;
    /**
     *
     * @type {string}
     * @memberof SIPChallenge
     */
    username?: string;
}
/**
 * Direct routing rule call configuration response
 * @export
 * @interface SIPDirectRoutingRuleCallConfigsResponse
 */
export interface SIPDirectRoutingRuleCallConfigsResponse {
    /**
     * ID of the call
     * @type {string}
     * @memberof SIPDirectRoutingRuleCallConfigsResponse
     */
    call_id: string;
    /**
     * Type of the call
     * @type {string}
     * @memberof SIPDirectRoutingRuleCallConfigsResponse
     */
    call_type: string;
}
/**
 * PIN routing rule call configuration response
 * @export
 * @interface SIPInboundRoutingRulePinConfigsResponse
 */
export interface SIPInboundRoutingRulePinConfigsResponse {
    /**
     * Optional webhook URL for custom PIN handling
     * @type {string}
     * @memberof SIPInboundRoutingRulePinConfigsResponse
     */
    custom_webhook_url?: string;
    /**
     * Prompt message for failed PIN attempts
     * @type {string}
     * @memberof SIPInboundRoutingRulePinConfigsResponse
     */
    pin_failed_attempt_prompt?: string;
    /**
     * Prompt message for hangup after PIN input
     * @type {string}
     * @memberof SIPInboundRoutingRulePinConfigsResponse
     */
    pin_hangup_prompt?: string;
    /**
     * Prompt message for PIN input
     * @type {string}
     * @memberof SIPInboundRoutingRulePinConfigsResponse
     */
    pin_prompt?: string;
    /**
     * Prompt message for successful PIN input
     * @type {string}
     * @memberof SIPInboundRoutingRulePinConfigsResponse
     */
    pin_success_prompt?: string;
}
/**
 * SIP Inbound Routing Rule response
 * @export
 * @interface SIPInboundRoutingRuleResponse
 */
export interface SIPInboundRoutingRuleResponse {
    /**
     *
     * @type {SIPCallConfigsResponse}
     * @memberof SIPInboundRoutingRuleResponse
     */
    call_configs?: SIPCallConfigsResponse;
    /**
     * List of called numbers
     * @type {Array<string>}
     * @memberof SIPInboundRoutingRuleResponse
     */
    called_numbers: Array<string>;
    /**
     *
     * @type {SIPCallerConfigsResponse}
     * @memberof SIPInboundRoutingRuleResponse
     */
    caller_configs?: SIPCallerConfigsResponse;
    /**
     * List of caller numbers
     * @type {Array<string>}
     * @memberof SIPInboundRoutingRuleResponse
     */
    caller_numbers?: Array<string>;
    /**
     * Creation timestamp
     * @type {string}
     * @memberof SIPInboundRoutingRuleResponse
     */
    created_at: string;
    /**
     *
     * @type {SIPDirectRoutingRuleCallConfigsResponse}
     * @memberof SIPInboundRoutingRuleResponse
     */
    direct_routing_configs?: SIPDirectRoutingRuleCallConfigsResponse;
    /**
     *
     * @type {string}
     * @memberof SIPInboundRoutingRuleResponse
     */
    duration: string;
    /**
     * Unique identifier of the SIP Inbound Routing Rule
     * @type {string}
     * @memberof SIPInboundRoutingRuleResponse
     */
    id: string;
    /**
     * Name of the SIP Inbound Routing Rule
     * @type {string}
     * @memberof SIPInboundRoutingRuleResponse
     */
    name: string;
    /**
     *
     * @type {SIPPinProtectionConfigsResponse}
     * @memberof SIPInboundRoutingRuleResponse
     */
    pin_protection_configs?: SIPPinProtectionConfigsResponse;
    /**
     *
     * @type {SIPInboundRoutingRulePinConfigsResponse}
     * @memberof SIPInboundRoutingRuleResponse
     */
    pin_routing_configs?: SIPInboundRoutingRulePinConfigsResponse;
    /**
     * List of SIP trunk IDs
     * @type {Array<string>}
     * @memberof SIPInboundRoutingRuleResponse
     */
    trunk_ids: Array<string>;
    /**
     * Last update timestamp
     * @type {string}
     * @memberof SIPInboundRoutingRuleResponse
     */
    updated_at: string;
}
/**
 * PIN protection configuration response
 * @export
 * @interface SIPPinProtectionConfigsResponse
 */
export interface SIPPinProtectionConfigsResponse {
    /**
     * Default PIN to use if there is no PIN set on the call object
     * @type {string}
     * @memberof SIPPinProtectionConfigsResponse
     */
    default_pin?: string;
    /**
     * Whether PIN protection is enabled
     * @type {boolean}
     * @memberof SIPPinProtectionConfigsResponse
     */
    enabled: boolean;
    /**
     * Maximum number of PIN attempts allowed
     * @type {number}
     * @memberof SIPPinProtectionConfigsResponse
     */
    max_attempts?: number;
    /**
     * Number of digits required for the PIN
     * @type {number}
     * @memberof SIPPinProtectionConfigsResponse
     */
    required_pin_digits?: number;
}
/**
 * SIP trunk information
 * @export
 * @interface SIPTrunkResponse
 */
export interface SIPTrunkResponse {
    /**
     * Creation timestamp
     * @type {string}
     * @memberof SIPTrunkResponse
     */
    created_at: string;
    /**
     * Unique identifier for the SIP trunk
     * @type {string}
     * @memberof SIPTrunkResponse
     */
    id: string;
    /**
     * Name of the SIP trunk
     * @type {string}
     * @memberof SIPTrunkResponse
     */
    name: string;
    /**
     * Phone numbers associated with this SIP trunk
     * @type {Array<string>}
     * @memberof SIPTrunkResponse
     */
    numbers: Array<string>;
    /**
     * Password for SIP trunk authentication
     * @type {string}
     * @memberof SIPTrunkResponse
     */
    password: string;
    /**
     * Last update timestamp
     * @type {string}
     * @memberof SIPTrunkResponse
     */
    updated_at: string;
    /**
     * The URI for the SIP trunk
     * @type {string}
     * @memberof SIPTrunkResponse
     */
    uri: string;
    /**
     * Username for SIP trunk authentication
     * @type {string}
     * @memberof SIPTrunkResponse
     */
    username: string;
}
/**
 *
 * @export
 * @interface SRTIngress
 */
export interface SRTIngress {
    /**
     *
     * @type {string}
     * @memberof SRTIngress
     */
    address: string;
}
/**
 *
 * @export
 * @interface ScreensharingSettingsRequest
 */
export interface ScreensharingSettingsRequest {
    /**
     *
     * @type {boolean}
     * @memberof ScreensharingSettingsRequest
     */
    access_request_enabled?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof ScreensharingSettingsRequest
     */
    enabled?: boolean;
    /**
     *
     * @type {TargetResolution}
     * @memberof ScreensharingSettingsRequest
     */
    target_resolution?: TargetResolution;
}
/**
 *
 * @export
 * @interface ScreensharingSettingsResponse
 */
export interface ScreensharingSettingsResponse {
    /**
     *
     * @type {boolean}
     * @memberof ScreensharingSettingsResponse
     */
    access_request_enabled: boolean;
    /**
     *
     * @type {boolean}
     * @memberof ScreensharingSettingsResponse
     */
    enabled: boolean;
    /**
     *
     * @type {TargetResolution}
     * @memberof ScreensharingSettingsResponse
     */
    target_resolution?: TargetResolution;
}
/**
 * Send a call event to the other user
 * @export
 * @interface SendCallEventRequest
 */
export interface SendCallEventRequest {
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof SendCallEventRequest
     */
    custom?: {
        [key: string]: any;
    };
}
/**
 *
 * @export
 * @interface SendCallEventResponse
 */
export interface SendCallEventResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof SendCallEventResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface SendReactionRequest
 */
export interface SendReactionRequest {
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof SendReactionRequest
     */
    custom?: {
        [key: string]: any;
    };
    /**
     *
     * @type {string}
     * @memberof SendReactionRequest
     */
    emoji_code?: string;
    /**
     *
     * @type {string}
     * @memberof SendReactionRequest
     */
    type: string;
}
/**
 * Basic response information
 * @export
 * @interface SendReactionResponse
 */
export interface SendReactionResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof SendReactionResponse
     */
    duration: string;
    /**
     *
     * @type {ReactionResponse}
     * @memberof SendReactionResponse
     */
    reaction: ReactionResponse;
}
/**
 *
 * @export
 * @interface SessionSettingsRequest
 */
export interface SessionSettingsRequest {
    /**
     *
     * @type {number}
     * @memberof SessionSettingsRequest
     */
    inactivity_timeout_seconds: number;
}
/**
 *
 * @export
 * @interface SessionSettingsResponse
 */
export interface SessionSettingsResponse {
    /**
     *
     * @type {number}
     * @memberof SessionSettingsResponse
     */
    inactivity_timeout_seconds: number;
}
/**
 * Credentials for SIP inbound call authentication
 * @export
 * @interface SipInboundCredentials
 */
export interface SipInboundCredentials {
    /**
     * Custom data associated with the call
     * @type {{ [key: string]: any; }}
     * @memberof SipInboundCredentials
     */
    call_custom_data: {
        [key: string]: any;
    };
    /**
     * ID of the call
     * @type {string}
     * @memberof SipInboundCredentials
     */
    call_id: string;
    /**
     * Type of the call
     * @type {string}
     * @memberof SipInboundCredentials
     */
    call_type: string;
    /**
     * Authentication token for the call
     * @type {string}
     * @memberof SipInboundCredentials
     */
    token: string;
    /**
     * Custom data associated with the user
     * @type {{ [key: string]: any; }}
     * @memberof SipInboundCredentials
     */
    user_custom_data: {
        [key: string]: any;
    };
    /**
     * User ID for the call
     * @type {string}
     * @memberof SipInboundCredentials
     */
    user_id: string;
}
/**
 *
 * @export
 * @interface SortParamRequest
 */
export interface SortParamRequest {
    /**
     * Direction of sorting, 1 for Ascending, -1 for Descending, default is 1
     * @type {number}
     * @memberof SortParamRequest
     */
    direction?: number;
    /**
     * Name of field to sort by
     * @type {string}
     * @memberof SortParamRequest
     */
    field?: string;
}
/**
 *
 * @export
 * @interface SpeechSegmentConfig
 */
export interface SpeechSegmentConfig {
    /**
     *
     * @type {number}
     * @memberof SpeechSegmentConfig
     */
    max_speech_caption_ms?: number;
    /**
     *
     * @type {number}
     * @memberof SpeechSegmentConfig
     */
    silence_duration_ms?: number;
}
/**
 *
 * @export
 * @interface StartClosedCaptionsRequest
 */
export interface StartClosedCaptionsRequest {
    /**
     * Enable transcriptions along with closed captions
     * @type {boolean}
     * @memberof StartClosedCaptionsRequest
     */
    enable_transcription?: boolean;
    /**
     * Which external storage to use for transcriptions (only applicable if enable_transcription is true)
     * @type {string}
     * @memberof StartClosedCaptionsRequest
     */
    external_storage?: string;
    /**
     * The spoken language in the call, if not provided the language defined in the transcription settings will be used
     * @type {string}
     * @memberof StartClosedCaptionsRequest
     */
    language?: StartClosedCaptionsRequestLanguageEnum;
    /**
     *
     * @type {SpeechSegmentConfig}
     * @memberof StartClosedCaptionsRequest
     */
    speech_segment_config?: SpeechSegmentConfig;
}
/**
 * @export
 */
export declare const StartClosedCaptionsRequestLanguageEnum: {
    readonly AUTO: "auto";
    readonly EN: "en";
    readonly FR: "fr";
    readonly ES: "es";
    readonly DE: "de";
    readonly IT: "it";
    readonly NL: "nl";
    readonly PT: "pt";
    readonly PL: "pl";
    readonly CA: "ca";
    readonly CS: "cs";
    readonly DA: "da";
    readonly EL: "el";
    readonly FI: "fi";
    readonly ID: "id";
    readonly JA: "ja";
    readonly RU: "ru";
    readonly SV: "sv";
    readonly TA: "ta";
    readonly TH: "th";
    readonly TR: "tr";
    readonly HU: "hu";
    readonly RO: "ro";
    readonly ZH: "zh";
    readonly AR: "ar";
    readonly TL: "tl";
    readonly HE: "he";
    readonly HI: "hi";
    readonly HR: "hr";
    readonly KO: "ko";
    readonly MS: "ms";
    readonly NO: "no";
    readonly UK: "uk";
    readonly BG: "bg";
    readonly ET: "et";
    readonly SL: "sl";
    readonly SK: "sk";
};
export type StartClosedCaptionsRequestLanguageEnum = (typeof StartClosedCaptionsRequestLanguageEnum)[keyof typeof StartClosedCaptionsRequestLanguageEnum];
/**
 *
 * @export
 * @interface StartClosedCaptionsResponse
 */
export interface StartClosedCaptionsResponse {
    /**
     *
     * @type {string}
     * @memberof StartClosedCaptionsResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface StartFrameRecordingRequest
 */
export interface StartFrameRecordingRequest {
    /**
     *
     * @type {string}
     * @memberof StartFrameRecordingRequest
     */
    recording_external_storage?: string;
}
/**
 * StartFrameRecordingResponse is the response payload for the start frame recording endpoint.
 * @export
 * @interface StartFrameRecordingResponse
 */
export interface StartFrameRecordingResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof StartFrameRecordingResponse
     */
    duration: string;
}
/**
 * StartHLSBroadcastingResponse is the payload for starting an HLS broadcasting.
 * @export
 * @interface StartHLSBroadcastingResponse
 */
export interface StartHLSBroadcastingResponse {
    /**
     *
     * @type {string}
     * @memberof StartHLSBroadcastingResponse
     */
    duration: string;
    /**
     * the URL of the HLS playlist
     * @type {string}
     * @memberof StartHLSBroadcastingResponse
     */
    playlist_url: string;
}
/**
 * StartRTMPBroadcastsRequest is the payload for starting RTMP broadcasts.
 * @export
 * @interface StartRTMPBroadcastsRequest
 */
export interface StartRTMPBroadcastsRequest {
    /**
     * List of broadcasts to start
     * @type {Array<RTMPBroadcastRequest>}
     * @memberof StartRTMPBroadcastsRequest
     */
    broadcasts: Array<RTMPBroadcastRequest>;
}
/**
 * StartRTMPBroadcastsResponse is the payload for starting an RTMP broadcast.
 * @export
 * @interface StartRTMPBroadcastsResponse
 */
export interface StartRTMPBroadcastsResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof StartRTMPBroadcastsResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface StartRecordingRequest
 */
export interface StartRecordingRequest {
    /**
     *
     * @type {string}
     * @memberof StartRecordingRequest
     */
    recording_external_storage?: string;
}
/**
 * StartRecordingResponse is the response payload for the start recording endpoint.
 * @export
 * @interface StartRecordingResponse
 */
export interface StartRecordingResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof StartRecordingResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface StartTranscriptionRequest
 */
export interface StartTranscriptionRequest {
    /**
     * Enable closed captions along with transcriptions
     * @type {boolean}
     * @memberof StartTranscriptionRequest
     */
    enable_closed_captions?: boolean;
    /**
     * The spoken language in the call, if not provided the language defined in the transcription settings will be used
     * @type {string}
     * @memberof StartTranscriptionRequest
     */
    language?: StartTranscriptionRequestLanguageEnum;
    /**
     * Store transcriptions in this external storage
     * @type {string}
     * @memberof StartTranscriptionRequest
     */
    transcription_external_storage?: string;
}
/**
 * @export
 */
export declare const StartTranscriptionRequestLanguageEnum: {
    readonly AUTO: "auto";
    readonly EN: "en";
    readonly FR: "fr";
    readonly ES: "es";
    readonly DE: "de";
    readonly IT: "it";
    readonly NL: "nl";
    readonly PT: "pt";
    readonly PL: "pl";
    readonly CA: "ca";
    readonly CS: "cs";
    readonly DA: "da";
    readonly EL: "el";
    readonly FI: "fi";
    readonly ID: "id";
    readonly JA: "ja";
    readonly RU: "ru";
    readonly SV: "sv";
    readonly TA: "ta";
    readonly TH: "th";
    readonly TR: "tr";
    readonly HU: "hu";
    readonly RO: "ro";
    readonly ZH: "zh";
    readonly AR: "ar";
    readonly TL: "tl";
    readonly HE: "he";
    readonly HI: "hi";
    readonly HR: "hr";
    readonly KO: "ko";
    readonly MS: "ms";
    readonly NO: "no";
    readonly UK: "uk";
    readonly BG: "bg";
    readonly ET: "et";
    readonly SL: "sl";
    readonly SK: "sk";
};
export type StartTranscriptionRequestLanguageEnum = (typeof StartTranscriptionRequestLanguageEnum)[keyof typeof StartTranscriptionRequestLanguageEnum];
/**
 *
 * @export
 * @interface StartTranscriptionResponse
 */
export interface StartTranscriptionResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof StartTranscriptionResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface StatsOptions
 */
export interface StatsOptions {
    /**
     *
     * @type {boolean}
     * @memberof StatsOptions
     */
    enable_rtc_stats: boolean;
    /**
     *
     * @type {number}
     * @memberof StatsOptions
     */
    reporting_interval_ms: number;
}
/**
 *
 * @export
 * @interface StopAllRTMPBroadcastsResponse
 */
export interface StopAllRTMPBroadcastsResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof StopAllRTMPBroadcastsResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface StopClosedCaptionsRequest
 */
export interface StopClosedCaptionsRequest {
    /**
     *
     * @type {boolean}
     * @memberof StopClosedCaptionsRequest
     */
    stop_transcription?: boolean;
}
/**
 * Basic response information
 * @export
 * @interface StopClosedCaptionsResponse
 */
export interface StopClosedCaptionsResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof StopClosedCaptionsResponse
     */
    duration: string;
}
/**
 * Basic response information
 * @export
 * @interface StopFrameRecordingResponse
 */
export interface StopFrameRecordingResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof StopFrameRecordingResponse
     */
    duration: string;
}
/**
 * Basic response information
 * @export
 * @interface StopHLSBroadcastingResponse
 */
export interface StopHLSBroadcastingResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof StopHLSBroadcastingResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface StopLiveRequest
 */
export interface StopLiveRequest {
    /**
     *
     * @type {boolean}
     * @memberof StopLiveRequest
     */
    continue_closed_caption?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof StopLiveRequest
     */
    continue_composite_recording?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof StopLiveRequest
     */
    continue_hls?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof StopLiveRequest
     */
    continue_individual_recording?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof StopLiveRequest
     */
    continue_raw_recording?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof StopLiveRequest
     */
    continue_recording?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof StopLiveRequest
     */
    continue_rtmp_broadcasts?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof StopLiveRequest
     */
    continue_transcription?: boolean;
}
/**
 *
 * @export
 * @interface StopLiveResponse
 */
export interface StopLiveResponse {
    /**
     *
     * @type {CallResponse}
     * @memberof StopLiveResponse
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof StopLiveResponse
     */
    duration: string;
}
/**
 * Basic response information
 * @export
 * @interface StopRTMPBroadcastsResponse
 */
export interface StopRTMPBroadcastsResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof StopRTMPBroadcastsResponse
     */
    duration: string;
}
/**
 * Basic response information
 * @export
 * @interface StopRecordingResponse
 */
export interface StopRecordingResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof StopRecordingResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface StopTranscriptionRequest
 */
export interface StopTranscriptionRequest {
    /**
     *
     * @type {boolean}
     * @memberof StopTranscriptionRequest
     */
    stop_closed_captions?: boolean;
}
/**
 * Basic response information
 * @export
 * @interface StopTranscriptionResponse
 */
export interface StopTranscriptionResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof StopTranscriptionResponse
     */
    duration: string;
}
/**
 *
 * @export
 * @interface SubscriberStatsResponse
 */
export interface SubscriberStatsResponse {
    /**
     *
     * @type {number}
     * @memberof SubscriberStatsResponse
     */
    total: number;
    /**
     *
     * @type {number}
     * @memberof SubscriberStatsResponse
     */
    total_subscribed_duration_seconds: number;
    /**
     *
     * @type {number}
     * @memberof SubscriberStatsResponse
     */
    unique: number;
}
/**
 *
 * @export
 * @interface TargetResolution
 */
export interface TargetResolution {
    /**
     *
     * @type {number}
     * @memberof TargetResolution
     */
    bitrate?: number;
    /**
     *
     * @type {number}
     * @memberof TargetResolution
     */
    height: number;
    /**
     *
     * @type {number}
     * @memberof TargetResolution
     */
    width: number;
}
/**
 *
 * @export
 * @interface ThumbnailResponse
 */
export interface ThumbnailResponse {
    /**
     *
     * @type {string}
     * @memberof ThumbnailResponse
     */
    image_url: string;
}
/**
 *
 * @export
 * @interface ThumbnailsSettingsRequest
 */
export interface ThumbnailsSettingsRequest {
    /**
     *
     * @type {boolean}
     * @memberof ThumbnailsSettingsRequest
     */
    enabled?: boolean;
}
/**
 *
 * @export
 * @interface ThumbnailsSettingsResponse
 */
export interface ThumbnailsSettingsResponse {
    /**
     *
     * @type {boolean}
     * @memberof ThumbnailsSettingsResponse
     */
    enabled: boolean;
}
/**
 *
 * @export
 * @interface TrackStatsResponse
 */
export interface TrackStatsResponse {
    /**
     *
     * @type {number}
     * @memberof TrackStatsResponse
     */
    duration_seconds: number;
    /**
     *
     * @type {string}
     * @memberof TrackStatsResponse
     */
    track_type: string;
}
/**
 *
 * @export
 * @interface TranscriptionSettingsRequest
 */
export interface TranscriptionSettingsRequest {
    /**
     *
     * @type {string}
     * @memberof TranscriptionSettingsRequest
     */
    closed_caption_mode?: TranscriptionSettingsRequestClosedCaptionModeEnum;
    /**
     *
     * @type {string}
     * @memberof TranscriptionSettingsRequest
     */
    language?: TranscriptionSettingsRequestLanguageEnum;
    /**
     *
     * @type {string}
     * @memberof TranscriptionSettingsRequest
     */
    mode?: TranscriptionSettingsRequestModeEnum;
    /**
     *
     * @type {SpeechSegmentConfig}
     * @memberof TranscriptionSettingsRequest
     */
    speech_segment_config?: SpeechSegmentConfig;
    /**
     *
     * @type {TranslationSettings}
     * @memberof TranscriptionSettingsRequest
     */
    translation?: TranslationSettings;
}
/**
 * @export
 */
export declare const TranscriptionSettingsRequestClosedCaptionModeEnum: {
    readonly AVAILABLE: "available";
    readonly DISABLED: "disabled";
    readonly AUTO_ON: "auto-on";
};
export type TranscriptionSettingsRequestClosedCaptionModeEnum = (typeof TranscriptionSettingsRequestClosedCaptionModeEnum)[keyof typeof TranscriptionSettingsRequestClosedCaptionModeEnum];
/**
 * @export
 */
export declare const TranscriptionSettingsRequestLanguageEnum: {
    readonly AUTO: "auto";
    readonly EN: "en";
    readonly FR: "fr";
    readonly ES: "es";
    readonly DE: "de";
    readonly IT: "it";
    readonly NL: "nl";
    readonly PT: "pt";
    readonly PL: "pl";
    readonly CA: "ca";
    readonly CS: "cs";
    readonly DA: "da";
    readonly EL: "el";
    readonly FI: "fi";
    readonly ID: "id";
    readonly JA: "ja";
    readonly RU: "ru";
    readonly SV: "sv";
    readonly TA: "ta";
    readonly TH: "th";
    readonly TR: "tr";
    readonly HU: "hu";
    readonly RO: "ro";
    readonly ZH: "zh";
    readonly AR: "ar";
    readonly TL: "tl";
    readonly HE: "he";
    readonly HI: "hi";
    readonly HR: "hr";
    readonly KO: "ko";
    readonly MS: "ms";
    readonly NO: "no";
    readonly UK: "uk";
    readonly BG: "bg";
    readonly ET: "et";
    readonly SL: "sl";
    readonly SK: "sk";
};
export type TranscriptionSettingsRequestLanguageEnum = (typeof TranscriptionSettingsRequestLanguageEnum)[keyof typeof TranscriptionSettingsRequestLanguageEnum];
/**
 * @export
 */
export declare const TranscriptionSettingsRequestModeEnum: {
    readonly AVAILABLE: "available";
    readonly DISABLED: "disabled";
    readonly AUTO_ON: "auto-on";
};
export type TranscriptionSettingsRequestModeEnum = (typeof TranscriptionSettingsRequestModeEnum)[keyof typeof TranscriptionSettingsRequestModeEnum];
/**
 *
 * @export
 * @interface TranscriptionSettingsResponse
 */
export interface TranscriptionSettingsResponse {
    /**
     *
     * @type {string}
     * @memberof TranscriptionSettingsResponse
     */
    closed_caption_mode: TranscriptionSettingsResponseClosedCaptionModeEnum;
    /**
     *
     * @type {string}
     * @memberof TranscriptionSettingsResponse
     */
    language: TranscriptionSettingsResponseLanguageEnum;
    /**
     *
     * @type {string}
     * @memberof TranscriptionSettingsResponse
     */
    mode: TranscriptionSettingsResponseModeEnum;
    /**
     *
     * @type {SpeechSegmentConfig}
     * @memberof TranscriptionSettingsResponse
     */
    speech_segment_config?: SpeechSegmentConfig;
    /**
     *
     * @type {TranslationSettings}
     * @memberof TranscriptionSettingsResponse
     */
    translation?: TranslationSettings;
}
/**
 * @export
 */
export declare const TranscriptionSettingsResponseClosedCaptionModeEnum: {
    readonly AVAILABLE: "available";
    readonly DISABLED: "disabled";
    readonly AUTO_ON: "auto-on";
};
export type TranscriptionSettingsResponseClosedCaptionModeEnum = (typeof TranscriptionSettingsResponseClosedCaptionModeEnum)[keyof typeof TranscriptionSettingsResponseClosedCaptionModeEnum];
/**
 * @export
 */
export declare const TranscriptionSettingsResponseLanguageEnum: {
    readonly AUTO: "auto";
    readonly EN: "en";
    readonly FR: "fr";
    readonly ES: "es";
    readonly DE: "de";
    readonly IT: "it";
    readonly NL: "nl";
    readonly PT: "pt";
    readonly PL: "pl";
    readonly CA: "ca";
    readonly CS: "cs";
    readonly DA: "da";
    readonly EL: "el";
    readonly FI: "fi";
    readonly ID: "id";
    readonly JA: "ja";
    readonly RU: "ru";
    readonly SV: "sv";
    readonly TA: "ta";
    readonly TH: "th";
    readonly TR: "tr";
    readonly HU: "hu";
    readonly RO: "ro";
    readonly ZH: "zh";
    readonly AR: "ar";
    readonly TL: "tl";
    readonly HE: "he";
    readonly HI: "hi";
    readonly HR: "hr";
    readonly KO: "ko";
    readonly MS: "ms";
    readonly NO: "no";
    readonly UK: "uk";
    readonly BG: "bg";
    readonly ET: "et";
    readonly SL: "sl";
    readonly SK: "sk";
};
export type TranscriptionSettingsResponseLanguageEnum = (typeof TranscriptionSettingsResponseLanguageEnum)[keyof typeof TranscriptionSettingsResponseLanguageEnum];
/**
 * @export
 */
export declare const TranscriptionSettingsResponseModeEnum: {
    readonly AVAILABLE: "available";
    readonly DISABLED: "disabled";
    readonly AUTO_ON: "auto-on";
};
export type TranscriptionSettingsResponseModeEnum = (typeof TranscriptionSettingsResponseModeEnum)[keyof typeof TranscriptionSettingsResponseModeEnum];
/**
 *
 * @export
 * @interface TranslationSettings
 */
export interface TranslationSettings {
    /**
     *
     * @type {boolean}
     * @memberof TranslationSettings
     */
    enabled?: boolean;
    /**
     *
     * @type {Array<string>}
     * @memberof TranslationSettings
     */
    languages?: Array<string>;
}
/**
 * UnblockUserRequest is the payload for unblocking a user.
 * @export
 * @interface UnblockUserRequest
 */
export interface UnblockUserRequest {
    /**
     * the user to unblock
     * @type {string}
     * @memberof UnblockUserRequest
     */
    user_id: string;
}
/**
 * UnblockUserResponse is the payload for unblocking a user.
 * @export
 * @interface UnblockUserResponse
 */
export interface UnblockUserResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof UnblockUserResponse
     */
    duration: string;
}
/**
 * This event is sent when a user is unblocked on a call,
 * this can be useful to notify the user that they can now join the call again
 * @export
 * @interface UnblockedUserEvent
 */
export interface UnblockedUserEvent {
    /**
     *
     * @type {string}
     * @memberof UnblockedUserEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof UnblockedUserEvent
     */
    created_at: string;
    /**
     * The type of event: "call.unblocked_user" in this case
     * @type {string}
     * @memberof UnblockedUserEvent
     */
    type: string;
    /**
     *
     * @type {UserResponse}
     * @memberof UnblockedUserEvent
     */
    user: UserResponse;
}
/**
 * UnpinRequest is the payload for unpinning a message.
 * @export
 * @interface UnpinRequest
 */
export interface UnpinRequest {
    /**
     * the session ID of the user who pinned the message
     * @type {string}
     * @memberof UnpinRequest
     */
    session_id: string;
    /**
     * the user ID of the user who pinned the message
     * @type {string}
     * @memberof UnpinRequest
     */
    user_id: string;
}
/**
 * UnpinResponse is the payload for unpinning a message.
 * @export
 * @interface UnpinResponse
 */
export interface UnpinResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof UnpinResponse
     */
    duration: string;
}
/**
 * Update call members
 * @export
 * @interface UpdateCallMembersRequest
 */
export interface UpdateCallMembersRequest {
    /**
     * List of userID to remove
     * @type {Array<string>}
     * @memberof UpdateCallMembersRequest
     */
    remove_members?: Array<string>;
    /**
     * List of members to update or insert
     * @type {Array<MemberRequest>}
     * @memberof UpdateCallMembersRequest
     */
    update_members?: Array<MemberRequest>;
}
/**
 * Basic response information
 * @export
 * @interface UpdateCallMembersResponse
 */
export interface UpdateCallMembersResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof UpdateCallMembersResponse
     */
    duration: string;
    /**
     *
     * @type {Array<MemberResponse>}
     * @memberof UpdateCallMembersResponse
     */
    members: Array<MemberResponse>;
}
/**
 * Request for updating a call
 * @export
 * @interface UpdateCallRequest
 */
export interface UpdateCallRequest {
    /**
     * Custom data for this object
     * @type {{ [key: string]: any; }}
     * @memberof UpdateCallRequest
     */
    custom?: {
        [key: string]: any;
    };
    /**
     *
     * @type {CallSettingsRequest}
     * @memberof UpdateCallRequest
     */
    settings_override?: CallSettingsRequest;
    /**
     * the time the call is scheduled to start
     * @type {string}
     * @memberof UpdateCallRequest
     */
    starts_at?: string;
}
/**
 * Response for updating a call
 * @export
 * @interface UpdateCallResponse
 */
export interface UpdateCallResponse {
    /**
     *
     * @type {CallResponse}
     * @memberof UpdateCallResponse
     */
    call: CallResponse;
    /**
     *
     * @type {string}
     * @memberof UpdateCallResponse
     */
    duration: string;
    /**
     *
     * @type {Array<MemberResponse>}
     * @memberof UpdateCallResponse
     */
    members: Array<MemberResponse>;
    /**
     *
     * @type {MemberResponse}
     * @memberof UpdateCallResponse
     */
    membership?: MemberResponse;
    /**
     *
     * @type {Array<OwnCapability>}
     * @memberof UpdateCallResponse
     */
    own_capabilities: Array<OwnCapability>;
}
/**
 *
 * @export
 * @interface UpdateUserPermissionsRequest
 */
export interface UpdateUserPermissionsRequest {
    /**
     *
     * @type {Array<string>}
     * @memberof UpdateUserPermissionsRequest
     */
    grant_permissions?: Array<string>;
    /**
     *
     * @type {Array<string>}
     * @memberof UpdateUserPermissionsRequest
     */
    revoke_permissions?: Array<string>;
    /**
     *
     * @type {string}
     * @memberof UpdateUserPermissionsRequest
     */
    user_id: string;
}
/**
 * Basic response information
 * @export
 * @interface UpdateUserPermissionsResponse
 */
export interface UpdateUserPermissionsResponse {
    /**
     * Duration of the request in milliseconds
     * @type {string}
     * @memberof UpdateUserPermissionsResponse
     */
    duration: string;
}
/**
 * This event is sent to notify about permission changes for a user, clients receiving this event should update their UI accordingly
 * @export
 * @interface UpdatedCallPermissionsEvent
 */
export interface UpdatedCallPermissionsEvent {
    /**
     *
     * @type {string}
     * @memberof UpdatedCallPermissionsEvent
     */
    call_cid: string;
    /**
     *
     * @type {string}
     * @memberof UpdatedCallPermissionsEvent
     */
    created_at: string;
    /**
     * The capabilities of the current user
     * @type {Array<OwnCapability>}
     * @memberof UpdatedCallPermissionsEvent
     */
    own_capabilities: Array<OwnCapability>;
    /**
     * The type of event: "call.permissions_updated" in this case
     * @type {string}
     * @memberof UpdatedCallPermissionsEvent
     */
    type: string;
    /**
     *
     * @type {UserResponse}
     * @memberof UpdatedCallPermissionsEvent
     */
    user: UserResponse;
}
/**
 *
 * @export
 * @interface UserFeedbackReport
 */
export interface UserFeedbackReport {
    /**
     *
     * @type {{ [key: string]: number; }}
     * @memberof UserFeedbackReport
     */
    count_by_rating: {
        [key: string]: number;
    };
    /**
     *
     * @type {number}
     * @memberof UserFeedbackReport
     */
    unreported_count: number;
}
/**
 *
 * @export
 * @interface UserFeedbackReportResponse
 */
export interface UserFeedbackReportResponse {
    /**
     *
     * @type {Array<DailyAggregateUserFeedbackReportResponse>}
     * @memberof UserFeedbackReportResponse
     */
    daily: Array<DailyAggregateUserFeedbackReportResponse>;
}
/**
 *
 * @export
 * @interface UserRatingReportResponse
 */
export interface UserRatingReportResponse {
    /**
     *
     * @type {number}
     * @memberof UserRatingReportResponse
     */
    average: number;
    /**
     *
     * @type {number}
     * @memberof UserRatingReportResponse
     */
    count: number;
}
/**
 * User request object
 * @export
 * @interface UserRequest
 */
export interface UserRequest {
    /**
     * Custom user data
     * @type {{ [key: string]: any; }}
     * @memberof UserRequest
     */
    custom?: {
        [key: string]: any;
    };
    /**
     * User ID
     * @type {string}
     * @memberof UserRequest
     */
    id: string;
    /**
     * User's profile image URL
     * @type {string}
     * @memberof UserRequest
     */
    image?: string;
    /**
     *
     * @type {boolean}
     * @memberof UserRequest
     */
    invisible?: boolean;
    /**
     *
     * @type {string}
     * @memberof UserRequest
     */
    language?: string;
    /**
     * Optional name of user
     * @type {string}
     * @memberof UserRequest
     */
    name?: string;
    /**
     *
     * @type {object}
     * @memberof UserRequest
     */
    privacy_settings?: object;
}
/**
 * User response object
 * @export
 * @interface UserResponse
 */
export interface UserResponse {
    /**
     *
     * @type {number}
     * @memberof UserResponse
     */
    avg_response_time?: number;
    /**
     *
     * @type {Array<string>}
     * @memberof UserResponse
     */
    blocked_user_ids: Array<string>;
    /**
     * Date/time of creation
     * @type {string}
     * @memberof UserResponse
     */
    created_at: string;
    /**
     * Custom data for this object
     * @type {{ [key: string]: any; }}
     * @memberof UserResponse
     */
    custom: {
        [key: string]: any;
    };
    /**
     * Date of deactivation
     * @type {string}
     * @memberof UserResponse
     */
    deactivated_at?: string;
    /**
     * Date/time of deletion
     * @type {string}
     * @memberof UserResponse
     */
    deleted_at?: string;
    /**
     * Unique user identifier
     * @type {string}
     * @memberof UserResponse
     */
    id: string;
    /**
     *
     * @type {string}
     * @memberof UserResponse
     */
    image?: string;
    /**
     * Preferred language of a user
     * @type {string}
     * @memberof UserResponse
     */
    language: string;
    /**
     * Date of last activity
     * @type {string}
     * @memberof UserResponse
     */
    last_active?: string;
    /**
     * Optional name of user
     * @type {string}
     * @memberof UserResponse
     */
    name?: string;
    /**
     * Revocation date for tokens
     * @type {string}
     * @memberof UserResponse
     */
    revoke_tokens_issued_before?: string;
    /**
     * Determines the set of user permissions
     * @type {string}
     * @memberof UserResponse
     */
    role: string;
    /**
     * List of teams user is a part of
     * @type {Array<string>}
     * @memberof UserResponse
     */
    teams: Array<string>;
    /**
     *
     * @type {{ [key: string]: string; }}
     * @memberof UserResponse
     */
    teams_role?: {
        [key: string]: string;
    };
    /**
     * Date/time of the last update
     * @type {string}
     * @memberof UserResponse
     */
    updated_at: string;
}
/**
 *
 * @export
 * @interface UserResponsePrivacyFields
 */
export interface UserResponsePrivacyFields {
    /**
     *
     * @type {number}
     * @memberof UserResponsePrivacyFields
     */
    avg_response_time?: number;
    /**
     *
     * @type {Array<string>}
     * @memberof UserResponsePrivacyFields
     */
    blocked_user_ids: Array<string>;
    /**
     *
     * @type {string}
     * @memberof UserResponsePrivacyFields
     */
    created_at: string;
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof UserResponsePrivacyFields
     */
    custom: {
        [key: string]: any;
    };
    /**
     *
     * @type {string}
     * @memberof UserResponsePrivacyFields
     */
    deactivated_at?: string;
    /**
     *
     * @type {string}
     * @memberof UserResponsePrivacyFields
     */
    deleted_at?: string;
    /**
     *
     * @type {string}
     * @memberof UserResponsePrivacyFields
     */
    id: string;
    /**
     *
     * @type {string}
     * @memberof UserResponsePrivacyFields
     */
    image?: string;
    /**
     *
     * @type {boolean}
     * @memberof UserResponsePrivacyFields
     */
    invisible?: boolean;
    /**
     *
     * @type {string}
     * @memberof UserResponsePrivacyFields
     */
    language: string;
    /**
     *
     * @type {string}
     * @memberof UserResponsePrivacyFields
     */
    last_active?: string;
    /**
     *
     * @type {string}
     * @memberof UserResponsePrivacyFields
     */
    name?: string;
    /**
     *
     * @type {object}
     * @memberof UserResponsePrivacyFields
     */
    privacy_settings?: object;
    /**
     *
     * @type {string}
     * @memberof UserResponsePrivacyFields
     */
    revoke_tokens_issued_before?: string;
    /**
     *
     * @type {string}
     * @memberof UserResponsePrivacyFields
     */
    role: string;
    /**
     *
     * @type {Array<string>}
     * @memberof UserResponsePrivacyFields
     */
    teams: Array<string>;
    /**
     *
     * @type {{ [key: string]: string; }}
     * @memberof UserResponsePrivacyFields
     */
    teams_role?: {
        [key: string]: string;
    };
    /**
     *
     * @type {string}
     * @memberof UserResponsePrivacyFields
     */
    updated_at: string;
}
/**
 * This event is sent when a user gets updated. The event contains information about the updated user.
 * @export
 * @interface UserUpdatedEvent
 */
export interface UserUpdatedEvent {
    /**
     * Date/time of creation
     * @type {string}
     * @memberof UserUpdatedEvent
     */
    created_at: string;
    /**
     *
     * @type {{ [key: string]: any; }}
     * @memberof UserUpdatedEvent
     */
    custom: {
        [key: string]: any;
    };
    /**
     *
     * @type {string}
     * @memberof UserUpdatedEvent
     */
    received_at?: string;
    /**
     * The type of event: "user.updated" in this case
     * @type {string}
     * @memberof UserUpdatedEvent
     */
    type: string;
    /**
     *
     * @type {UserResponsePrivacyFields}
     * @memberof UserUpdatedEvent
     */
    user: UserResponsePrivacyFields;
}
/**
 * @type VideoEvent
 * The discriminator object for all websocket events, it maps events' payload to the final type
 * @export
 */
export type VideoEvent = ({
    type: 'call.accepted';
} & CallAcceptedEvent) | ({
    type: 'call.blocked_user';
} & BlockedUserEvent) | ({
    type: 'call.closed_caption';
} & ClosedCaptionEvent) | ({
    type: 'call.closed_captions_failed';
} & CallClosedCaptionsFailedEvent) | ({
    type: 'call.closed_captions_started';
} & CallClosedCaptionsStartedEvent) | ({
    type: 'call.closed_captions_stopped';
} & CallClosedCaptionsStoppedEvent) | ({
    type: 'call.created';
} & CallCreatedEvent) | ({
    type: 'call.deleted';
} & CallDeletedEvent) | ({
    type: 'call.ended';
} & CallEndedEvent) | ({
    type: 'call.frame_recording_failed';
} & CallFrameRecordingFailedEvent) | ({
    type: 'call.frame_recording_ready';
} & CallFrameRecordingFrameReadyEvent) | ({
    type: 'call.frame_recording_started';
} & CallFrameRecordingStartedEvent) | ({
    type: 'call.frame_recording_stopped';
} & CallFrameRecordingStoppedEvent) | ({
    type: 'call.hls_broadcasting_failed';
} & CallHLSBroadcastingFailedEvent) | ({
    type: 'call.hls_broadcasting_started';
} & CallHLSBroadcastingStartedEvent) | ({
    type: 'call.hls_broadcasting_stopped';
} & CallHLSBroadcastingStoppedEvent) | ({
    type: 'call.kicked_user';
} & KickedUserEvent) | ({
    type: 'call.live_started';
} & CallLiveStartedEvent) | ({
    type: 'call.member_added';
} & CallMemberAddedEvent) | ({
    type: 'call.member_removed';
} & CallMemberRemovedEvent) | ({
    type: 'call.member_updated';
} & CallMemberUpdatedEvent) | ({
    type: 'call.member_updated_permission';
} & CallMemberUpdatedPermissionEvent) | ({
    type: 'call.missed';
} & CallMissedEvent) | ({
    type: 'call.moderation_blur';
} & CallModerationBlurEvent) | ({
    type: 'call.moderation_warning';
} & CallModerationWarningEvent) | ({
    type: 'call.notification';
} & CallNotificationEvent) | ({
    type: 'call.permission_request';
} & PermissionRequestEvent) | ({
    type: 'call.permissions_updated';
} & UpdatedCallPermissionsEvent) | ({
    type: 'call.reaction_new';
} & CallReactionEvent) | ({
    type: 'call.recording_failed';
} & CallRecordingFailedEvent) | ({
    type: 'call.recording_ready';
} & CallRecordingReadyEvent) | ({
    type: 'call.recording_started';
} & CallRecordingStartedEvent) | ({
    type: 'call.recording_stopped';
} & CallRecordingStoppedEvent) | ({
    type: 'call.rejected';
} & CallRejectedEvent) | ({
    type: 'call.ring';
} & CallRingEvent) | ({
    type: 'call.rtmp_broadcast_failed';
} & CallRtmpBroadcastFailedEvent) | ({
    type: 'call.rtmp_broadcast_started';
} & CallRtmpBroadcastStartedEvent) | ({
    type: 'call.rtmp_broadcast_stopped';
} & CallRtmpBroadcastStoppedEvent) | ({
    type: 'call.session_ended';
} & CallSessionEndedEvent) | ({
    type: 'call.session_participant_count_updated';
} & CallSessionParticipantCountsUpdatedEvent) | ({
    type: 'call.session_participant_joined';
} & CallSessionParticipantJoinedEvent) | ({
    type: 'call.session_participant_left';
} & CallSessionParticipantLeftEvent) | ({
    type: 'call.session_started';
} & CallSessionStartedEvent) | ({
    type: 'call.stats_report_ready';
} & CallStatsReportReadyEvent) | ({
    type: 'call.transcription_failed';
} & CallTranscriptionFailedEvent) | ({
    type: 'call.transcription_ready';
} & CallTranscriptionReadyEvent) | ({
    type: 'call.transcription_started';
} & CallTranscriptionStartedEvent) | ({
    type: 'call.transcription_stopped';
} & CallTranscriptionStoppedEvent) | ({
    type: 'call.unblocked_user';
} & UnblockedUserEvent) | ({
    type: 'call.updated';
} & CallUpdatedEvent) | ({
    type: 'call.user_feedback_submitted';
} & CallUserFeedbackSubmittedEvent) | ({
    type: 'call.user_muted';
} & CallUserMutedEvent) | ({
    type: 'connection.error';
} & ConnectionErrorEvent) | ({
    type: 'connection.ok';
} & ConnectedEvent) | ({
    type: 'custom';
} & CustomVideoEvent) | ({
    type: 'health.check';
} & HealthCheckEvent) | ({
    type: 'user.updated';
} & UserUpdatedEvent);
/**
 *
 * @export
 * @interface VideoReactionOverTimeResponse
 */
export interface VideoReactionOverTimeResponse {
    /**
     *
     * @type {Array<CountByMinuteResponse>}
     * @memberof VideoReactionOverTimeResponse
     */
    by_minute?: Array<CountByMinuteResponse>;
}
/**
 *
 * @export
 * @interface VideoReactionsResponse
 */
export interface VideoReactionsResponse {
    /**
     *
     * @type {VideoReactionOverTimeResponse}
     * @memberof VideoReactionsResponse
     */
    count_over_time?: VideoReactionOverTimeResponse;
    /**
     *
     * @type {string}
     * @memberof VideoReactionsResponse
     */
    reaction: string;
}
/**
 *
 * @export
 * @interface VideoSettingsRequest
 */
export interface VideoSettingsRequest {
    /**
     *
     * @type {boolean}
     * @memberof VideoSettingsRequest
     */
    access_request_enabled?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof VideoSettingsRequest
     */
    camera_default_on?: boolean;
    /**
     *
     * @type {string}
     * @memberof VideoSettingsRequest
     */
    camera_facing?: VideoSettingsRequestCameraFacingEnum;
    /**
     *
     * @type {boolean}
     * @memberof VideoSettingsRequest
     */
    enabled?: boolean;
    /**
     *
     * @type {TargetResolution}
     * @memberof VideoSettingsRequest
     */
    target_resolution?: TargetResolution;
}
/**
 * @export
 */
export declare const VideoSettingsRequestCameraFacingEnum: {
    readonly FRONT: "front";
    readonly BACK: "back";
    readonly EXTERNAL: "external";
};
export type VideoSettingsRequestCameraFacingEnum = (typeof VideoSettingsRequestCameraFacingEnum)[keyof typeof VideoSettingsRequestCameraFacingEnum];
/**
 *
 * @export
 * @interface VideoSettingsResponse
 */
export interface VideoSettingsResponse {
    /**
     *
     * @type {boolean}
     * @memberof VideoSettingsResponse
     */
    access_request_enabled: boolean;
    /**
     *
     * @type {boolean}
     * @memberof VideoSettingsResponse
     */
    camera_default_on: boolean;
    /**
     *
     * @type {string}
     * @memberof VideoSettingsResponse
     */
    camera_facing: VideoSettingsResponseCameraFacingEnum;
    /**
     *
     * @type {boolean}
     * @memberof VideoSettingsResponse
     */
    enabled: boolean;
    /**
     *
     * @type {TargetResolution}
     * @memberof VideoSettingsResponse
     */
    target_resolution: TargetResolution;
}
/**
 * @export
 */
export declare const VideoSettingsResponseCameraFacingEnum: {
    readonly FRONT: "front";
    readonly BACK: "back";
    readonly EXTERNAL: "external";
};
export type VideoSettingsResponseCameraFacingEnum = (typeof VideoSettingsResponseCameraFacingEnum)[keyof typeof VideoSettingsResponseCameraFacingEnum];
/**
 *
 * @export
 * @interface WHIPIngress
 */
export interface WHIPIngress {
    /**
     * URL for a new whip input, every time a new link is created
     * @type {string}
     * @memberof WHIPIngress
     */
    address: string;
}
/**
 * Websocket auth message
 * @export
 * @interface WSAuthMessage
 */
export interface WSAuthMessage {
    /**
     *
     * @type {Array<string>}
     * @memberof WSAuthMessage
     */
    products?: Array<string>;
    /**
     *
     * @type {string}
     * @memberof WSAuthMessage
     */
    token: string;
    /**
     *
     * @type {ConnectUserDetailsRequest}
     * @memberof WSAuthMessage
     */
    user_details: ConnectUserDetailsRequest;
}
