type DeploymentStatus = "building" | "running" | "failed" | "stopped"; type DeploymentSummary = { appName : string, status : DeploymentStatus, appPort : number, appHost : string, }; interface BuildLayer { ensureHydrated() : Promise; deploy(appName : string, appPort : number, tarball : Buffer) : DeploymentSummary; status(appName : string) : (DeploymentSummary & { log : Array }) | undefined; list() : Array; ping(appName : string) : Promise; logs(appName : string, signal : AbortSignal) : AsyncIterable; teardown(appName : string) : Promise; // Re-runs documentation generation for an already-deployed app from its // uploaded source, without redeploying it. Returns the number of docs written. regenerateDocs(appName : string) : Promise; cleanUp() : Promise; } export type { BuildLayer, DeploymentStatus, DeploymentSummary };