import type * as Whop from "../index.mjs"; export interface BountySubmission { /** The bounty the work was submitted to, prefixed `bnty_`. */ bounty_id: string; capture_clips: Whop.BountyCaptureClip[] | null; /** The vendor filename stem `Country_City_Site_Station_Operator`, derived from the capture metadata. `null` until every component is present. */ capture_filename: string | null; /** Number of verified capture clips accepted for this submission so far. `0` for submissions whose deliverable doesn't accumulate clips. */ captured_clip_count: number; /** Total verified duration of accepted capture clips, in whole seconds. `0` for submissions whose deliverable doesn't accumulate clips. */ captured_duration_seconds: number; /** Capture metadata: city the footage was recorded in. `null` unless capture metadata was provided. */ city: string | null; /** When the worker claimed the submission, as an ISO 8601 timestamp. */ claimed_at: string | null; /** Written proof the worker submitted with their work. */ content: string | null; /** Capture metadata: country the footage was recorded in. `null` unless capture metadata was provided. */ country: string | null; /** When the submission was created, as an ISO 8601 timestamp. */ created_at: string; /** How the work arrived when it came in through the API in one shot, informational only — read the work from `deliverable_urls`, `files`, and `capture_clips` directly. `null` for submissions whose proof is a livestream recording, including ones that attached links or files on submit. */ deliverable_type: BountySubmission.DeliverableType | null; deliverable_urls: string[] | null; /** Why the submission was denied, when a presentable reason exists. Always `null` unless `status` is `denied`. */ denial_reason: string | null; /** Capture metadata: device the footage was recorded on. `null` unless capture metadata was provided. */ device: string | null; files: Whop.BountySubmissionFile[]; /** Capture metadata: horizontal field of view in degrees. `null` when not reported. */ fov: number | null; /** Submission ID, prefixed `btys_`. */ id: string; /** Latest public proof livestream attached to the submission. */ latest_proof_livestream_feed: Whop.BountySubmissionLivestreamFeed | null; /** Capture metadata: identifier of the person who recorded the footage. `null` unless capture metadata was provided. */ operator: string | null; /** When the submission was approved or denied, as an ISO 8601 timestamp. `null` until then. */ resolved_at: string | null; /** Capture metadata: site or venue the footage was recorded at. `null` unless capture metadata was provided. */ site: string | null; /** Capture metadata: station or position within the site. `null` unless capture metadata was provided. */ station: string | null; /** Lifecycle state. `in_progress` submissions are active attempts that have not submitted proof yet; `submitted` submissions await review; `approved` submissions were accepted and paid; `denied` submissions were rejected. `null` when the attempt ended without proof, taking it out of the public lifecycle — those attempts are absent from every public list and read. */ status: BountySubmission.Status | null; /** When proof was submitted for review, as an ISO 8601 timestamp. `null` while the attempt is in progress. */ submitted_at: string | null; /** When the submission was last updated, as an ISO 8601 timestamp. */ updated_at: string; /** User who submitted the work. */ worker: Whop.UserSummary; } export declare namespace BountySubmission { /** How the work arrived when it came in through the API in one shot, informational only — read the work from `deliverable_urls`, `files`, and `capture_clips` directly. `null` for submissions whose proof is a livestream recording, including ones that attached links or files on submit. */ const DeliverableType: { readonly ContentUrl: "content_url"; readonly Media: "media"; readonly DataCapture: "data_capture"; }; type DeliverableType = (typeof DeliverableType)[keyof typeof DeliverableType]; /** Lifecycle state. `in_progress` submissions are active attempts that have not submitted proof yet; `submitted` submissions await review; `approved` submissions were accepted and paid; `denied` submissions were rejected. `null` when the attempt ended without proof, taking it out of the public lifecycle — those attempts are absent from every public list and read. */ const Status: { readonly InProgress: "in_progress"; readonly Submitted: "submitted"; readonly Approved: "approved"; readonly Denied: "denied"; }; type Status = (typeof Status)[keyof typeof Status]; }