export interface BountyCaptureClip { /** The bounty submission (attempt) this clip belongs to, prefixed `btys_`. */ bounty_submission_id: string; /** When the clip was created, as an ISO 8601 timestamp. */ created_at: string; /** Server-validated clip duration in whole seconds. `null` until validation completes. */ duration_seconds: number | null; /** Stable validation failure code. `null` unless `status` is `failed`. */ failure_code: string | null; /** Human-readable validation failure reason. `null` unless `status` is `failed`. */ failure_message: string | null; /** Temporary signed URL for the video frame timestamp log. Returned only on single-clip reads for an authorized viewer; `null` on list responses or until the artifact is attached. */ frames_url: string | null; /** Capture clip ID, prefixed `bclip_`. */ id: string; /** Temporary signed URL for the IMU (accelerometer + gyroscope) log. Returned only on single-clip reads for an authorized viewer; `null` on list responses or until the artifact is attached. */ imu_url: string | null; /** Temporary signed URL for the capture manifest. Returned only on single-clip reads for an authorized viewer; `null` on list responses or until the artifact is attached. */ manifest_url: string | null; /** When server-side validation completed successfully, as an ISO 8601 timestamp. `null` until then. */ ready_at: string | null; /** The clip's stable order within the attempt, starting at 1. */ sequence: number; /** Recording and validation state. `recording` is still capturing; `verifying` is running server-side validation; `ready` passed validation and counts toward the verified-duration payout gate; `failed` did not validate. */ status: BountyCaptureClip.Status; /** When the clip was last updated, as an ISO 8601 timestamp. */ updated_at: string; /** Temporary signed URL for the synchronized MP4 video. Returned only on single-clip reads for an authorized viewer; `null` on list responses or until the artifact is attached. */ video_url: string | null; } export declare namespace BountyCaptureClip { /** Recording and validation state. `recording` is still capturing; `verifying` is running server-side validation; `ready` passed validation and counts toward the verified-duration payout gate; `failed` did not validate. */ const Status: { readonly Recording: "recording"; readonly Verifying: "verifying"; readonly Ready: "ready"; readonly Failed: "failed"; }; type Status = (typeof Status)[keyof typeof Status]; }