// This file is auto-generated by @hey-api/openapi-ts
import { client } from "./client.gen.js";
class _HeyApiClient {
    _client = client;
    constructor(args) {
        if (args?.client) {
            this._client = args.client;
        }
    }
}
export class PrismaClient extends _HeyApiClient {
    /**
     * Delete database connection string
     * Deletes the database connection string with the given ID.
     */
    deleteDatabaseConnectionString(options) {
        return (options.client ?? this._client).delete({
            url: "/v1/connections/{id}",
            ...options,
        });
    }
    /**
     * Delete database
     * Deletes the database with the given ID.
     */
    deleteDatabase(options) {
        return (options.client ?? this._client).delete({
            url: "/v1/databases/{databaseId}",
            ...options,
        });
    }
    /**
     * Get database
     * Returns the database with the given ID.
     */
    getDatabase(options) {
        return (options.client ?? this._client).get({
            url: "/v1/databases/{databaseId}",
            ...options,
        });
    }
    /**
     * Get list of database connections
     * Returns all connections for the given database.
     */
    listDatabaseConnections(options) {
        return (options.client ?? this._client).get({
            url: "/v1/databases/{databaseId}/connections",
            ...options,
        });
    }
    /**
     * Create database connection string
     * Creates a new connection string for the given database.
     */
    createDatabaseConnectionString(options) {
        return (options.client ?? this._client).post({
            url: "/v1/databases/{databaseId}/connections",
            ...options,
            headers: {
                "Content-Type": "application/json",
                ...options.headers,
            },
        });
    }
    /**
     * Get list of backups
     * Returns backups for the specified database.
     */
    listBackups(options) {
        return (options.client ?? this._client).get({
            url: "/v1/databases/{databaseId}/backups",
            ...options,
        });
    }
    /**
     * Get database usage metrics
     * Returns usage metrics for the specified database.
     */
    getDatabaseUsageMetrics(options) {
        return (options.client ?? this._client).get({
            url: "/v1/databases/{databaseId}/usage",
            ...options,
        });
    }
    /**
     * Get list of projects
     * Returns the list of projects the token has access to.
     */
    listProjects(options) {
        return (options?.client ?? this._client).get({
            url: "/v1/projects",
            ...options,
        });
    }
    /**
     * Create project with a postgres database
     * Creates a new project with a postgres database.
     */
    createProjectWithPostgresDatabase(options) {
        return (options?.client ?? this._client).post({
            url: "/v1/projects",
            ...options,
            headers: {
                "Content-Type": "application/json",
                ...options?.headers,
            },
        });
    }
    /**
     * Delete project
     * Deletes the project with the given ID.
     */
    deleteProject(options) {
        return (options.client ?? this._client).delete({
            url: "/v1/projects/{id}",
            ...options,
        });
    }
    /**
     * Get project
     * Returns the project with the given ID.
     */
    getProject(options) {
        return (options.client ?? this._client).get({
            url: "/v1/projects/{id}",
            ...options,
        });
    }
    /**
     * Transfer project
     * Transfer the project with the given ID to the new owner's workspace
     */
    transferProject(options) {
        return (options.client ?? this._client).post({
            url: "/v1/projects/{id}/transfer",
            ...options,
            headers: {
                "Content-Type": "application/json",
                ...options.headers,
            },
        });
    }
    /**
     * Get list of databases
     * Returns databases for the given project.
     */
    listDatabases(options) {
        return (options.client ?? this._client).get({
            url: "/v1/projects/{projectId}/databases",
            ...options,
        });
    }
    /**
     * Create database
     * Creates a new database for the given project.
     */
    createDatabase(options) {
        return (options.client ?? this._client).post({
            url: "/v1/projects/{projectId}/databases",
            ...options,
            headers: {
                "Content-Type": "application/json",
                ...options.headers,
            },
        });
    }
    /**
     * Get list of integrations
     * Returns integrations for the given workspace.
     */
    listIntegrations(options) {
        return (options.client ?? this._client).get({
            url: "/v1/workspaces/{workspaceId}/integrations",
            ...options,
        });
    }
    /**
     * Revoke integration tokens
     * Revokes the integration tokens with the given client ID.
     */
    revokeIntegrationTokens(options) {
        return (options.client ?? this._client).delete({
            url: "/v1/workspaces/{workspaceId}/integrations/{clientId}",
            ...options,
        });
    }
    /**
     * Get Prisma Postgres regions
     * Returns all available regions for Prisma Postgres.
     */
    getPrismaPostgresRegions(options) {
        return (options?.client ?? this._client).get({
            url: "/v1/regions/postgres",
            ...options,
        });
    }
    /**
     * Get Prisma Accelerate regions
     * Returns all available regions for Prisma Accelerate.
     */
    getPrismaAccelerateRegions(options) {
        return (options?.client ?? this._client).get({
            url: "/v1/regions/accelerate",
            ...options,
        });
    }
    /**
     * Get list of workspaces
     * Returns the list of workspaces the current token can access.
     */
    listWorkspaces(options) {
        return (options?.client ?? this._client).get({
            url: "/v1/workspaces",
            ...options,
        });
    }
}
//# sourceMappingURL=sdk.gen.js.map