import type { ManagementApiClient } from "@prisma/management-api-sdk"; import { Result } from "better-result"; import type { BuildStrategy } from "./build-strategy.ts"; import type { DeployInteraction, DeployProgress, DestroyServiceProgress, DestroyVersionInteraction, DestroyVersionProgress, PromoteProgress, UpdateEnvProgress } from "./callbacks.ts"; import { type ApiRequestError, type DeployError, type DestroyServiceError, type DestroyVersionError, type PromoteError, type UpdateEnvError } from "./errors.ts"; import type { CreateProjectResult, PortMapping, ProjectInfo, ResolvedConfig, ServiceDetail, ServiceInfo, VersionDetail, VersionInfo } from "./types.ts"; export interface DeployOptions { strategy: BuildStrategy; projectId?: string; serviceId?: string; serviceName?: string; region?: string; envVars?: Record; portMapping?: PortMapping; timeoutSeconds?: number; pollIntervalMs?: number; signal?: AbortSignal; interaction?: DeployInteraction; progress?: DeployProgress; skipPromote?: boolean; destroyOldVersion?: boolean; } export interface UpdateEnvOptions { projectId?: string; serviceId?: string; envVars?: Record; portMapping?: PortMapping; timeoutSeconds?: number; pollIntervalMs?: number; signal?: AbortSignal; interaction?: DeployInteraction; progress?: UpdateEnvProgress; } export interface DestroyVersionOptions { versionId?: string; serviceId?: string; projectId?: string; timeoutSeconds?: number; pollIntervalMs?: number; signal?: AbortSignal; interaction?: DestroyVersionInteraction; progress?: DestroyVersionProgress; } export interface DestroyServiceOptions { serviceId: string; keepService?: boolean; timeoutSeconds?: number; pollIntervalMs?: number; signal?: AbortSignal; progress?: DestroyServiceProgress; } export interface ListServicesOptions { projectId: string; signal?: AbortSignal; } export interface CreateServiceOptions { projectId: string; serviceName: string; region: string; signal?: AbortSignal; } export interface ShowServiceOptions { serviceId: string; signal?: AbortSignal; } export interface DeleteServiceOptions { serviceId: string; signal?: AbortSignal; } export interface CreateProjectOptions { name: string; createDatabase?: boolean; region?: string; signal?: AbortSignal; } export interface ListProjectsOptions { signal?: AbortSignal; } export interface ListVersionsOptions { serviceId: string; signal?: AbortSignal; } export interface ShowVersionOptions { versionId: string; signal?: AbortSignal; } export interface StartVersionOptions { versionId: string; signal?: AbortSignal; } export interface StopVersionOptions { versionId: string; signal?: AbortSignal; } export interface DeleteVersionOptions { versionId: string; signal?: AbortSignal; } export interface PromoteOptions { serviceId: string; versionId?: string; timeoutSeconds?: number; pollIntervalMs?: number; signal?: AbortSignal; interaction?: DestroyVersionInteraction; progress?: PromoteProgress; } export interface DeployResult { projectId: string; serviceId: string; serviceName: string; region: string; versionId: string; versionEndpointDomain: string; serviceEndpointDomain: string | null; promoted: boolean; previousVersionId: string | null; previousVersionAction: "stopped" | "destroyed" | "still-active" | null; resolvedConfig: ResolvedConfig; } export interface PromoteResult { serviceId: string; versionId: string; serviceEndpointDomain: string; versionStarted: boolean; } export interface UpdateEnvResult { projectId: string; serviceId: string; versionId: string; deploymentUrl: string; resolvedConfig: ResolvedConfig; } export interface DestroyVersionResult { versionId: string; previousStatus: string; stopped: boolean; deleted: boolean; } export interface DestroyServiceResult { serviceId: string; deletedVersionIds: string[]; serviceDeleted: boolean; } export declare class ComputeClient { #private; constructor(managementApiClient: ManagementApiClient); deploy(options: DeployOptions): Promise>; updateEnv(options: UpdateEnvOptions): Promise>; destroyVersion(options: DestroyVersionOptions): Promise>; destroyService(options: DestroyServiceOptions): Promise>; createProject(options: CreateProjectOptions): Promise>; listProjects(options?: ListProjectsOptions): Promise>; listServices(options: ListServicesOptions): Promise>; createService(options: CreateServiceOptions): Promise>; showService(options: ShowServiceOptions): Promise>; deleteService(options: DeleteServiceOptions): Promise>; listVersions(options: ListVersionsOptions): Promise>; showVersion(options: ShowVersionOptions): Promise>; startVersion(options: StartVersionOptions): Promise>; stopVersion(options: StopVersionOptions): Promise>; deleteVersion(options: DeleteVersionOptions): Promise>; promote(options: PromoteOptions): Promise>; } //# sourceMappingURL=compute-client.d.ts.map