import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../BaseClient";
import { type NormalizedClientOptions } from "../../../../../../../../BaseClient";
import * as core from "../../../../../../../../core";
import * as ElevenLabs from "../../../../../../../index";
import { ChunkClient } from "../resources/chunk/client/Client";
import { SummariesClient } from "../resources/summaries/client/Client";
export declare namespace DocumentsClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class DocumentsClient {
    protected readonly _options: NormalizedClientOptions<DocumentsClient.Options>;
    protected _summaries: SummariesClient | undefined;
    protected _chunk: ChunkClient | undefined;
    constructor(options?: DocumentsClient.Options);
    get summaries(): SummariesClient;
    get chunk(): ChunkClient;
    /**
     * Create a knowledge base document generated by scraping the given webpage.
     *
     * @param {ElevenLabs.conversationalAi.knowledgeBase.BodyCreateUrlDocumentV1ConvaiKnowledgeBaseUrlPost} request
     * @param {DocumentsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.knowledgeBase.documents.createFromUrl({
     *         url: "url"
     *     })
     */
    createFromUrl(request: ElevenLabs.conversationalAi.knowledgeBase.BodyCreateUrlDocumentV1ConvaiKnowledgeBaseUrlPost, requestOptions?: DocumentsClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.AddKnowledgeBaseResponseModel>;
    private __createFromUrl;
    /**
     * Create a knowledge base document generated form the uploaded file.
     *
     * @param {ElevenLabs.conversationalAi.knowledgeBase.BodyCreateFileDocumentV1ConvaiKnowledgeBaseFilePost} request
     * @param {DocumentsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     import { createReadStream } from "fs";
     *     await client.conversationalAi.knowledgeBase.documents.createFromFile({
     *         file: fs.createReadStream("/path/to/your/file")
     *     })
     */
    createFromFile(request: ElevenLabs.conversationalAi.knowledgeBase.BodyCreateFileDocumentV1ConvaiKnowledgeBaseFilePost, requestOptions?: DocumentsClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.AddKnowledgeBaseResponseModel>;
    private __createFromFile;
    /**
     * Create a knowledge base document containing the provided text.
     *
     * @param {ElevenLabs.conversationalAi.knowledgeBase.BodyCreateTextDocumentV1ConvaiKnowledgeBaseTextPost} request
     * @param {DocumentsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.knowledgeBase.documents.createFromText({
     *         text: "text"
     *     })
     */
    createFromText(request: ElevenLabs.conversationalAi.knowledgeBase.BodyCreateTextDocumentV1ConvaiKnowledgeBaseTextPost, requestOptions?: DocumentsClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.AddKnowledgeBaseResponseModel>;
    private __createFromText;
    /**
     * Create a folder used for grouping documents together.
     *
     * @param {ElevenLabs.conversationalAi.knowledgeBase.BodyCreateFolderV1ConvaiKnowledgeBaseFolderPost} request
     * @param {DocumentsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.knowledgeBase.documents.createFolder({
     *         name: "name"
     *     })
     */
    createFolder(request: ElevenLabs.conversationalAi.knowledgeBase.BodyCreateFolderV1ConvaiKnowledgeBaseFolderPost, requestOptions?: DocumentsClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.AddKnowledgeBaseResponseModel>;
    private __createFolder;
    /**
     * Get details about a specific documentation making up the agent's knowledge base
     *
     * @param {string} documentation_id - The id of a document from the knowledge base. This is returned on document addition.
     * @param {ElevenLabs.conversationalAi.knowledgeBase.DocumentsGetRequest} request
     * @param {DocumentsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.knowledgeBase.documents.get("21m00Tcm4TlvDq8ikWAM", {
     *         agentId: "agent_id"
     *     })
     */
    get(documentation_id: string, request?: ElevenLabs.conversationalAi.knowledgeBase.DocumentsGetRequest, requestOptions?: DocumentsClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.conversationalAi.knowledgeBase.DocumentsGetResponse>;
    private __get;
    /**
     * Delete a document or folder from the knowledge base.
     *
     * @param {string} documentation_id - The id of a document from the knowledge base. This is returned on document addition.
     * @param {ElevenLabs.conversationalAi.knowledgeBase.DocumentsDeleteRequest} request
     * @param {DocumentsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.knowledgeBase.documents.delete("21m00Tcm4TlvDq8ikWAM", {
     *         force: true
     *     })
     */
    delete(documentation_id: string, request?: ElevenLabs.conversationalAi.knowledgeBase.DocumentsDeleteRequest, requestOptions?: DocumentsClient.RequestOptions): core.HttpResponsePromise<unknown>;
    private __delete;
    /**
     * Update the name of a document
     *
     * @param {string} documentation_id - The id of a document from the knowledge base. This is returned on document addition.
     * @param {ElevenLabs.conversationalAi.knowledgeBase.BodyUpdateDocumentV1ConvaiKnowledgeBaseDocumentationIdPatch} request
     * @param {DocumentsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.knowledgeBase.documents.update("21m00Tcm4TlvDq8ikWAM", {
     *         name: "name"
     *     })
     */
    update(documentation_id: string, request: ElevenLabs.conversationalAi.knowledgeBase.BodyUpdateDocumentV1ConvaiKnowledgeBaseDocumentationIdPatch, requestOptions?: DocumentsClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.conversationalAi.knowledgeBase.DocumentsUpdateResponse>;
    private __update;
    /**
     * Get a list of agents depending on this knowledge base document
     *
     * @param {string} documentation_id - The id of a document from the knowledge base. This is returned on document addition.
     * @param {ElevenLabs.conversationalAi.knowledgeBase.DocumentsGetAgentsRequest} request
     * @param {DocumentsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.knowledgeBase.documents.getAgents("21m00Tcm4TlvDq8ikWAM", {
     *         dependentType: "direct",
     *         pageSize: 1,
     *         cursor: "cursor"
     *     })
     */
    getAgents(documentation_id: string, request?: ElevenLabs.conversationalAi.knowledgeBase.DocumentsGetAgentsRequest, requestOptions?: DocumentsClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.GetKnowledgeBaseDependentAgentsResponseModel>;
    private __getAgents;
    /**
     * Get the entire content of a document from the knowledge base
     *
     * @param {string} documentation_id - The id of a document from the knowledge base. This is returned on document addition.
     * @param {DocumentsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.knowledgeBase.documents.getContent("21m00Tcm4TlvDq8ikWAM")
     */
    getContent(documentation_id: string, requestOptions?: DocumentsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __getContent;
    /**
     * Get a signed URL to download the original source file of a file-type document from the knowledge base
     *
     * @param {string} documentation_id - The id of a document from the knowledge base. This is returned on document addition.
     * @param {DocumentsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.knowledgeBase.documents.getSourceFileUrl("21m00Tcm4TlvDq8ikWAM")
     */
    getSourceFileUrl(documentation_id: string, requestOptions?: DocumentsClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.KnowledgeBaseSourceFileUrlResponseModel>;
    private __getSourceFileUrl;
    /**
     * Moves the entity from one folder to another.
     *
     * @param {string} document_id - The id of a document from the knowledge base. This is returned on document addition.
     * @param {ElevenLabs.conversationalAi.knowledgeBase.BodyMoveEntityToFolderV1ConvaiKnowledgeBaseDocumentIdMovePost} request
     * @param {DocumentsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.knowledgeBase.documents.move("21m00Tcm4TlvDq8ikWAM")
     */
    move(document_id: string, request?: ElevenLabs.conversationalAi.knowledgeBase.BodyMoveEntityToFolderV1ConvaiKnowledgeBaseDocumentIdMovePost, requestOptions?: DocumentsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __move;
    /**
     * Moves multiple entities from one folder to another.
     *
     * @param {ElevenLabs.conversationalAi.knowledgeBase.BodyBulkMoveEntitiesToFolderV1ConvaiKnowledgeBaseBulkMovePost} request
     * @param {DocumentsClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.knowledgeBase.documents.bulkMove({
     *         documentIds: ["21m00Tcm4TlvDq8ikWAM", "31m00Tcm4TlvDq8ikWBM"]
     *     })
     */
    bulkMove(request: ElevenLabs.conversationalAi.knowledgeBase.BodyBulkMoveEntitiesToFolderV1ConvaiKnowledgeBaseBulkMovePost, requestOptions?: DocumentsClient.RequestOptions): core.HttpResponsePromise<void>;
    private __bulkMove;
}
