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 ForumPostsClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } export declare class ForumPostsClient { protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options?: ForumPostsClient.Options); /** * Returns a paginated list of forum posts within a specific experience, with optional filtering by parent post or pinned status. * * Required permissions: * - `forum:read` * * @param {Whop.ListForumPostsRequest} request * @param {ForumPostsClient.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.forumPosts.list({ * first: 42, * last: 42, * experience_id: "exp_xxxxxxxxxxxxxx" * }) */ list(request: Whop.ListForumPostsRequest, requestOptions?: ForumPostsClient.RequestOptions): Promise>; /** * Create a new forum post or comment within an experience. Supports text content, attachments, polls, paywalling, and pinning. * * Required permissions: * - `forum:post:create` * * @param {Whop.CreateForumPostsRequest} request * @param {ForumPostsClient.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.forumPosts.create({ * experience_id: "exp_xxxxxxxxxxxxxx" * }) */ create(request: Whop.CreateForumPostsRequest, requestOptions?: ForumPostsClient.RequestOptions): core.HttpResponsePromise; private __create; /** * Retrieves the details of an existing forum post. * * Required permissions: * - `forum:read` * * @param {Whop.RetrieveForumPostsRequest} request * @param {ForumPostsClient.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.forumPosts.retrieve({ * id: "id" * }) */ retrieve(request: Whop.RetrieveForumPostsRequest, requestOptions?: ForumPostsClient.RequestOptions): core.HttpResponsePromise; private __retrieve; /** * Edit the content, attachments, pinned status, or visibility of an existing forum post or comment. * * @param {Whop.UpdateForumPostsRequest} request * @param {ForumPostsClient.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.forumPosts.update({ * id: "id" * }) */ update(request: Whop.UpdateForumPostsRequest, requestOptions?: ForumPostsClient.RequestOptions): core.HttpResponsePromise; private __update; }