/**
 * Copyright(c) Microsoft Corporation.All rights reserved.
 * Licensed under the MIT License.
 */

/**
 * Enum representing the different channels an agent can communicate through.
 */
export enum Channels {
  /**
   * Represents an agentic channel
   */
  Agents = 'agents',
  /**
   * Represents the Alexa channel.
   */
  Alexa = 'alexa',

  /**
   * Represents the Console channel.
   */
  Console = 'console',

  /**
   * Represents the Directline channel.
   */
  Directline = 'directline',

  /**
   * Represents the Directline Speech channel.
   */
  DirectlineSpeech = 'directlinespeech',

  /**
   * Represents the Email channel.
   */
  Email = 'email',

  /**
   * Represents the Emulator channel.
   */
  Emulator = 'emulator',

  /**
   * Represents the Facebook channel.
   */
  Facebook = 'facebook',

  /**
   * Represents the GroupMe channel.
   */
  Groupme = 'groupme',

  /**
   * Represents the Line channel.
   */
  Line = 'line',

  /**
   * Represents the Microsoft Teams channel.
   */
  Msteams = 'msteams',

  /**
   * M365 Copilot Teams Subchannel.
   */
  M365CopilotSubChannel = 'COPILOT',
  M365Copilot = `${Msteams}:${M365CopilotSubChannel}`,

  /**
   * Represents the Omnichannel.
   */
  Omni = 'omnichannel',

  /**
   * Represents the Outlook channel.
   */
  Outlook = 'outlook',

  /**
   * Represents the Skype channel.
   */
  Skype = 'skype',

  /**
   * Represents the Slack channel.
   */
  Slack = 'slack',

  /**
   * Represents the SMS channel.
   */
  Sms = 'sms',

  /**
   * Represents the Telegram channel.
   */
  Telegram = 'telegram',

  /**
   * Represents the Telephony channel.
   */
  Telephony = 'telephony',

  /**
   * Represents the Test channel.
   */
  Test = 'test',

  /**
   * Represents the Webchat channel.
   */
  Webchat = 'webchat',
}
