// This file was auto-generated by Fern from our API Definition.

import type * as Intercom from "../index.js";

/**
 * A Statistics object containing all information required for reporting, with timestamps and calculated metrics.
 */
export interface ConversationStatistics {
    /** */
    type?: string;
    /** Duration until last assignment before first admin reply. In seconds. */
    time_to_assignment?: number;
    /** Duration until first admin reply. Subtracts out of business hours. In seconds. */
    time_to_admin_reply?: number;
    /** Duration until conversation was closed first time. Subtracts out of business hours. In seconds. */
    time_to_first_close?: number;
    /** Duration until conversation was closed last time. Subtracts out of business hours. In seconds. */
    time_to_last_close?: number;
    /** Median based on all admin replies after a contact reply. Subtracts out of business hours. In seconds. */
    median_time_to_reply?: number;
    /** Time of first text conversation part from a contact. */
    first_contact_reply_at?: number;
    /** Time of first assignment after first_contact_reply_at. */
    first_assignment_at?: number;
    /** Time of first admin reply after first_contact_reply_at. */
    first_admin_reply_at?: number;
    /** Time of first close after first_contact_reply_at. */
    first_close_at?: number;
    /** Time of last assignment after first_contact_reply_at. */
    last_assignment_at?: number;
    /** Time of first admin reply since most recent assignment. */
    last_assignment_admin_reply_at?: number;
    /** Time of the last conversation part from a contact. */
    last_contact_reply_at?: number;
    /** Time of the last conversation part from an admin. */
    last_admin_reply_at?: number;
    /** Time of the last conversation close. */
    last_close_at?: number;
    /** The last admin who closed the conversation. Returns a reference to an Admin object. */
    last_closed_by_id?: string;
    /** Number of reopens after first_contact_reply_at. */
    count_reopens?: number;
    /** Number of assignments after first_contact_reply_at. */
    count_assignments?: number;
    /** Total number of conversation parts. */
    count_conversation_parts?: number;
    /** An array of conversation response time objects */
    assigned_team_first_response_time_by_team?: Intercom.ConversationResponseTime[];
    /** An array of conversation response time objects within office hours */
    assigned_team_first_response_time_in_office_hours?: Intercom.ConversationResponseTime[];
    /** Time from conversation assignment to conversation close in seconds. */
    handling_time?: number;
    /** Adjusted handling time for conversation in seconds. This is the active handling time excluding idle periods when teammates are not actively working on the conversation. */
    adjusted_handling_time?: number;
}
