export interface ConversationItem {
    /** The conversation item ID. */
    id: string;
    /** Index of the item in the conversation. */
    item_idx: number;
    /** Who spoke in this turn. */
    role: ConversationItem.Role;
    /** Live transcript of this turn. `null` when the turn has been redacted. */
    live_transcript: string | null;
    /** Post-call processed transcript. */
    post_call_transcript: string | null;
    /** The redacted transcript of this turn. `null` when the turn is not redacted. */
    redacted_transcript?: (string | null) | undefined;
    /** Duration of this turn in milliseconds. */
    duration_ms: number;
    /** When this turn started. */
    started_at: string;
    /** Voice ID used (assistant only). */
    voice_id?: string | undefined;
    /** Audio speed used (assistant only). */
    audio_speed?: number | undefined;
    /** System prompt used for this assistant turn. */
    system_prompt?: string | undefined;
    /** Tool calls made by the assistant. */
    tool_calls?: ConversationItem.ToolCalls.Item[] | undefined;
}
export declare namespace ConversationItem {
    /** Who spoke in this turn. */
    const Role: {
        readonly User: "user";
        readonly Assistant: "assistant";
    };
    type Role = (typeof Role)[keyof typeof Role];
    type ToolCalls = ToolCalls.Item[];
    namespace ToolCalls {
        interface Item {
            /** The tool call ID. */
            id: string;
            tool: Item.Tool;
            /** The integration associated with the tool, if any. */
            integration?: (string | null) | undefined;
            /** HTTP method for webhook tool calls. */
            endpoint_method?: (string | null) | undefined;
            /** URL for webhook tool calls. */
            endpoint_url?: (string | null) | undefined;
            /** Headers for webhook tool calls. */
            endpoint_headers?: (Record<string, string | null> | null) | undefined;
            /** Timeout in milliseconds for webhook tool calls. */
            endpoint_timeout_ms?: (number | null) | undefined;
            /** When the webhook endpoint was called (null on error). */
            endpoint_called_at?: (string | null) | undefined;
            /** Query parameters for webhook tool calls (null on error or when no params). */
            query_params?: (Record<string, unknown> | null) | undefined;
            /** HTTP response status code for webhook tool calls (null on error). */
            response_status_code?: (number | null) | undefined;
            /** Timeout in milliseconds for websocket tool calls. */
            tool_call_output_timeout_ms?: (number | null) | undefined;
            /** The request body sent to the tool. Can be any JSON-serializable value. */
            request_body: Item.RequestBody | null;
            /** The response body received from the tool. */
            response_body: Record<string, unknown> | null;
            /** Whether the tool call timed out. */
            timed_out: boolean | null;
            /** Error message if the tool call failed. */
            error_message: string | null;
        }
        namespace Item {
            interface Tool {
                /** The tool ID. */
                id: string;
                /** The tool name. */
                name: string;
            }
            /**
             * The request body sent to the tool. Can be any JSON-serializable value.
             */
            type RequestBody = Record<string, unknown> | unknown[] | string | number | boolean;
        }
    }
}
