import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; import * as core from "../../../../core/index.js"; import * as Pinnacle from "../../../index.js"; import { Contacts } from "../resources/contacts/client/Client.js"; export declare namespace Audiences { interface Options extends BaseClientOptions { } interface RequestOptions extends BaseRequestOptions { } } export declare class Audiences { protected readonly _options: Audiences.Options; protected _contacts: Contacts | undefined; constructor(_options: Audiences.Options); get contacts(): Contacts; /** * Retrieve an audience by ID with optional pagination. * * @param {Pinnacle.AudiencesGetRequest} request * @param {Audiences.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Pinnacle.BadRequestError} * @throws {@link Pinnacle.UnauthorizedError} * @throws {@link Pinnacle.ForbiddenError} * @throws {@link Pinnacle.NotFoundError} * @throws {@link Pinnacle.InternalServerError} * * @example * await client.audiences.get({ * id: "aud_abc123" * }) */ get(request: Pinnacle.AudiencesGetRequest, requestOptions?: Audiences.RequestOptions): core.HttpResponsePromise; private __get; /** * Create a new audience with optional initial contacts. Phone numbers that don't exist will be auto-created as contacts. * * @param {Pinnacle.CreateAudienceParams} request * @param {Audiences.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Pinnacle.BadRequestError} * @throws {@link Pinnacle.UnauthorizedError} * @throws {@link Pinnacle.ForbiddenError} * @throws {@link Pinnacle.InternalServerError} * * @example * await client.audiences.create({ * name: "Marketing Campaign Q1", * description: "Contacts for Q1 marketing push" * }) * * @example * await client.audiences.create({ * name: "VIP Customers", * description: "Our best customers", * contacts: ["+12125551234", "+13105551234"] * }) * * @example * await client.audiences.create({ * name: "Mixed Audience", * contacts: ["+12125551234", "co_abc123", "+13105551234"] * }) */ create(request: Pinnacle.CreateAudienceParams, requestOptions?: Audiences.RequestOptions): core.HttpResponsePromise; private __create; /** * Permanently delete an audience and all its contact associations. * * Note: This will NOT delete the contacts themselves, only the audience and its memberships. * * @param {Pinnacle.AudiencesDeleteRequest} request * @param {Audiences.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Pinnacle.BadRequestError} * @throws {@link Pinnacle.UnauthorizedError} * @throws {@link Pinnacle.ForbiddenError} * @throws {@link Pinnacle.NotFoundError} * @throws {@link Pinnacle.InternalServerError} * * @example * await client.audiences.delete({ * id: "aud_abc123" * }) */ delete(request: Pinnacle.AudiencesDeleteRequest, requestOptions?: Audiences.RequestOptions): core.HttpResponsePromise; private __delete; /** * Update audience metadata. This endpoint does NOT modify contacts. * * To add or remove contacts, use the [Add Contacts](/api-reference/audiences/add-contacts) or [Remove Contacts](/api-reference/audiences/remove-contacts) endpoints. * * @param {Pinnacle.UpdateAudienceParams} request * @param {Audiences.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Pinnacle.BadRequestError} * @throws {@link Pinnacle.UnauthorizedError} * @throws {@link Pinnacle.ForbiddenError} * @throws {@link Pinnacle.NotFoundError} * @throws {@link Pinnacle.InternalServerError} * * @example * await client.audiences.update({ * id: "aud_abc123", * name: "Updated Audience Name", * description: "New description" * }) */ update(request: Pinnacle.UpdateAudienceParams, requestOptions?: Audiences.RequestOptions): core.HttpResponsePromise; private __update; /** * List all audiences with optional filtering and pagination. Results are sorted by creation date, newest first. * * @param {Pinnacle.ListAudiencesParams} request * @param {Audiences.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Pinnacle.BadRequestError} * @throws {@link Pinnacle.UnauthorizedError} * @throws {@link Pinnacle.InternalServerError} * * @example * await client.audiences.list() */ list(request?: Pinnacle.ListAudiencesParams, requestOptions?: Audiences.RequestOptions): core.HttpResponsePromise; private __list; protected _getCustomAuthorizationHeaders(): Promise>; }