import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient";
import { type NormalizedClientOptions } from "../../../../../../BaseClient";
import * as core from "../../../../../../core";
import * as ElevenLabs from "../../../../../index";
export declare namespace PhoneNumbersClient {
    type Options = BaseClientOptions;
    interface RequestOptions extends BaseRequestOptions {
    }
}
export declare class PhoneNumbersClient {
    protected readonly _options: NormalizedClientOptions<PhoneNumbersClient.Options>;
    constructor(options?: PhoneNumbersClient.Options);
    /**
     * Retrieve all Phone Numbers
     *
     * @param {PhoneNumbersClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.phoneNumbers.list()
     */
    list(requestOptions?: PhoneNumbersClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.conversationalAi.PhoneNumbersListResponseItem[]>;
    private __list;
    /**
     * Import Phone Number from provider configuration (Twilio or SIP trunk)
     *
     * @param {ElevenLabs.conversationalAi.PhoneNumbersCreateRequestBody} request
     * @param {PhoneNumbersClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.phoneNumbers.create({
     *         provider: "twilio",
     *         phoneNumber: "phone_number",
     *         label: "label",
     *         sid: "sid",
     *         token: "token"
     *     })
     */
    create(request: ElevenLabs.conversationalAi.PhoneNumbersCreateRequestBody, requestOptions?: PhoneNumbersClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.CreatePhoneNumberResponseModel>;
    private __create;
    /**
     * Retrieve Phone Number details by ID
     *
     * @param {string} phone_number_id - The id of an agent. This is returned on agent creation.
     * @param {PhoneNumbersClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.phoneNumbers.get("TeaqRRdTcIfIu2i7BYfT")
     */
    get(phone_number_id: string, requestOptions?: PhoneNumbersClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.conversationalAi.PhoneNumbersGetResponse>;
    private __get;
    /**
     * Delete Phone Number by ID
     *
     * @param {string} phone_number_id - The id of an agent. This is returned on agent creation.
     * @param {PhoneNumbersClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.phoneNumbers.delete("TeaqRRdTcIfIu2i7BYfT")
     */
    delete(phone_number_id: string, requestOptions?: PhoneNumbersClient.RequestOptions): core.HttpResponsePromise<unknown>;
    private __delete;
    /**
     * Update assigned agent of a phone number
     *
     * @param {string} phone_number_id - The id of an agent. This is returned on agent creation.
     * @param {ElevenLabs.conversationalAi.UpdatePhoneNumberRequest} request
     * @param {PhoneNumbersClient.RequestOptions} requestOptions - Request-specific configuration.
     *
     * @throws {@link ElevenLabs.UnprocessableEntityError}
     *
     * @example
     *     await client.conversationalAi.phoneNumbers.update("TeaqRRdTcIfIu2i7BYfT")
     */
    update(phone_number_id: string, request?: ElevenLabs.conversationalAi.UpdatePhoneNumberRequest, requestOptions?: PhoneNumbersClient.RequestOptions): core.HttpResponsePromise<ElevenLabs.conversationalAi.PhoneNumbersUpdateResponse>;
    private __update;
}
