import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../BaseClient";
import { type NormalizedClientOptions } from "../../../../../../../../BaseClient";
import * as core from "../../../../../../../../core";
import * as ElevenLabs from "../../../../../../../index";
export declare namespace FilesClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class FilesClient {
    protected readonly _options: NormalizedClientOptions<FilesClient.Options>;
    constructor(options?: FilesClient.Options);
    /**
     * Upload an image or PDF file for a conversation. Returns a unique file ID that can be used to reference the file in the conversation.
     *
     * @param {string} conversation_id
     * @param {ElevenLabs.conversationalAi.conversations.BodyUploadFileV1ConvaiConversationsConversationIdFilesPost} request
     * @param {FilesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     import { createReadStream } from "fs";
     *     await client.conversationalAi.conversations.files.create("conversation_id", {
     *         file: fs.createReadStream("/path/to/your/file")
     *     })
     */
    create(conversation_id: string, request: ElevenLabs.conversationalAi.conversations.BodyUploadFileV1ConvaiConversationsConversationIdFilesPost, requestOptions?: FilesClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.ConvAiFileUploadResponseModel>;
    private __create;
    /**
     * Remove a file upload from a conversation. Only possible if the file hasn't already been used in the conversation.
     *
     * @param {string} conversation_id
     * @param {string} file_id
     * @param {FilesClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.conversations.files.delete("conversation_id", "file_id")
     */
    delete(conversation_id: string, file_id: string, requestOptions?: FilesClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.ConvAiFileUploadResponseModel>;
    private __delete;
}
