import { DataSource } from '@prisma/generator';
import type { DatabaseCredentials, PrismaConfigWithDatasource } from '@prisma/internals';
import { ConnectorType } from './printDatasources';
export type MigrateAction = 'create' | 'apply' | 'unapply' | 'dev' | 'push';
export type PrettyProvider = 'MySQL' | 'PostgreSQL' | 'Prisma Postgres' | 'SQLite' | 'SQL Server' | 'CockroachDB' | 'MongoDB';
export type DatasourceInfo = {
    name?: string;
    prettyProvider?: PrettyProvider;
    url?: string;
    dbLocation?: string;
    dbName?: string;
    schema?: string;
    schemas?: string[];
};
export declare function parseDatasourceInfo(datasource: DataSource | undefined, config: PrismaConfigWithDatasource): DatasourceInfo;
/**
 * Check if we can connect to the database and throw an error otherwise.
 */
export declare function ensureCanConnectToDatabase(pathResolutionRoot: string, config: PrismaConfigWithDatasource): Promise<void>;
type SuccessMessage = string;
export declare function ensureDatabaseExists(pathResolutionRoot: string, provider: ConnectorType, config: PrismaConfigWithDatasource): Promise<SuccessMessage | undefined>;
export declare function getDbLocation(credentials: DatabaseCredentials): string | undefined;
/**
 * Return a pretty version of a "provider" (with uppercase characters)
 * @param provider
 * @returns PrettyProvider
 */
export declare function prettifyProvider(provider: ConnectorType): PrettyProvider;
export {};
