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 ForumsClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } export declare class ForumsClient { protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options?: ForumsClient.Options); /** * Returns a paginated list of forums for an account, with optional filtering by product. * * Required permissions: * - `forum:read` * * @param {Whop.ListForumsRequest} request * @param {ForumsClient.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.forums.list({ * first: 42, * last: 42, * product_id: "prod_xxxxxxxxxxxxx", * account_id: "biz_xxxxxxxxxxxxxx" * }) */ list(request: Whop.ListForumsRequest, requestOptions?: ForumsClient.RequestOptions): Promise>; /** * Retrieves the details of an existing forum. * * Required permissions: * - `forum:read` * * @param {Whop.RetrieveForumsRequest} request * @param {ForumsClient.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.forums.retrieve({ * id: "id" * }) */ retrieve(request: Whop.RetrieveForumsRequest, requestOptions?: ForumsClient.RequestOptions): core.HttpResponsePromise; private __retrieve; /** * Update moderation and notification settings for a forum, such as who can post, who can comment, and email notification preferences. * * Required permissions: * - `forum:moderate` * * @param {Whop.UpdateForumsRequest} request * @param {ForumsClient.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.forums.update({ * id: "id" * }) */ update(request: Whop.UpdateForumsRequest, requestOptions?: ForumsClient.RequestOptions): core.HttpResponsePromise; private __update; }