/**
 * This file was auto-generated by Fern from our API Definition.
 */
import * as Intercom from "../../../index";
/**
 * A Conversation Part represents a message in the conversation.
 */
export interface ConversationPart {
    /** Always conversation_part */
    type?: string;
    /** The id representing the conversation part. */
    id?: string;
    /** The type of conversation part. */
    part_type?: string;
    /** The message body, which may contain HTML. For Twitter, this will show a generic message regarding why the body is obscured. */
    body?: string;
    /** The time the conversation part was created. */
    created_at?: number;
    /** The last time the conversation part was updated. */
    updated_at?: number;
    /** The time the user was notified with the conversation part. */
    notified_at?: number;
    /** The id of the admin that was assigned the conversation by this conversation_part (null if there has been no change in assignment.) */
    assigned_to?: Intercom.unstable.Reference;
    author?: Intercom.unstable.ConversationPartAuthor;
    /** A list of attachments for the part. */
    attachments?: Intercom.unstable.PartAttachment[];
    /** The external id of the conversation part */
    external_id?: string;
    /** Whether or not the conversation part has been redacted. */
    redacted?: boolean;
    email_message_metadata?: Intercom.unstable.EmailMessageMetadata;
    metadata?: Intercom.unstable.ConversationPartMetadata;
    /** Indicates the current state of conversation when the conversation part was created. */
    state?: ConversationPart.State;
    /** A list of tags objects associated with the conversation part. */
    tags?: Intercom.unstable.TagBasic[];
    event_details?: Intercom.unstable.EventDetails;
    /** The app package code if this part was created via API. null if the part was not created via API. */
    app_package_code?: string;
}
export declare namespace ConversationPart {
    /**
     * Indicates the current state of conversation when the conversation part was created.
     */
    type State = "open" | "closed" | "snoozed";
    const State: {
        readonly Open: "open";
        readonly Closed: "closed";
        readonly Snoozed: "snoozed";
    };
}
