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

export interface ModelCost {
    /**
     * This is the model that was used during the call.
     *
     * This matches one of the following:
     * - `call.assistant.model`,
     * - `call.assistantId->model`,
     * - `call.squad[n].assistant.model`,
     * - `call.squad[n].assistantId->model`,
     * - `call.squadId->[n].assistant.model`,
     * - `call.squadId->[n].assistantId->model`.
     */
    model: Record<string, unknown>;
    /** This is the number of prompt tokens used in the call. These should be total prompt tokens used in the call for single assistant calls, while squad calls will have multiple model costs one for each assistant that was used. */
    promptTokens: number;
    /** This is the number of completion tokens generated in the call. These should be total completion tokens used in the call for single assistant calls, while squad calls will have multiple model costs one for each assistant that was used. */
    completionTokens: number;
    /** This is the number of cached prompt tokens used in the call. This is only applicable to certain providers (e.g., OpenAI, Azure OpenAI) that support prompt caching. Cached tokens are billed at a discounted rate. */
    cachedPromptTokens?: number | undefined;
    /** This is the cost of the component in USD. */
    cost: number;
}
