import { ExtensionType, IRingGroupMember } from "./RingGroup"; export interface IQueue { id: string; spaceId: string; name: string; extension: string; ringStrategy: RingStrategyQueue; musicOnHold?: string; maxQueueLength?: number; /** * Agent Rest Time (s) * Configure the amount of time in seconds after ending a call where the agent will not receive additional calls. * Once this time has passed, the agent will be able to receive calls again. * If set to 0, agents can receive additional calls immediately after ending a call. */ agentRestTime?: number; /**Retry Time (s) * Configure the number of seconds to wait before ringing the next agent. The minimum is 1. */ retryTime?: number; /**Agent Ring Time (s) * Configure the number of seconds to ring an agent. The minimum is 5. */ agentRingTime?: number; autoRecord: boolean; /**Welcome Prompt * Configure a custom welcome prompt for the queue. */ customPrompt?: string; skipBusyAgent: boolean; /** * extension number for static users */ staticMembers: IRingGroupMember[]; /** * users Id who are allowed to login in this queue to answer calls */ allowedAgents?: string[]; TimeOutDestinationEnabled: boolean; TimeOutDestinationType: ExtensionType; TimeOutDestinationValue?: string; createdAt?: Date | null; createdBy?: string | null; } export declare enum RingStrategyQueue { RING_ALL = 0, LINEAR = 1, LAST_RECENT = 2, FEWEST_CALLS = 3, RANDOM = 4, ROUND_ROBIN = 5 }