import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; import * as core from "../../../../core/index.js"; import * as Pinnacle from "../../../index.js"; import { Campaign } from "../resources/campaign/client/Client.js"; export declare namespace PhoneNumbers { interface Options extends BaseClientOptions { } interface RequestOptions extends BaseRequestOptions { } } export declare class PhoneNumbers { protected readonly _options: PhoneNumbers.Options; protected _campaign: Campaign | undefined; constructor(_options: PhoneNumbers.Options); get campaign(): Campaign; /** * Search for available phone numbers that match your exact criteria. * * @param {Pinnacle.SearchPhoneNumberParams} request * @param {PhoneNumbers.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Pinnacle.BadRequestError} * @throws {@link Pinnacle.UnauthorizedError} * @throws {@link Pinnacle.ForbiddenError} * @throws {@link Pinnacle.InternalServerError} * * @example * await client.phoneNumbers.search({ * features: ["SMS", "MMS"], * location: { * city: "New York", * nationalDestinationCode: "212" * }, * number: { * contains: "514", * startsWith: "45" * }, * options: { * limit: 4 * }, * type: ["LOCAL"] * }) */ search(request: Pinnacle.SearchPhoneNumberParams, requestOptions?: PhoneNumbers.RequestOptions): core.HttpResponsePromise; private __search; /** * Purchase one or more phone numbers found through the [search endpoint](./search).
* * Billing uses your account credits and the numbers are ready for immediate use. * * @param {Pinnacle.BuyPhoneNumberParams} request * @param {PhoneNumbers.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Pinnacle.BadRequestError} * @throws {@link Pinnacle.UnauthorizedError} * @throws {@link Pinnacle.PaymentRequiredError} * @throws {@link Pinnacle.ForbiddenError} * @throws {@link Pinnacle.NotFoundError} * @throws {@link Pinnacle.InternalServerError} * * @example * await client.phoneNumbers.buy({ * numbers: ["+18559491727"] * }) */ buy(request: Pinnacle.BuyPhoneNumberParams, requestOptions?: PhoneNumbers.RequestOptions): core.HttpResponsePromise; private __buy; /** * Retrieve information about any phone number. * * @param {Pinnacle.RetrievePhoneNumberDetailsParams} request * @param {PhoneNumbers.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Pinnacle.BadRequestError} * @throws {@link Pinnacle.UnauthorizedError} * @throws {@link Pinnacle.PaymentRequiredError} * @throws {@link Pinnacle.ForbiddenError} * @throws {@link Pinnacle.NotFoundError} * @throws {@link Pinnacle.InternalServerError} * * @example * await client.phoneNumbers.get({ * phone: "+11234567890", * level: "advanced", * options: { * risk: true, * enhanced_contact_info: { * context: "This is my friend from JZ. He has done a lot in the crypto space." * } * } * }) */ get(request: Pinnacle.RetrievePhoneNumberDetailsParams, requestOptions?: PhoneNumbers.RequestOptions): core.HttpResponsePromise; private __get; /** * List all owned phone numbers with pagination. Results are sorted by creation date, newest first. * * @param {Pinnacle.ListPhoneNumbersParams} request * @param {PhoneNumbers.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Pinnacle.BadRequestError} * @throws {@link Pinnacle.UnauthorizedError} * @throws {@link Pinnacle.InternalServerError} * * @example * await client.phoneNumbers.list() */ list(request?: Pinnacle.ListPhoneNumbersParams, requestOptions?: PhoneNumbers.RequestOptions): core.HttpResponsePromise; private __list; protected _getCustomAuthorizationHeaders(): Promise>; }