export interface Project {
    id: string;
    name: string;
    slug: string | null;
    organizationId: string;
}
export interface Environment {
    id: string;
    projectId: string;
    name: string;
    slug: string;
    type: 'production' | 'staging' | 'preview';
    region: string | null;
    branch: string | null;
    instanceUrl: string | null;
    customServerUrl: string | null;
    observabilityProjectId: string | null;
    envVars: Record<string, string> | null;
    /**
     * Names of env vars injected at deploy time by managed platform resources
     * (e.g. an attached Turso database). Names only — values are secrets.
     * Absent on platforms that predate the field.
     */
    managedEnvVarNames?: string[];
    createdAt: string;
    updatedAt: string;
}
export type EnvironmentDeployStatus = 'queued' | 'uploading' | 'starting' | 'building' | 'deploying' | 'running' | 'sleeping' | 'stopped' | 'failed' | 'crashed' | 'cancelled' | 'unknown';
export interface EnvironmentDeploy {
    id: string;
    projectId: string;
    organizationId: string;
    environmentId: string;
    projectName: string;
    environmentName: string;
    environmentSlug: string;
    region: string | null;
    status: EnvironmentDeployStatus;
    instanceUrl: string | null;
    error: string | null;
    errorCode: string | null;
    createdAt: string | null;
    githubBranch: string | null;
    githubCommitSha: string | null;
}
export declare function fetchProjects(token: string, orgId: string): Promise<Project[]>;
export declare function fetchEnvironments(token: string, orgId: string, projectId: string): Promise<Environment[]>;
export declare function fetchEnvironmentDeploys(token: string, orgId: string, projectId: string): Promise<EnvironmentDeploy[]>;
export declare function createEnvironment(token: string, orgId: string, projectId: string, env: {
    name: string;
    type: 'production' | 'staging' | 'preview';
    region?: string;
}): Promise<Environment>;
/**
 * Restart an environment's running service so saved env vars take effect
 * immediately. 409 means the environment has never been deployed.
 */
export declare function restartEnvironment(token: string, orgId: string, projectId: string, envId: string): Promise<void>;
export declare function deleteEnvironment(token: string, orgId: string, projectId: string, envId: string): Promise<void>;
//# sourceMappingURL=platform-api.d.ts.map