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

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

/**
 * Contacts represent your leads and users in Intercom.
 */
export interface Contact {
    /** The type of object. */
    type: "contact";
    /** The unique identifier for the contact which is given by Intercom. */
    id: string;
    /** The unique identifier for the contact which is provided by the Client. */
    external_id?: string;
    /** The id of the workspace which the contact belongs to. */
    workspace_id: string;
    /** The role of the contact. */
    role: string;
    /** The contact's email. */
    email?: string;
    /** The contact's email domain. */
    email_domain?: string;
    /** The contacts phone. */
    phone?: string;
    /** The contacts name. */
    name?: string;
    /** The id of an admin that has been assigned account ownership of the contact. */
    owner_id?: number;
    /** Whether the contact has had an email sent to them hard bounce. */
    has_hard_bounced: boolean;
    /** Whether the contact has marked an email sent to them as spam. */
    marked_email_as_spam: boolean;
    /** Whether the contact is unsubscribed from emails. */
    unsubscribed_from_emails: boolean;
    /** (UNIX timestamp) The time when the contact was created. */
    created_at: number;
    /** (UNIX timestamp) The time when the contact was last updated. */
    updated_at: number;
    /** (UNIX timestamp) The time specified for when a contact signed up. */
    signed_up_at?: number;
    /** (UNIX timestamp) The time when the contact was last seen (either where the Intercom Messenger was installed or when specified manually). */
    last_seen_at?: number;
    /** (UNIX timestamp) The time when the contact last messaged in. */
    last_replied_at?: number;
    /** (UNIX timestamp) The time when the contact was last messaged. */
    last_contacted_at?: number;
    /** (UNIX timestamp) The time when the contact last opened an email. */
    last_email_opened_at?: number;
    /** (UNIX timestamp) The time when the contact last clicked a link in an email. */
    last_email_clicked_at?: number;
    /** A preferred language setting for the contact, used by the Intercom Messenger even if their browser settings change. */
    language_override?: string;
    /** The name of the browser which the contact is using. */
    browser?: string;
    /** The version of the browser which the contact is using. */
    browser_version?: string;
    /** The language set by the browser which the contact is using. */
    browser_language?: string;
    /** The operating system which the contact is using. */
    os?: string;
    /** The name of the Android app which the contact is using. */
    android_app_name?: string;
    /** The version of the Android app which the contact is using. */
    android_app_version?: string;
    /** The Android device which the contact is using. */
    android_device?: string;
    /** The version of the Android OS which the contact is using. */
    android_os_version?: string;
    /** The version of the Android SDK which the contact is using. */
    android_sdk_version?: string;
    /** (UNIX timestamp) The time when the contact was last seen on an Android device. */
    android_last_seen_at?: number;
    /** The name of the iOS app which the contact is using. */
    ios_app_name?: string;
    /** The version of the iOS app which the contact is using. */
    ios_app_version?: string;
    /** The iOS device which the contact is using. */
    ios_device?: string;
    /** The version of iOS which the contact is using. */
    ios_os_version?: string;
    /** The version of the iOS SDK which the contact is using. */
    ios_sdk_version?: string;
    /** (UNIX timestamp) The last time the contact used the iOS app. */
    ios_last_seen_at?: number;
    /** The custom attributes which are set for the contact. */
    custom_attributes?: Record<string, unknown>;
    /** An image URL containing the avatar of a contact. */
    avatar?: string;
    tags?: Intercom.ContactTags;
    notes?: Intercom.ContactNotes;
    companies?: Intercom.ContactCompanies;
    location?: Intercom.ContactLocation;
    social_profiles?: Intercom.ContactSocialProfiles;
}
