import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient";
import { type NormalizedClientOptions } from "../../../../BaseClient";
import * as core from "../../../../core";
import * as ElevenLabs from "../../../index";
import { AgentsClient } from "../resources/agents/client/Client";
import { AnalyticsClient } from "../resources/analytics/client/Client";
import { BatchCallsClient } from "../resources/batchCalls/client/Client";
import { ConversationsClient } from "../resources/conversations/client/Client";
import { DashboardClient } from "../resources/dashboard/client/Client";
import { KnowledgeBaseClient } from "../resources/knowledgeBase/client/Client";
import { LlmUsageClient } from "../resources/llmUsage/client/Client";
import { McpServersClient } from "../resources/mcpServers/client/Client";
import { PhoneNumbersClient } from "../resources/phoneNumbers/client/Client";
import { SecretsClient } from "../resources/secrets/client/Client";
import { SettingsClient } from "../resources/settings/client/Client";
import { SipTrunkClient } from "../resources/sipTrunk/client/Client";
import { TestsClient } from "../resources/tests/client/Client";
import { ToolsClient } from "../resources/tools/client/Client";
import { TwilioClient } from "../resources/twilio/client/Client";
import { UsersClient } from "../resources/users/client/Client";
import { WhatsappClient } from "../resources/whatsapp/client/Client";
import { WhatsappAccountsClient } from "../resources/whatsappAccounts/client/Client";
export declare namespace ConversationalAiClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class ConversationalAiClient {
    protected readonly _options: NormalizedClientOptions<ConversationalAiClient.Options>;
    protected _conversations: ConversationsClient | undefined;
    protected _twilio: TwilioClient | undefined;
    protected _whatsapp: WhatsappClient | undefined;
    protected _agents: AgentsClient | undefined;
    protected _tests: TestsClient | undefined;
    protected _users: UsersClient | undefined;
    protected _phoneNumbers: PhoneNumbersClient | undefined;
    protected _llmUsage: LlmUsageClient | undefined;
    protected _knowledgeBase: KnowledgeBaseClient | undefined;
    protected _tools: ToolsClient | undefined;
    protected _settings: SettingsClient | undefined;
    protected _secrets: SecretsClient | undefined;
    protected _batchCalls: BatchCallsClient | undefined;
    protected _sipTrunk: SipTrunkClient | undefined;
    protected _mcpServers: McpServersClient | undefined;
    protected _whatsappAccounts: WhatsappAccountsClient | undefined;
    protected _analytics: AnalyticsClient | undefined;
    protected _dashboard: DashboardClient | undefined;
    constructor(options?: ConversationalAiClient.Options);
    get conversations(): ConversationsClient;
    get twilio(): TwilioClient;
    get whatsapp(): WhatsappClient;
    get agents(): AgentsClient;
    get tests(): TestsClient;
    get users(): UsersClient;
    get phoneNumbers(): PhoneNumbersClient;
    get llmUsage(): LlmUsageClient;
    get knowledgeBase(): KnowledgeBaseClient;
    get tools(): ToolsClient;
    get settings(): SettingsClient;
    get secrets(): SecretsClient;
    get batchCalls(): BatchCallsClient;
    get sipTrunk(): SipTrunkClient;
    get mcpServers(): McpServersClient;
    get whatsappAccounts(): WhatsappAccountsClient;
    get analytics(): AnalyticsClient;
    get dashboard(): DashboardClient;
    /**
     * Upload a file or webpage URL to create a knowledge base document. <br> <Note> After creating the document, update the agent's knowledge base by calling [Update agent](/docs/api-reference/agents/update). </Note>
     *
     * @param {ElevenLabs.BodyAddToKnowledgeBaseV1ConvaiKnowledgeBasePost} request
     * @param {ConversationalAiClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     import { createReadStream } from "fs";
     *     await client.conversationalAi.addToKnowledgeBase({
     *         agentId: "agent_id"
     *     })
     */
    addToKnowledgeBase(request: ElevenLabs.BodyAddToKnowledgeBaseV1ConvaiKnowledgeBasePost, requestOptions?: ConversationalAiClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.AddKnowledgeBaseResponseModel>;
    private __addToKnowledgeBase;
    /**
     * Provides total size and other information of RAG indexes used by knowledgebase documents
     *
     * @param {ConversationalAiClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.ragIndexOverview()
     */
    ragIndexOverview(requestOptions?: ConversationalAiClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.RagIndexOverviewResponseModel>;
    private __ragIndexOverview;
    /**
     * Provides information about all RAG indexes of the specified knowledgebase document.
     *
     * @param {string} documentation_id - The id of a document from the knowledge base. This is returned on document addition.
     * @param {ConversationalAiClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.getDocumentRagIndexes("21m00Tcm4TlvDq8ikWAM")
     */
    getDocumentRagIndexes(documentation_id: string, requestOptions?: ConversationalAiClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.RagDocumentIndexesResponseModel>;
    private __getDocumentRagIndexes;
    /**
     * Delete RAG index for the knowledgebase document.
     *
     * @param {string} documentation_id - The id of a document from the knowledge base. This is returned on document addition.
     * @param {string} rag_index_id - The id of RAG index of document from the knowledge base.
     * @param {ConversationalAiClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.deleteDocumentRagIndex("21m00Tcm4TlvDq8ikWAM", "21m00Tcm4TlvDq8ikWAM")
     */
    deleteDocumentRagIndex(documentation_id: string, rag_index_id: string, requestOptions?: ConversationalAiClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.RagDocumentIndexResponseModel>;
    private __deleteDocumentRagIndex;
}
