import { EnumAgentStatus } from "../cti"; export declare type ReportDStatisticalAgentGroupTransfer = { agentGroupTransfer: number; date: string; transferOuter: string; transferInner: string; }; export declare type ReportDStatisticalAgentHold = { isAgentHoldEvent: number; date: string; agent_id: string; agent_extension: string; agent_group_id: string; duration: number; }; export declare type ReportDStatisticalAgentStateRinging = { isAgentStateRingingEvent: number; date: string; agent_id: string; agent_extension: string; call_direction: number; duration: number; }; export declare type ReportDStatisticalAgentGroup = { datetime: string; agent_id: string; agent_extension: string; agent_group_id: string; outbound_amount: number; outbound_answered_amount: number; outbound_talking_duration: number; outbound_noanswered_amount: number; outbound_answered_ratio: number; outbound_avg_duration: number; outbound_avg_times: number; inbound_amount: number; inbound_answered_amount: number; inbound_talking_duration: number; inbound_noanswered_amount: number; inbound_answered_ratio: number; inbound_avg_duration: number; transfer_in_amount: number; transfer_out_amount: number; }; export declare type ReportDStatisticalAgent = { date: string; agent_group_id: string; agent_id: string; online_total_duration: number; online_total_times: number; busy_total_times: number; busy_total_duration: number; talking_total_times: number; talking_total_duration: number; hold_total_times: number; hold_total_duration: number; ready_total_times: number; ready_total_duration: number; inbound_ringing_total_duration: number; inbound_ringing_total_times: number; outbound_ringing_total_duration: number; outbound_ringing_total_times: number; after_talking_total_duration: number; after_talking_total_times: number; training_total_duration: number; training_total_times: number; meeting_total_duration: number; meeting_total_times: number; dinner_total_duration: number; dinner_total_times: number; }; export declare type ReportAgentOutboundCall = { agent_id: string; agent_extension: string; agent_name: string; agent_group: string; trunk_number: string; customer_number: string; from_datetime: string; to_datetime: string; pickup_datetime: string; call_result: number; waiting_duration: number; talking_duration: number; total_duration: number; is_agent_outbound_call: number; create_datetime: string; }; export declare type ReportStatisticalAgentOutboundCustomer = { agent_id: string; agent_extension: string; from_datetime: string; to_datetime: string; outbound_makecall_amount: number; outbound_amount: number; outbound_answered_amount: number; outbound_ringing_duration: number; outbound_talking_duration: number; outbound_afterwork_duration: number; outbound_afterwork_times: number; outbound_avg_duration: number; outbound_answered_ratio: number; is_agent_outbound_customer: number; create_datetime: string; }; export declare type ReportCustomerInbound = { is_customer_inbound: number; from_datetime: string; to_datetime: string; agent_id: string; agent_extension: string; inbound_amount: number; inbound_answered_amount: number; inbound_ringing_duration: number; inbound_talking_duration: number; inbound_afterwork_duration: number; inbound_afterwork_times: number; inbound_avg_duration: number; inbound_answered_ratio: number; create_datetime: string; }; export declare type ReportStatisticalInboundAgentGroup = { from_datetime: string; to_datetime: string; agent_group_name: string; agent_group_id: string; inbound_amount: number; inbound_answered_amount: number; total_abandoned_amount: number; total_overflow_amount: number; max_waitting_duration: number; avg_waitting_duration: number; total_waitting_duration: number; max_abandoned_duration: number; avg_abandoned_duration: number; total_abandoned_duration: number; abandoned_ratio: number; level_60s: number; level_45s: number; level_30s: number; level_20s: number; level_10s: number; answered_60s: number; answered_45s: number; answered_30s: number; answered_20s: number; answered_10s: number; abandoned_60s: number; abandoned_45s: number; abandoned_30s: number; abandoned_20s: number; abandoned_10s: number; create_datetime: string; }; export declare type ReportCustomerIncomingCall = { is_customer_incoming_call: number; connid: string; incoming_digit: string; is_worktime_incoming: number; caller_number: string; incoming_timestamp: number; incoming_datetime: string; enter_queue_timestamp: number; enter_queue_datetime: string; hang_up_timestamp: number; hang_up_datetime: string; waitting_duration: number; is_abandoned: number; last_pickup_timestamp: number; last_pickup_datetime: string; last_pickup_username: string; pickup_agent_group: string; pickuper_job_number: string; pickuper_extension: string; evaluate_type: string; evaluate_level: string; evaluate_timestamp: number; evaluate_datetime: string; create_datetime: string; trunk_number: string; ivr_duration: number; talking_duration: number; total_duration: number; call_result: number; }; export declare type ReportAgentStatus = { agent_id: string; agent_extension: string; agent_name: string; agent_group: string; status: EnumAgentStatus; status_duration: number; from_timestamp: number; from_datetime: string; to_timestamp: number; to_datetime: string; create_datetime: string; }; export declare type ReportStatisticalLoginLogout = { agent_id: string; agent_extension: string; agent_name: string; login_logout: string; login_logout_datetime: string; create_datetime: string; }; export declare type ReportStatisticalAgentStatus = { from_datetime: string; to_datetime: string; agent_id: string; agent_extension: string; times_login: number; login_duration: number; status_ready_duration: number; status_talking_duration: number; status_afterwotk_duration: number; status_busy_duration: number; status_hold_duration: number; transfer_in_amount: number; transfer_out_amount: number; transfer_evaluate_amount: number; transfer_out_other_amount: number; times_ready: number; times_talking: number; times_afterwork: number; times_busy: number; times_hold: number; avg_talking_duration: number; avg_afterwork_duration: number; avg_waitting_duration: number; avg_hold_duration: number; times_dinner: number; status_dinner_duration: number; times_conference: number; status_conference_duration: number; times_tranning: number; status_tranning_duration: number; times_outbound: number; outbound_duration: number; times_rest: number; status_rest_duration: number; times_afterwork_over: number; status_afterwork_over_duration: number; times_other: number; other_duration: number; create_datetime: string; }; export declare type CustomerCallDetail = { unique_id: string; timestamp: number; caller: string; trunk: string; is_mobile: number; is_fixed: number; is_video: number; ringing_time: number; ivr_time: number; top_key_stroke: string; all_key_stroke: string; key_num: number; voice_num: number; key_retry_num: number; voice_retry_num: number; agent_group: string; queue_time: number; is_inflow: number; is_overflow: number; is_transfer_in: number; is_transfer_out: number; end_queue_cause: string; agent_id: string; agent_unique_id: string; record_path: string; last_agent_take_time: number; last_agent_id: string; queue_start_time: number; abandon_time: number; is_worktime: number; agent_call_detail?: AgentCallDetail; }; export declare type AgentCallDetail = Readonly<{ unique_id: string; timestamp: number; agent_id: string; agent_group: string; caller: string; direction: number; is_consult: number; ringing_time: number; is_answered: number; talk_time: number; hold_time: number; is_transfered: number; is_conferenced: number; consult_agent_id: string; is_invitation: number; is_evaluation: number; mark: number; mark_time: number; is_customer_hangup: number; is_agent_hangup: number; multimedia?: MultiMediaDetail; }>; export declare type AgentStatusDetail = Readonly<{ agent_id: string; agent_group: string; from_timestamp: number; to_timestamp: number; status: EnumAgentStatus; }>; export declare type MultiMediaDetail = Readonly<{ unique_id: string; is_ivr: number; is_agent: number; is_digital_agent: number; is_upgrade_video: number; is_downgrade_audio: number; video_num: number; image_num: number; video_time: number; image_time: number; interrupt_video_num: number; min_video_time: number; min_video_file: string; max_video_time: number; max_video_file: string; hangup_file: string; ocr_success_num: number; ocr_failed_num: number; ocr_time: number; face_detect_success_num: number; face_detect_failed_num: number; face_detect_time: number; express_success_num: number; express_failed_num: number; express_time: number; }>; export declare type TotalKeyDay = { timestamp: number; key_stroke: string; key_num: number; no_key_num: number; to_agent_num: number; answer_num: number; no_answer_num: number; }; export declare type TotalTrunkDay = { timestamp: number; call_in_num: number; self_service_num: number; fixed_num: number; mobile_num: number; to_agent_num: number; answer_num: number; no_answer_num: number; }; export declare type AgentGroupCallDay = { timestamp: number; agent_group: string; call_in_num: number; call_out_num: number; answer_num: number; no_answer_num: number; self_service_num: number; inflow_num: number; overflow_num: number; invitation_num: number; to_agent_group_num: number; talk_less_15_num: number; talk_less_20_num: number; agent_num: number; total_call_time: number; total_talk_time: number; no_answer_wait_time: number; answer_wait_time: number; satisfied_num: number; dissatisfied_num: number; agent_hangup_num: number; custom_hangup_num: number; max_wait_time: number; max_abandon_time: number; }; export declare type AgentCallDay = { timestamp: number; readonly agent_id: string; call_in_num: number; call_out_num: number; answer_num: number; no_answer_num: number; invitation_num: number; to_agent_group_num: number; talk_less_15_num: number; talk_less_20_num: number; total_call_time: number; total_talk_time: number; no_answer_wait_time: number; answer_wait_time: number; satisfied_num: number; dissatisfied_num: number; agent_hangup_num: number; custom_hangup_num: number; ringing_time: number; ringing_num: number; hold_time: number; hold_num: number; inflow_num: number; overflow_num: number; transfer_in_num: number; transfer_out_num: number; out_call_time: number; out_after_call_num: number; out_after_call_time: number; out_answer_num: number; out_talk_call_time: number; out_no_answer_num: number; }; export declare type AgentStatusDay = { timestamp: number; readonly agent_id: string; readonly agent_group: string; ready_time: number; not_ready_time: number; busy_time: number; ringing_time: number; status: string; status_time: number; first_login_time: number; ready_num: number; not_ready_num: number; busy_num: number; rest_time: number; rest_num: number; dinner_time: number; dinner_num: number; training_time: number; training_num: number; after_call_time: number; after_call_num: number; login_time: number; login_num: number; other_time: number; other_num: number; meeting_time: number; meeting_num: number; }; export declare type AgentGroupServiceLevel = { timestamp: number; agent_group: string; answer_less_60_num: number; answer_less_45_num: number; answer_less_30_num: number; answer_less_20_num: number; answer_less_10_num: number; abandon_less_60_num: number; abandon_less_45_num: number; abandon_less_30_num: number; abandon_less_20_num: number; abandon_less_10_num: number; }; export declare type AgentextendField = { timestamp: number; agent_id: string; sos_answer_num: number; sos_talk_time: number; talk_num: number; talk_time: number; after_call_additional_recording_time: number; after_call_additional_recording_num: number; }; export declare const isAgentGroupCall: (o: any) => o is ReportDStatisticalAgentGroup; export declare const isCustomerInboundAgentGroup: (o: any) => o is ReportDStatisticalAgentGroup; export declare const isAgentStatus: (o: any) => o is ReportAgentStatus; export declare const isCustomerIncomingCall: (o: any) => o is ReportCustomerIncomingCall; export declare const isCustomerInbound: (o: any) => o is ReportCustomerInbound; export declare const isAgentOutboundCustomer: (o: any) => o is ReportStatisticalAgentOutboundCustomer; export declare const isCustomerCallDetail: (o: any) => o is CustomerCallDetail; export declare const isKeyStroke: (o: any) => boolean;