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

/**
 * Payload of the request to reply on behalf of an admin
 */
export interface AdminReplyTicketRequest {
    message_type: AdminReplyTicketRequest.MessageType;
    type: "admin";
    /** The text body of the reply. Notes accept some HTML formatting. Must be present for comment and note message types. */
    body?: string;
    /** The id of the admin who is authoring the comment. */
    admin_id: string;
    /** The time the reply was created. If not provided, the current time will be used. */
    created_at?: number;
    /** The quick reply options to display. Must be present for quick_reply message types. */
    reply_options?: AdminReplyTicketRequest.ReplyOptions.Item[];
    /** A list of image URLs that will be added as attachments. You can include up to 10 URLs. */
    attachment_urls?: string[];
}

export namespace AdminReplyTicketRequest {
    export const MessageType = {
        Comment: "comment",
        Note: "note",
        QuickReply: "quick_reply",
    } as const;
    export type MessageType = (typeof MessageType)[keyof typeof MessageType];
    export type ReplyOptions = ReplyOptions.Item[];

    export namespace ReplyOptions {
        export interface Item {
            /** The text to display in this quick reply option. */
            text: string;
            /** A unique identifier for this quick reply option. This value will be available within the metadata of the comment ticket part that is created when a user clicks on this reply option. */
            uuid: string;
        }
    }
}
