import type { ManagementApiClient, paths } from "@prisma/management-api-sdk"; import { Result } from "better-result"; import { ApiError, AuthenticationError, CancelledError } from "./errors.ts"; export type ApiClientError = CancelledError | AuthenticationError | ApiError; /** * Lean internal wrapper around ManagementApiClient. * * Provides typed, domain-specific methods with structured error handling. * Has no knowledge of OAuth, service tokens, or token storage — it simply * uses the ManagementApiClient it was given. */ export declare class InternalApiClient { #private; constructor(client: ManagementApiClient); listProjects(signal?: AbortSignal): Promise>; createProject(body: CreateProjectBody, signal?: AbortSignal): Promise | import("better-result").Err<{ id: string; type: "project"; url: string; name: string; createdAt: string; defaultRegion: string | null; workspace: { id: string; url: string; name: string; }; database: { id: string; type: "database"; url: string; name: string; status: "provisioning" | "ready"; createdAt: string; isDefault: boolean; defaultConnectionId: string | null; connections: { id: string; type: "connection"; url: string; name: string; createdAt: string; kind: "postgres" | "accelerate"; endpoints: { direct?: { host: string; port: number; connectionString?: string; }; pooled?: { host: string; port: number; connectionString?: string; }; accelerate?: { host: string; port: number; connectionString?: string; }; }; directConnection?: { host: string; pass: string; user: string; } | null; database: { id: string; url: string; name: string; }; }[]; region: { id: string; name: string; }; source: { type: "empty"; } | { type: "backup"; databaseId: string; backupId: string; } | { type: "database"; databaseId: string; } | null; branchId: string | null; apiKeys: { id: string; type: "connection"; url: string; name: string; createdAt: string; kind: "postgres" | "accelerate"; endpoints: { direct?: { host: string; port: number; }; pooled?: { host: string; port: number; }; accelerate?: { host: string; port: number; }; }; connectionString: string; directConnection?: { host: string; pass: string; user: string; } | null; }[]; connectionString: string | null; directConnection: { host: string; pass: string; user: string; } | null; } | null; }, ApiClientError>>; getProject(id: string, signal?: AbortSignal): Promise | import("better-result").Ok<{ id: string; type: "project"; url: string; name: string; createdAt: string; defaultRegion: string | null; workspace: { id: string; url: string; name: string; }; }, ApiClientError>>; listProjectServices(projectId: string, signal?: AbortSignal): Promise>; createProjectService(projectId: string, body: CreateProjectServiceBody, signal?: AbortSignal): Promise | import("better-result").Ok<{ id: string; type: "compute-service"; url: string; name: string; region: { id: string; name: string; }; projectId: string; branchId: string | null; latestVersionId: string | null; serviceEndpointDomain: string; createdAt: string; }, ApiClientError>>; getService(computeServiceId: string, signal?: AbortSignal): Promise | import("better-result").Ok<{ id: string; type: "compute-service"; url: string; name: string; region: { id: string; name: string; }; projectId: string; branchId: string | null; latestVersionId: string | null; serviceEndpointDomain: string; createdAt: string; }, ApiClientError>>; getBranch(branchId: string, signal?: AbortSignal): Promise | import("better-result").Ok<{ id: string; type: "branch"; url: string; gitName: string; isDefault: boolean; role: "production" | "preview"; createdAt: string; updatedAt: string; project: { id: string; url: string; name: string; }; }, ApiClientError>>; deleteService(computeServiceId: string, signal?: AbortSignal): Promise>; listServiceVersions(computeServiceId: string, signal?: AbortSignal): Promise>; createServiceVersion(computeServiceId: string, body?: CreateServiceVersionBody, signal?: AbortSignal): Promise | import("better-result").Ok<{ id: string; type: "compute-version"; url: string; foundryVersionId: string; uploadUrl: string | null; }, ApiClientError>>; getVersion(versionId: string, signal?: AbortSignal): Promise | import("better-result").Ok<{ id: string; type: "compute-version"; url: string; foundryVersionId: string; status: string; previewDomain: string | null; envVars?: { [key: string]: string; }; portMapping?: { http?: number; }; createdAt: string; }, ApiClientError>>; startVersion(versionId: string, signal?: AbortSignal): Promise | import("better-result").Ok<{ previewDomain: string; }, ApiClientError>>; stopVersion(versionId: string, signal?: AbortSignal): Promise>; deleteVersion(versionId: string, signal?: AbortSignal): Promise>; promoteService(computeServiceId: string, body: PromoteServiceBody, signal?: AbortSignal): Promise | import("better-result").Ok<{ serviceEndpointDomain: string; reassignedDomains: number; }, ApiClientError>>; listEnvironmentVariables(query: ListEnvironmentVariablesQuery, signal?: AbortSignal): Promise>; createEnvironmentVariable(body: CreateEnvironmentVariableBody, signal?: AbortSignal): Promise | import("better-result").Ok<{ id: string; type: "environment-variable"; url: string; projectId: string; branchId: string | null; class: "production" | "preview"; key: string; valueKid: string; isManagedBySystem: boolean; createdAt: string; updatedAt: string; }, ApiClientError>>; updateEnvironmentVariable(envVarId: string, body: UpdateEnvironmentVariableBody, signal?: AbortSignal): Promise | import("better-result").Ok<{ id: string; type: "environment-variable"; url: string; projectId: string; branchId: string | null; class: "production" | "preview"; key: string; valueKid: string; isManagedBySystem: boolean; createdAt: string; updatedAt: string; }, ApiClientError>>; deleteEnvironmentVariable(envVarId: string, signal?: AbortSignal): Promise>; } type SdkCreateProjectBody = NonNullable["content"]["application/json"]; type CreateProjectBody = Omit & { region?: string; }; type SdkCreateProjectServiceBody = NonNullable["content"]["application/json"]; type CreateProjectServiceBody = Omit & { regionId?: string; }; export type CreateServiceVersionBody = NonNullable["content"]["application/json"]; export type PromoteServiceBody = NonNullable["content"]["application/json"]; type ListEnvironmentVariablesQuery = NonNullable; type CreateEnvironmentVariableBody = NonNullable["content"]["application/json"]; type UpdateEnvironmentVariableBody = NonNullable["content"]["application/json"]; /** Extract the upload URL from a version creation response. */ export declare function readUploadUrl(data: { uploadUrl?: string | null; }): string | null; /** Normalize a preview domain to a clickable https URL. */ export declare function toDeploymentUrl(value: string): string; export {}; //# sourceMappingURL=api-client.d.ts.map