export interface ToolParameter {
    /** The parameter type. */
    type: ToolParameter.Type;
    /** Required only when type is "array". The type of items in the array. */
    item_type?: ToolParameter.ItemType | undefined;
    /** The parameter name. */
    name: string;
    /** Description of the parameter. */
    description: string;
    /** Whether the parameter is required. */
    is_required: boolean;
    /**
     * Only applicable for `custom_webhook` tools. Specifies where the parameter should be sent in the webhook request.
     * - For GET webhooks: defaults to `"query_string"` and `"request_body"` is not allowed.
     * - For POST webhooks: required, can be either `"request_body"` or `"query_string"`.
     * - Not allowed for `custom_websocket`, `built_in_transfer_to_phone_number`, or `built_in_transfer_to_agent` tools.
     * When updating a tool's type or endpoint_method, all parameters must include explicit `location` values.
     */
    location?: ToolParameter.Location | undefined;
}
export declare namespace ToolParameter {
    /** The parameter type. */
    const Type: {
        readonly String: "string";
        readonly Integer: "integer";
        readonly Number: "number";
        readonly Boolean: "boolean";
        readonly Array: "array";
    };
    type Type = (typeof Type)[keyof typeof Type];
    /** Required only when type is "array". The type of items in the array. */
    const ItemType: {
        readonly String: "string";
        readonly Integer: "integer";
        readonly Number: "number";
        readonly Boolean: "boolean";
    };
    type ItemType = (typeof ItemType)[keyof typeof ItemType];
    /**
     * Only applicable for `custom_webhook` tools. Specifies where the parameter should be sent in the webhook request.
     * - For GET webhooks: defaults to `"query_string"` and `"request_body"` is not allowed.
     * - For POST webhooks: required, can be either `"request_body"` or `"query_string"`.
     * - Not allowed for `custom_websocket`, `built_in_transfer_to_phone_number`, or `built_in_transfer_to_agent` tools.
     * When updating a tool's type or endpoint_method, all parameters must include explicit `location` values.
     */
    const Location: {
        readonly RequestBody: "request_body";
        readonly QueryString: "query_string";
    };
    type Location = (typeof Location)[keyof typeof Location];
}
