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 ExperiencesClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } export declare class ExperiencesClient { protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options?: ExperiencesClient.Options); /** * Lists the experiences in an account, optionally filtered to those attached to one product or powered by one app. * * @param {Whop.ListExperiencesRequest} request * @param {ExperiencesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.experiences.list({ * first: 42, * last: 42, * product_id: "prod_xxxxxxxxxxxxx", * app_id: "app_xxxxxxxxxxxxxx", * created_before: "2023-12-01T05:00:00Z", * created_after: "2023-12-01T05:00:00Z", * account_id: "biz_xxxxxxxxxxxxxx" * }) */ list(request: Whop.ListExperiencesRequest, requestOptions?: ExperiencesClient.RequestOptions): Promise>; /** * Creates an experience for an account, powered by an app such as courses, forums, or chat. Attach it to a product with `POST /experiences/:id/attach` to give that product's customers access. * * Required permissions: * - `experience:create` * * @param {Whop.CreateExperiencesRequest} request * @param {ExperiencesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.experiences.create({ * account_id: "biz_xxxxxxxxxxxxxx", * app_id: "app_xxxxxxxxxxxxxx" * }) */ create(request: Whop.CreateExperiencesRequest, requestOptions?: ExperiencesClient.RequestOptions): core.HttpResponsePromise; private __create; /** * Retrieves the details of an existing experience. * * @param {Whop.RetrieveExperiencesRequest} request * @param {ExperiencesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.experiences.retrieve({ * id: "exp_xxxxxxxxxxxxxx" * }) */ retrieve(request: Whop.RetrieveExperiencesRequest, requestOptions?: ExperiencesClient.RequestOptions): core.HttpResponsePromise; private __retrieve; /** * Deletes an experience and detaches it from every product, removing customer access to it. Returns `true` on success. * * Required permissions: * - `experience:delete` * * @param {Whop.DeleteExperiencesRequest} request * @param {ExperiencesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.experiences.delete({ * id: "exp_xxxxxxxxxxxxxx" * }) */ delete(request: Whop.DeleteExperiencesRequest, requestOptions?: ExperiencesClient.RequestOptions): core.HttpResponsePromise; private __delete; /** * Updates an experience's name, logo, visibility, or notification setting, or moves it to another section or position. * * Required permissions: * - `experience:update` * * @param {Whop.UpdateExperiencesRequest} request * @param {ExperiencesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.experiences.update({ * id: "exp_xxxxxxxxxxxxxx" * }) */ update(request: Whop.UpdateExperiencesRequest, requestOptions?: ExperiencesClient.RequestOptions): core.HttpResponsePromise; private __update; /** * Attaches an experience to a product, giving the product's customers access to it. * * Required permissions: * - `experience:attach` * * @param {Whop.AttachExperiencesRequest} request * @param {ExperiencesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.experiences.attach({ * id: "exp_xxxxxxxxxxxxxx", * product_id: "prod_xxxxxxxxxxxxx" * }) */ attach(request: Whop.AttachExperiencesRequest, requestOptions?: ExperiencesClient.RequestOptions): core.HttpResponsePromise; private __attach; /** * Detaches an experience from a product, removing customer access to it through that product. * * Required permissions: * - `experience:detach` * * @param {Whop.DetachExperiencesRequest} request * @param {ExperiencesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.experiences.detach({ * id: "exp_xxxxxxxxxxxxxx", * product_id: "prod_xxxxxxxxxxxxx" * }) */ detach(request: Whop.DetachExperiencesRequest, requestOptions?: ExperiencesClient.RequestOptions): core.HttpResponsePromise; private __detach; /** * Duplicates an experience and attaches the copy to the same products as the original. Forum and chat copies keep the original's settings, such as who can post or comment. No content, such as posts, messages, or lessons, is copied. * * Required permissions: * - `experience:create` * * @param {Whop.DuplicateExperiencesRequest} request * @param {ExperiencesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.UnprocessableEntityError} * @throws {@link Whop.TooManyRequestsError} * @throws {@link Whop.InternalServerError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.experiences.duplicate({ * id: "exp_xxxxxxxxxxxxxx" * }) */ duplicate(request: Whop.DuplicateExperiencesRequest, requestOptions?: ExperiencesClient.RequestOptions): core.HttpResponsePromise; private __duplicate; }