import type { ApiClient, ResolvedConfig } from "../config.js"; export interface DeployProjectRecord { id: string; slug: string; } export interface DeployEnvironment { id: string; name: string; protected: boolean; projectId?: string; deployment?: { id: string; release: { id: string; name: string | null; } | null; } | null; domains?: string[]; } export interface DeployRelease { id: string; name: string; version: string | null; projectId?: string; } export type DeploymentRoutingConvergence = { status: "converged"; acknowledged: number; recipients: number; } | { status: "pending"; } | { status: "skipped"; }; export interface DeployDeployment { id: string; releaseId: string; environmentId: string; routingConvergence?: DeploymentRoutingConvergence; } export interface DeployReleaseFile { path: string; content: string; } export type DeployReleaseAssetManifestBody = object | string | number | boolean; export interface DeployReleaseAssetManifestReadOptions { signal?: AbortSignal; } export interface DeployControlPlane { readonly controlPlane: string; getProject(reference: string): Promise; getEnvironment(reference: string, name: string): Promise; createRelease(reference: string, input: { name?: string; branch: string; }): Promise; getRelease(reference: string, releaseId: string): Promise; listReleaseFiles(reference: string, releaseId: string): AsyncIterable; /** * Performs one manifest read and returns null only while it does not exist. * The caller owns polling and retry timing. */ getReleaseAssetManifest(projectSlug: string, releaseId: string, options?: DeployReleaseAssetManifestReadOptions): Promise; createDeployment(reference: string, input: { releaseId: string; environmentId: string; }): Promise; getDeployment(reference: string, deploymentId: string): Promise; /** * Exchanges the stored API key for a short-lived token bound to one protected * environment. The API authorizes the key for that target and refuses the * token as a session. */ createEnvironmentAccessToken(target: EnvironmentAccessTarget): Promise; } export interface EnvironmentAccessTarget { projectId: string; environmentName: string; } export interface EnvironmentAccessToken { accessToken: string; expiresIn: number; } export declare function createHttpDeployControlPlane(config: ResolvedConfig, client?: ApiClient): DeployControlPlane; //# sourceMappingURL=control-plane.d.ts.map