import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js";
import * as core from "../../../../core/index.js";
import type * as Vapi from "../../../index.js";
export declare namespace ToolsClient {
    interface Options extends BaseClientOptions {
    }
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class ToolsClient {
    protected readonly _options: ToolsClient.Options;
    constructor(options: ToolsClient.Options);
    /**
     * @param {Vapi.ListToolsRequest} request
     * @param {ToolsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.tools.list()
     */
    list(request?: Vapi.ListToolsRequest, requestOptions?: ToolsClient.RequestOptions): core.HttpResponsePromise<Vapi.ListToolsResponseItem[]>;
    private __list;
    /**
     * @param {Vapi.CreateToolsRequest} request
     * @param {ToolsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.tools.create({
     *         type: "apiRequest",
     *         method: "POST",
     *         url: "url"
     *     })
     */
    create(request: Vapi.CreateToolsRequest, requestOptions?: ToolsClient.RequestOptions): core.HttpResponsePromise<Vapi.CreateToolsResponse>;
    private __create;
    /**
     * @param {Vapi.GetToolsRequest} request
     * @param {ToolsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.tools.get({
     *         id: "id"
     *     })
     */
    get(request: Vapi.GetToolsRequest, requestOptions?: ToolsClient.RequestOptions): core.HttpResponsePromise<Vapi.GetToolsResponse>;
    private __get;
    /**
     * @param {Vapi.DeleteToolsRequest} request
     * @param {ToolsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.tools.delete({
     *         id: "id"
     *     })
     */
    delete(request: Vapi.DeleteToolsRequest, requestOptions?: ToolsClient.RequestOptions): core.HttpResponsePromise<Vapi.DeleteToolsResponse>;
    private __delete;
    /**
     * @param {Vapi.UpdateToolsRequest} request
     * @param {ToolsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.tools.update({
     *         id: "id",
     *         body: {}
     *     })
     */
    update(request: Vapi.UpdateToolsRequest, requestOptions?: ToolsClient.RequestOptions): core.HttpResponsePromise<Vapi.UpdateToolsResponse>;
    private __update;
    protected _getAuthorizationHeader(): Promise<string>;
}
