import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as core from "../../../../core/index.js"; import * as Whop from "../../../index.js"; export declare namespace AudiencesClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } /** * An Audience is a reusable group of people to include or exclude when targeting ads. Build custom audiences from customer lists, Whop People data, or social engagement, and create lookalikes to reach people similar to an existing audience. * * Use the Audiences API to create audiences, add people to an uploaded customer list, rename or refilter an audience, and monitor asynchronous processing. Engagement sources on Meta include videos, lead forms, Instagram profiles, and Facebook pages, and their membership updates on Meta; Whop People audiences can refresh automatically or keep a snapshot. */ export declare class AudiencesClient { protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options?: AudiencesClient.Options); /** * Lists an account's custom and lookalike audiences. * * @param {Whop.ListAudiencesRequest} request * @param {AudiencesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.UnauthorizedError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.audiences.list({ * account_id: "account_id" * }) */ list(request: Whop.ListAudiencesRequest, requestOptions?: AudiencesClient.RequestOptions): Promise>; /** * Creates a custom audience from a customer list, your account's Whop People data, or engagement with videos, lead forms, Instagram profiles, or Facebook pages, or a lookalike audience that reaches people similar to an existing one. Processing runs asynchronously. A custom audience returns one audience; a lookalike returns the requested similarity bands in `data`. * * @param {Whop.CreateAudiencesRequest} request * @param {AudiencesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ConflictError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.audiences.create({ * account_id: "biz_xxxxxxxxxxxxxx", * engagement: { * include: [{ * object: "facebook_page", * event: "engaged", * external_account_id: "sacc_xxxxxxxxxxxxxx", * retention_days: 30 * }], * platform: "meta" * }, * name: "Page engagers", * source_type: "engagement" * }) */ create(request: Whop.CreateAudiencesRequest, requestOptions?: AudiencesClient.RequestOptions): core.HttpResponsePromise; private __create; /** * Deletes an audience so it is no longer available for targeting. * * @param {Whop.DeleteAudiencesRequest} request * @param {AudiencesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.audiences.delete({ * id: "id" * }) */ delete(request: Whop.DeleteAudiencesRequest, requestOptions?: AudiencesClient.RequestOptions): core.HttpResponsePromise; private __delete; /** * Renames an audience. For an audience built from People filters that keeps itself up to date, pass `filters` to replace them, which rebuilds membership immediately. Whether an audience auto refreshes is set when it is created. * * @param {Whop.UpdateAudiencesRequest} request * @param {AudiencesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.UnauthorizedError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.audiences.update({ * id: "id" * }) */ update(request: Whop.UpdateAudiencesRequest, requestOptions?: AudiencesClient.RequestOptions): core.HttpResponsePromise; private __update; /** * Adds users from a new CSV file to an existing uploaded custom audience. The file uses the audience's saved column mapping, processing happens in the background, and existing audience members remain unchanged. * * @param {Whop.AddPeopleAudiencesRequest} request * @param {AudiencesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ConflictError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.audiences.addPeople({ * id: "id", * file_id: "file_xxxxxxxxxxxxxx" * }) */ addPeople(request: Whop.AddPeopleAudiencesRequest, requestOptions?: AudiencesClient.RequestOptions): core.HttpResponsePromise; private __addPeople; }