export interface AppDeployment { /** The app being deployed, prefixed `app_`. */ app_id: string; /** The build the deployment produced, prefixed `abld_`, or `null` until it succeeds. */ build_id: string | null; /** Whether the running or last deployment uploaded a build without making it live. */ draft: boolean; /** Why the deployment failed, or `null` when it did not. */ error: string | null; /** How long this deployment is expected to take in total, estimated from previous runs. */ estimated_duration_ms: number | null; /** How much longer the deployment is expected to take. Held above zero until it actually finishes. */ estimated_remaining_ms: number | null; /** When the deployment ended, in milliseconds since the epoch, or `null` while it is still running. */ finished_at: number | null; /** The stage a running deployment has reached, or `null` when none is running. Later phases dominate the wall clock: `process_archive` waits on the upload pipeline and `promote` waits for the build to go live. */ phase: AppDeployment.Phase | null; /** Fraction of the deployment estimated to be complete, from 0 to 1. Stops just short of 1 until the run ends. */ progress: number | null; /** When the deployment began, in milliseconds since the epoch, or `null` when none has run. */ started_at: number | null; /** Whether the app has anything to publish, and what a publish in flight is doing. `unpublished` means publishing would ship something new; `no_source` means the sandbox holds no copy of this app, so there is nothing to publish from. */ status: AppDeployment.Status; /** Where the deployed site is served, or `null` unless the deployment went live. */ url: string | null; } export declare namespace AppDeployment { /** The stage a running deployment has reached, or `null` when none is running. Later phases dominate the wall clock: `process_archive` waits on the upload pipeline and `promote` waits for the build to go live. */ const Phase: { readonly Install: "install"; readonly Build: "build"; readonly Typecheck: "typecheck"; readonly UploadBuild: "upload_build"; readonly UploadSource: "upload_source"; readonly ProcessArchive: "process_archive"; readonly CreateBuild: "create_build"; readonly Promote: "promote"; }; type Phase = (typeof Phase)[keyof typeof Phase]; /** Whether the app has anything to publish, and what a publish in flight is doing. `unpublished` means publishing would ship something new; `no_source` means the sandbox holds no copy of this app, so there is nothing to publish from. */ const Status: { readonly Published: "published"; readonly Unpublished: "unpublished"; readonly Publishing: "publishing"; readonly Failed: "failed"; readonly NoSource: "no_source"; }; type Status = (typeof Status)[keyof typeof Status]; }