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

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

export interface ServerMessageTransferUpdate {
    /** This is the phone number that the message is associated with. */
    phoneNumber?: Vapi.ServerMessageTransferUpdatePhoneNumber | undefined;
    /** This is the type of the message. "transfer-update" is sent whenever a transfer happens. */
    type: Vapi.ServerMessageTransferUpdateType;
    /** This is the destination of the transfer. */
    destination?: Vapi.ServerMessageTransferUpdateDestination | undefined;
    /** This is the timestamp of the message. */
    timestamp?: number | undefined;
    /**
     * This is a live version of the `call.artifact`.
     *
     * This matches what is stored on `call.artifact` after the call.
     */
    artifact?: Vapi.Artifact | undefined;
    /** This is the assistant that the message is associated with. */
    assistant?: Vapi.CreateAssistantDto | undefined;
    /** This is the customer that the message is associated with. */
    customer?: Vapi.CreateCustomerDto | undefined;
    /** This is the call that the message is associated with. */
    call?: Vapi.Call | undefined;
    /** This is the chat object. */
    chat?: Vapi.Chat | undefined;
    /** This is the assistant that the call is being transferred to. This is only sent if `destination.type` is "assistant". */
    toAssistant?: Vapi.CreateAssistantDto | undefined;
    /** This is the assistant that the call is being transferred from. This is only sent if `destination.type` is "assistant". */
    fromAssistant?: Vapi.CreateAssistantDto | undefined;
    /** This is the step that the conversation moved to. */
    toStepRecord?: Record<string, unknown> | undefined;
    /** This is the step that the conversation moved from. = */
    fromStepRecord?: Record<string, unknown> | undefined;
}
