import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js";
import * as core from "../../../../core/index.js";
import * as Vapi from "../../../index.js";
export declare namespace FilesClient {
    interface Options extends BaseClientOptions {
    }
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class FilesClient {
    protected readonly _options: FilesClient.Options;
    constructor(options: FilesClient.Options);
    /**
     * @param {FilesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.files.list()
     */
    list(requestOptions?: FilesClient.RequestOptions): core.HttpResponsePromise<Vapi.File_[]>;
    private __list;
    /**
     * @param {Vapi.CreateFileDto} request
     * @param {FilesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link Vapi.BadRequestError}
     *
     * @example
     *     import { createReadStream } from "fs";
     *     await client.files.create({
     *         file: fs.createReadStream("/path/to/your/file")
     *     })
     */
    create(request: Vapi.CreateFileDto, requestOptions?: FilesClient.RequestOptions): core.HttpResponsePromise<Vapi.File_>;
    private __create;
    /**
     * @param {Vapi.GetFilesRequest} request
     * @param {FilesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.files.get({
     *         id: "id"
     *     })
     */
    get(request: Vapi.GetFilesRequest, requestOptions?: FilesClient.RequestOptions): core.HttpResponsePromise<Vapi.File_>;
    private __get;
    /**
     * @param {Vapi.DeleteFilesRequest} request
     * @param {FilesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.files.delete({
     *         id: "id"
     *     })
     */
    delete(request: Vapi.DeleteFilesRequest, requestOptions?: FilesClient.RequestOptions): core.HttpResponsePromise<Vapi.File_>;
    private __delete;
    /**
     * @param {Vapi.UpdateFileDto} request
     * @param {FilesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @example
     *     await client.files.update({
     *         id: "id"
     *     })
     */
    update(request: Vapi.UpdateFileDto, requestOptions?: FilesClient.RequestOptions): core.HttpResponsePromise<Vapi.File_>;
    private __update;
    protected _getAuthorizationHeader(): Promise<string>;
}
