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"; import { SubmissionsClient } from "../resources/submissions/client/Client.js"; export declare namespace BountiesClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } /** * A Bounty is a paid task posted by an account or user. The reward is held in escrow when the bounty publishes, workers submit proof of completed work, and each accepted submission is paid out until every winner slot fills. * * Use the Bounties API to create and publish a bounty, list an account's bounties for reporting or dashboards, list the bounties a user can work or has participated in, and retrieve a single bounty by ID. */ export declare class BountiesClient { protected readonly _options: NormalizedClientOptionsWithAuth; protected _submissions: SubmissionsClient | undefined; constructor(options?: BountiesClient.Options); get submissions(): SubmissionsClient; /** * Lists bounties visible to the credential — for an account API key, the account's bounties including scheduled drafts; for a user token, the bounties the user can see and work. * * @param {Whop.ListBountiesRequest} request * @param {BountiesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.bounties.list() */ list(request?: Whop.ListBountiesRequest, requestOptions?: BountiesClient.RequestOptions): Promise>; /** * Creates a bounty and escrows its reward pool. Publishes immediately, or as a scheduled draft when you set `publish_at`. * * @param {Whop.CreateBountiesRequest} request * @param {BountiesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.ConflictError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.bounties.create({ * description: "Record one continuous pass of a full interior detail, dash to trunk, on a customer vehicle.", * gross_reward_amount: 40, * title: "Record interior detailing passes" * }) */ create(request: Whop.CreateBountiesRequest, requestOptions?: BountiesClient.RequestOptions): core.HttpResponsePromise; private __create; /** * Retrieves a bounty by ID. Authentication is optional: a request with no credential reads the bounty when it is publicly visible — published or completed, and not restricted to a private experience's members. Bounties outside the caller's scope, and bounties not publicly visible to an anonymous caller, return `404`. * * @param {Whop.RetrieveBountiesRequest} request * @param {BountiesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.NotFoundError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.bounties.retrieve({ * id: "id" * }) */ retrieve(request: Whop.RetrieveBountiesRequest, requestOptions?: BountiesClient.RequestOptions): core.HttpResponsePromise; private __retrieve; /** * Updates a bounty. A published bounty accepts title, description, and country targeting while it is still open with nothing under review. A scheduled (not-yet-published) draft additionally accepts the reward, winner slots, and schedule. * * @param {Whop.UpdateBountiesRequest} request * @param {BountiesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.NotFoundError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.bounties.update({ * id: "id" * }) */ update(request: Whop.UpdateBountiesRequest, requestOptions?: BountiesClient.RequestOptions): core.HttpResponsePromise; private __update; /** * Cancels a bounty. With no in-flight work, it cancels immediately and refunds the funder. Otherwise it stops new submissions and cancels once the in-flight work resolves and pays out. Repeating the request is a no-op. A bounty that already paid out every slot returns `400`. * * @param {Whop.CancelBountiesRequest} request * @param {BountiesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.NotFoundError} * @throws {@link Whop.ConflictError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.bounties.cancel({ * id: "id" * }) */ cancel(request: Whop.CancelBountiesRequest, requestOptions?: BountiesClient.RequestOptions): core.HttpResponsePromise; private __cancel; }