import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.mjs"; import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient.mjs"; import * as core from "../../../../core/index.mjs"; import * as Whop from "../../../index.mjs"; export declare namespace MediaClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } /** * A Media Asset is an AI-generated image or video created from a prompt and billed from an account balance. When generation finishes, the asset includes a file that can be attached anywhere Whop accepts files. * * Use the Media API to start a generation job and retrieve the asset while it processes or after it is ready. */ export declare class MediaClient { protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options?: MediaClient.Options); /** * Starts an AI media generation job billed from the account's balance. Generation is asynchronous — poll `GET /media/{id}` until the asset is `ready`, then use `file.id` anywhere attachments are accepted. * * @param {Whop.GenerateMediaRequest} request * @param {MediaClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.BadRequestError} * @throws {@link Whop.UnauthorizedError} * @throws {@link Whop.PaymentRequiredError} * @throws {@link Whop.ForbiddenError} * @throws {@link Whop.ConflictError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.media.generate({ * prompt: "A 9:16 product showcase of a cordless power scrubber", * type: "video" * }) */ generate(request: Whop.GenerateMediaRequest, requestOptions?: MediaClient.RequestOptions): core.HttpResponsePromise; private __generate; /** * Retrieves a media asset by ID. Poll this while the asset is `processing`. * * @param {Whop.RetrieveMediaRequest} request * @param {MediaClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Whop.NotFoundError} * @throws {@link errors.WhopError} * @throws {@link errors.WhopTimeoutError} * * @example * await client.media.retrieve({ * id: "id" * }) */ retrieve(request: Whop.RetrieveMediaRequest, requestOptions?: MediaClient.RequestOptions): core.HttpResponsePromise; private __retrieve; }