/** * @packageDocumentation * @module DaVinci_API */ import { CHANNEL_TYPES } from './ChannelTypes'; /** * A contact used by: * - [[registerContextualControls]] * - [[addContextualContacts]] * - [[contextualOperation]] */ export interface IContextualContact { /** * The first name of the user/person to dial */ firstName?: string; /** * The last name of the user/person to dial */ lastName?: string; /** * For contacts that DaVinci provides this is set to their davinci username. */ uniqueId: string; /** * A way to group agents. * For contacts that DaVinci provides this is set to the name of profile in davinci */ groupName?: string; /** * The presence of the contact * ex: ready, not ready, offline, etc.. */ presence?: string; /** * The contact's reason for a presence * ex: Lunch, break, PTO, */ reason?: string; /** * This is a color(hex, rgb, or other css colors) used to show the presence quickly * Ex: green for ready, red for not ready, etc.. */ presenceColor?: string; channels: IContextualContactChannel[]; /** * This is to provide backward compatibility to [[registerContextualControls]] only. It will be removed soon™ * @deprecated */ displayName?: string; } export interface IContextualContactChannel { channelType: CHANNEL_TYPES; idName: string; id: string; createdByApp: string; validOperations?: CONTEXTUAL_OPERATION_TYPE[]; validPresences?: string[]; } /** * The type of operation used by [[contextualOperation]] */ export declare enum CONTEXTUAL_OPERATION_TYPE { BlindTransfer = 0, WarmTransfer = 1, Conference = 2, Consult = 3, DTMF = 4, Other = 5, Cancel = 6, Answer = 7, Reject = 8, Hangup = 9, Mute = 10, Unmute = 11, Hold = 12, Unhold = 13, AddParticipant = 14, RemoveParticipant = 15, WrapupCompleted = 16, SetPresence = 17, SetDisposition = 18, UpdateCAD = 19, RetrieveCall = 20, Swap = 21 }