import type { JavaDependency } from '../../java/types.js';
import type { MavenDefinition } from '../../maven/types.js';
type DatabaseTypeDependencies = {
    jdbc: MavenDefinition;
    r2dbc: MavenDefinition;
};
export type DatabaseArtifact = {
    jdbc: JavaDependency;
    r2dbc?: JavaDependency;
    testContainer?: JavaDependency;
};
export declare const javaSqlDatabaseArtifacts: {
    readonly mariadb: {
        readonly jdbc: {
            readonly groupId: "org.mariadb.jdbc";
            readonly artifactId: "mariadb-java-client";
        };
        readonly r2dbc: {
            readonly groupId: "io.asyncer";
            readonly artifactId: "r2dbc-mysql";
        };
        readonly testContainer: {
            readonly groupId: "org.testcontainers";
            readonly artifactId: "mariadb";
            readonly scope: "test";
        };
    };
    readonly mssql: {
        readonly jdbc: {
            readonly groupId: "com.microsoft.sqlserver";
            readonly artifactId: "mssql-jdbc";
        };
        readonly r2dbc: {
            readonly groupId: "io.r2dbc";
            readonly artifactId: "r2dbc-mssql";
        };
        readonly testContainer: {
            readonly groupId: "org.testcontainers";
            readonly artifactId: "mssqlserver";
            readonly scope: "test";
        };
    };
    readonly mysql: {
        readonly jdbc: {
            readonly groupId: "com.mysql";
            readonly artifactId: "mysql-connector-j";
        };
        readonly r2dbc: {
            readonly groupId: "io.asyncer";
            readonly artifactId: "r2dbc-mysql";
        };
        readonly testContainer: {
            readonly groupId: "org.testcontainers";
            readonly artifactId: "mysql";
            readonly scope: "test";
        };
    };
    readonly postgresql: {
        readonly jdbc: {
            readonly groupId: "org.postgresql";
            readonly artifactId: "postgresql";
        };
        readonly r2dbc: {
            readonly groupId: "org.postgresql";
            readonly artifactId: "r2dbc-postgresql";
        };
        readonly testContainer: {
            readonly groupId: "org.testcontainers";
            readonly artifactId: "postgresql";
            readonly scope: "test";
        };
    };
    readonly oracle: {
        readonly jdbc: {
            readonly groupId: "com.oracle.database.jdbc";
            readonly artifactId: "ojdbc8";
        };
        readonly testContainer: {
            readonly groupId: "org.testcontainers";
            readonly artifactId: "oracle-xe";
            readonly scope: "test";
        };
    };
    readonly h2: {
        readonly jdbc: {
            readonly groupId: "com.h2database";
            readonly artifactId: "h2";
        };
        readonly r2dbc: {
            readonly groupId: "io.r2dbc";
            readonly artifactId: "r2dbc-h2";
        };
    };
};
export declare const getDatabaseDriverForDatabase: (databaseType: string) => any;
export declare const getH2MavenDefinition: ({ prodDatabaseType, packageFolder, }: {
    prodDatabaseType: string;
    packageFolder: string;
}) => DatabaseTypeDependencies;
export declare const getDatabaseTypeMavenDefinition: (databaseType: string, options: {
    inProfile?: string;
    javaDependencies: Record<string, string>;
}) => DatabaseTypeDependencies;
export {};
