import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient";
import { type NormalizedClientOptions } from "../../../../../../BaseClient";
import * as core from "../../../../../../core";
import * as ElevenLabs from "../../../../../index";
import { DocumentClient } from "../resources/document/client/Client";
import { DocumentsClient } from "../resources/documents/client/Client";
export declare namespace KnowledgeBaseClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class KnowledgeBaseClient {
    protected readonly _options: NormalizedClientOptions<KnowledgeBaseClient.Options>;
    protected _documents: DocumentsClient | undefined;
    protected _document: DocumentClient | undefined;
    constructor(options?: KnowledgeBaseClient.Options);
    get documents(): DocumentsClient;
    get document(): DocumentClient;
    /**
     * Get a list of available knowledge base documents
     *
     * @param {ElevenLabs.conversationalAi.KnowledgeBaseListRequest} request
     * @param {KnowledgeBaseClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.knowledgeBase.list({
     *         pageSize: 1,
     *         search: "search",
     *         showOnlyOwnedDocuments: true,
     *         createdByUserId: "created_by_user_id",
     *         parentFolderId: "parent_folder_id",
     *         ancestorFolderId: "ancestor_folder_id",
     *         foldersFirst: true,
     *         sortDirection: "asc",
     *         sortBy: "name",
     *         cursor: "cursor"
     *     })
     */
    list(request?: ElevenLabs.conversationalAi.KnowledgeBaseListRequest, requestOptions?: KnowledgeBaseClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.GetKnowledgeBaseListResponseModel>;
    private __list;
    /**
     * Retrieves and/or creates RAG indexes for multiple knowledge base documents in a single request. Maximum 100 items per request.
     *
     * @param {ElevenLabs.conversationalAi.BodyComputeRagIndexesInBatchV1ConvaiKnowledgeBaseRagIndexPost} request
     * @param {KnowledgeBaseClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.knowledgeBase.getOrCreateRagIndexes({
     *         items: [{
     *                 documentId: "document_id",
     *                 createIfMissing: true,
     *                 model: "e5_mistral_7b_instruct"
     *             }]
     *     })
     */
    getOrCreateRagIndexes(request: ElevenLabs.conversationalAi.BodyComputeRagIndexesInBatchV1ConvaiKnowledgeBaseRagIndexPost, requestOptions?: KnowledgeBaseClient.RequestOptions): core.HttpResponsePromise<Record<string, ElevenLabs.conversationalAi.KnowledgeBaseGetOrCreateRagIndexesResponseValue>>;
    private __getOrCreateRagIndexes;
}
