import { Interaction, ITask, TaskData } from './types'; /** * Determines if the given agent is the primary agent (owner) of the task * @param task - The task to check * @param agentId - The agent ID to check for primary status * @returns true if the agent is the primary agent, false otherwise */ export declare const isPrimary: (task: ITask, agentId: string) => boolean; /** * Checks if the given agent is a participant in the main interaction (mainCall) * @param task - The task to check * @param agentId - The agent ID to check for participation * @returns true if the agent is a participant in the main interaction, false otherwise */ export declare const isParticipantInMainInteraction: (task: ITask, agentId: string) => boolean; /** * Checks if the given agent is not in the interaction or has left the interaction * @param task - The task to check * @param agentId - The agent ID to check * @returns true if the agent is not in the interaction or has left, false otherwise */ export declare const checkParticipantNotInInteraction: (task: ITask, agentId: string) => boolean; /** * Determines if a conference is currently in progress based on the number of active agent participants * @param TaskData - The payLoad data to check for conference status * @returns true if there are 2 or more active agent participants in the main call, false otherwise */ export declare const getIsConferenceInProgress: (data: TaskData) => boolean; /** * Checks if the current agent is a secondary agent in a consultation scenario. * Secondary agents are those who were consulted (not the original call owner). * @param task - The task object containing interaction details * @returns true if this is a secondary agent (consulted party), false otherwise */ export declare const isSecondaryAgent: (interaction: Interaction) => boolean; /** * Checks if the current agent is a secondary EP-DN (Entry Point Dial Number) agent. * This is specifically for telephony consultations to external numbers/entry points. * @param task - The task object containing interaction details * @returns true if this is a secondary EP-DN agent in telephony consultation, false otherwise */ export declare const isSecondaryEpDnAgent: (interaction: Interaction) => boolean; /** * Checks if auto-answer is enabled for the agent participant * @param interaction - The interaction object * @param agentId - Current agent ID * @returns true if auto-answer is enabled, false otherwise */ export declare const isAutoAnswerEnabled: (interaction: Interaction, agentId: string) => boolean; /** * Checks if the interaction is a WebRTC call eligible for auto-answer * @param interaction - The interaction object * @param loginOption - The agent's login option (BROWSER, AGENT_DN, etc.) * @param webRtcEnabled - Whether WebRTC is enabled for the agent * @returns true if this is a WebRTC call, false otherwise */ export declare const isWebRTCCall: (interaction: Interaction, loginOption: string, webRtcEnabled: boolean) => boolean; /** * Checks if the interaction is a digital outbound (Email/SMS) * @param interaction - The interaction object * @returns true if this is a digital outbound, false otherwise */ export declare const isDigitalOutbound: (interaction: Interaction) => boolean; /** * Checks if the outdial was initiated by the current agent * @param interaction - The interaction object * @param agentId - Current agent ID * @returns true if agent initiated the outdial, false otherwise */ export declare const hasAgentInitiatedOutdial: (interaction: Interaction, agentId: string) => boolean; /** * Determines if a task should be auto-answered based on interaction data * Auto-answer logic handles: * 1. WebRTC calls with auto-answer enabled in agent profile * 2. Agent-initiated WebRTC outdial calls * 3. Agent-initiated digital outbound (Email/SMS) without previous transfers * * @param taskData - The task data * @param agentId - Current agent ID * @param loginOption - Agent's login option * @param webRtcEnabled - Whether WebRTC is enabled for the agent * @returns true if task should be auto-answered, false otherwise */ export declare const shouldAutoAnswerTask: (taskData: TaskData, agentId: string, loginOption: string, webRtcEnabled: boolean) => boolean; /** * Checks if a task is a campaign preview reservation that has not yet been accepted. * Campaign preview tasks should not trigger incoming call handling until the agent * explicitly accepts the preview contact. * @param task - The task to check * @returns true if the task is a pending campaign preview reservation, false otherwise */ export declare const isCampaignPreviewReservation: (task: ITask) => boolean;