import type * as Whop from "../index.mjs"; export interface MediaAsset { /** USD amount charged to the account's balance for this generation. `null` if the generation wasn't billed. */ amount_charged: number | null; /** ISO 8601 timestamp when the asset reached a terminal state. `null` while `processing`. */ completed_at: string | null; /** ISO 8601 timestamp when the generation was requested. */ created_at: string; /** Currency of `amount_charged`. Always `usd`. */ currency: string; /** Why generation failed. `null` unless status is `failed`. */ error_message: string | null; /** The produced file, usable anywhere attachments are accepted. `null` until the asset is `ready`. */ file: Whop.MediaAssetFile | null; /** The inputs the asset was generated from. */ generation: Whop.MediaAssetGeneration; /** Media asset ID, prefixed `media_`. */ id: string; /** The kind of media this asset holds. */ media_type: MediaAsset.MediaType; /** How the asset was created. Always `generated`. */ source: MediaAsset.Source; /** Lifecycle state: `processing` while generation runs, `ready` when the file is available, `failed` when generation failed and the charge was refunded. */ status: MediaAsset.Status; } export declare namespace MediaAsset { /** The kind of media this asset holds. */ const MediaType: { readonly Video: "video"; readonly Image: "image"; }; type MediaType = (typeof MediaType)[keyof typeof MediaType]; /** How the asset was created. Always `generated`. */ const Source: { readonly Generated: "generated"; }; type Source = (typeof Source)[keyof typeof Source]; /** Lifecycle state: `processing` while generation runs, `ready` when the file is available, `failed` when generation failed and the charge was refunded. */ const Status: { readonly Processing: "processing"; readonly Ready: "ready"; readonly Failed: "failed"; }; type Status = (typeof Status)[keyof typeof Status]; }