import { Domain } from "../domain"; import { HttpClientInterface } from "../../types/base/http-client-interface"; import { MetricDataResponseInterface } from "../../types/responses/intelligence/metric-data-response-interface"; import { Response } from "../../base/response"; import { AgentList } from "../../types/responses/intelligence/list-agents-response"; import { TagList } from "../../types/responses/intelligence/list-tags-response"; import { ListChannelsResponseInterface } from "../../types/responses/intelligence/list-channels-response"; export declare class Intelligence extends Domain { readonly VERSION: string; constructor(httpClient: HttpClientInterface); addMessage(opts?: AddMessageParametersInterface): Promise>; private getData; getMessagesSummed(opts?: MetricMessageParametersInterface): Promise; getActiveContactsSummed(opts?: MetricConversationParametersInterface): Promise; getActiveContactsDistribution(opts?: MetricConversationParametersInterface): Promise; getSentPaidTemplatesSummed(opts?: MetricParametersInterface): Promise; getAgents(): Promise>; getChannels(): Promise>; getTags(): Promise>; getTeams(): Promise>; getMessageDistribution(opts?: MetricMessageParametersInterface): Promise; getConversationsResolved(opts?: MetricMessageParametersInterface): Promise; getConversationsUnique(opts?: MetricUniqueConversationParametersInterface): Promise; getConversationsResolveTimesAverage(opts?: MetricMessageParametersInterface): Promise; getConversationsResolveTimesMedian(opts?: MetricMessageParametersInterface): Promise; resolveConversation(opts?: ResolveConversationInterface): Promise>; getConversationsFirstReplyTimesAverage(opts?: MetricMessageParametersInterface): Promise; getConversationsFirstReplyTimesMedian(opts?: MetricMessageParametersInterface): Promise; getConversationsFirstReplyTimesBusinessHoursAverage(opts?: MetricMessageParametersInterface): Promise; getConversationsFirstReplyTimesBusinessHoursMedian(opts?: MetricMessageParametersInterface): Promise; getConversationsMessagesAverage(opts?: MetricMessageParametersInterface): Promise; getConversationsTagsUsed(opts?: MetricMessageParametersInterface): Promise; getMessagesResponseTimesAverage(opts?: MetricMessageParametersInterface): Promise; } interface MetricParametersInterface { between?: Date | string; and?: Date | string; agent?: "*" | string[]; channel?: "*" | string[]; tag?: "*" | string[]; provider?: "*" | string[]; identifier?: "*" | string[]; conversation?: "*" | string[]; } export interface MetricMessageParametersInterface extends MetricParametersInterface { direction?: "IN" | "in" | "OUT" | "out" | "ALL" | "all"; } export interface MetricConversationParametersInterface extends MetricParametersInterface { unique?: boolean; } export interface MetricUniqueConversationParametersInterface extends MetricParametersInterface { initiatedBy?: "USER" | "BUSINESS" | "user" | "business"; } interface mediaMessage { type: "IMAGE" | "VIDEO" | "AUDIO" | "DOCUMENT" | "OTHER"; url: string; [metaData: string]: any; } export interface AddMessageParametersInterface { tenant: string; direction: "IN" | "OUT" | "in" | "out"; channel: string; tenantChannelIdentifier: string; customerChannelIdentifier: string; message: { textContent?: string; media?: mediaMessage[]; [metaData: string]: any; }; time?: Date | string; provider: string; actor?: string; agent?: string; tags?: string[]; conversation?: string; businessHours?: { 0: string[]; 1: string[]; 2: string[]; 3: string[]; 4: string[]; 5: string[]; 6: string[]; }; timeZone?: string; } export interface ResolveConversationInterface { channel: string; tenantChannelIdentifier: string; provider: string; agent?: string; tags?: string[]; time: Date | string; conversation: string; } export {};