"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MediaHandling = exports.JingleReasons = exports.CommunicationStates = exports.SdkErrorTypes = exports.SessionTypes = void 0;
var genesys_cloud_streaming_client_1 = require("genesys-cloud-streaming-client");
Object.defineProperty(exports, "SessionTypes", { enumerable: true, get: function () { return genesys_cloud_streaming_client_1.SessionTypes; } });
var SdkErrorTypes;
(function (SdkErrorTypes) {
    SdkErrorTypes["generic"] = "generic";
    SdkErrorTypes["initialization"] = "initialization";
    SdkErrorTypes["invalid_token"] = "invalid_token";
    SdkErrorTypes["http"] = "http";
    SdkErrorTypes["invalid_options"] = "invalid_options";
    SdkErrorTypes["not_supported"] = "not_supported";
    SdkErrorTypes["session"] = "session";
    SdkErrorTypes["call"] = "call";
    SdkErrorTypes["media"] = "media";
})(SdkErrorTypes || (exports.SdkErrorTypes = SdkErrorTypes = {}));
/**
 * https://developer.genesys.cloud/api/rest/v2/analytics/conversation_detail_model#overview
 */
var CommunicationStates;
(function (CommunicationStates) {
    /** An agent is being alerted about an incoming call */
    CommunicationStates["alerting"] = "alerting";
    /** An agent is performing an outbound call and is currently trying to establish a connection with the agent's station. */
    CommunicationStates["contacting"] = "contacting";
    /** The participant is performing an outbound call and is currently dialing and waiting for the other party to pick up. */
    CommunicationStates["dialing"] = "dialing";
    /** The agent has put the customer on hold. */
    CommunicationStates["hold"] = "hold";
    /** call has connected */
    CommunicationStates["connected"] = "connected";
    /** call has ended */
    CommunicationStates["disconnected"] = "disconnected";
    /** not really sure, but it means it is done-done */
    CommunicationStates["terminated"] = "terminated";
})(CommunicationStates || (exports.CommunicationStates = CommunicationStates = {}));
var JingleReasons;
(function (JingleReasons) {
    JingleReasons["success"] = "success";
    JingleReasons["failedTransport"] = "failed-transport";
    JingleReasons["generalError"] = "general-error";
    JingleReasons["decline"] = "decline";
    JingleReasons["gone"] = "gone";
    JingleReasons["timeout"] = "timeout";
    JingleReasons["connectivityError"] = "connectivity-error";
    JingleReasons["alternativeSession"] = "alternative-session";
})(JingleReasons || (exports.JingleReasons = JingleReasons = {}));
/** These currently only affect softphone media */
var MediaHandling;
(function (MediaHandling) {
    /** Handle all media; headset controls use traditional orchestration */
    MediaHandling["standardMedia"] = "standard-media";
    /** Handle all media; headset controls follow alerting leader */
    MediaHandling["alertingLeaderMedia"] = "alerting-leader-media";
    /**
     * Handle some media (see below); headset controls are not used
     *
     * - New eager persistent connections will be ignored.
     * - Auto-answer calls will be handled, which could result in a
     * persistent connection being established.
     */
    MediaHandling["reducedMedia"] = "reduced-media";
    /**
     * SDK internal use only. Handle some media (see below); headset controls use traditional orchestration.
     *
     * - New eager persistent connections will be ignored.
     * - Auto-answer calls will be handled, which could result in a
     * persistent connection being established.
     */
    MediaHandling["reducedMediaHeadsets"] = "reduced-media-headsets";
})(MediaHandling || (exports.MediaHandling = MediaHandling = {}));
//# sourceMappingURL=enums.js.map