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

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

export interface ServerMessagePhoneCallControl {
    /** This is the phone number that the message is associated with. */
    phoneNumber?: Vapi.ServerMessagePhoneCallControlPhoneNumber | undefined;
    /**
     * This is the type of the message. "phone-call-control" is an advanced type of message.
     *
     * When it is requested in `assistant.serverMessages`, the hangup and forwarding responsibilities are delegated to your server. Vapi will no longer do the actual transfer and hangup.
     */
    type: Vapi.ServerMessagePhoneCallControlType;
    /** This is the request to control the phone call. */
    request: Vapi.ServerMessagePhoneCallControlRequest;
    /** This is the destination to forward the call to if the request is "forward". */
    destination?: Vapi.ServerMessagePhoneCallControlDestination | 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;
}
