import type { DatabaseAdapterId } from '../../types.js'; import type { DatabaseUrlCodec } from './urls.js'; export interface DatabaseAdapterDefinition { id: DatabaseAdapterId; label: string; selectionLabel: string; packageName: `@byline/db-${string}`; adminPackageName: `@byline/db-${string}/admin`; searchPackageName?: `@byline/search-${string}`; connectionEnvKey: `BYLINE_DB_${string}_CONNECTION_STRING`; url: DatabaseUrlCodec; defaultAdminDatabase: string; prerequisites: readonly string[]; baseline: 'drizzle-sql' | 'none'; } /** * Database adapter metadata consumed across flags, dependency/environment * manifests, URL handling, templates, and provisioner registration. * * Adding an adapter starts here. The `Record` exhaustiveness check ensures a * newly-added `DatabaseAdapterId` cannot omit its cross-CLI metadata. */ export declare const DATABASE_ADAPTERS: { readonly postgres: { readonly id: 'postgres'; readonly label: 'PostgreSQL'; readonly selectionLabel: 'PostgreSQL'; readonly packageName: '@byline/db-postgres'; readonly adminPackageName: '@byline/db-postgres/admin'; readonly searchPackageName: '@byline/search-postgres'; readonly connectionEnvKey: 'BYLINE_DB_POSTGRES_CONNECTION_STRING'; readonly url: DatabaseUrlCodec; readonly defaultAdminDatabase: 'postgres'; readonly prerequisites: readonly ["pgcrypto"]; readonly baseline: 'drizzle-sql'; }; readonly mysql: { readonly id: 'mysql'; readonly label: 'MySQL'; readonly selectionLabel: 'MySQL 8.0.14 or later'; readonly packageName: '@byline/db-mysql'; readonly adminPackageName: '@byline/db-mysql/admin'; readonly searchPackageName: '@byline/search-mysql'; readonly connectionEnvKey: 'BYLINE_DB_MYSQL_CONNECTION_STRING'; readonly url: DatabaseUrlCodec; readonly defaultAdminDatabase: 'mysql'; readonly prerequisites: readonly []; readonly baseline: 'drizzle-sql'; }; }; export declare const DEFAULT_DATABASE_ADAPTER = "postgres"; export declare const DATABASE_ADAPTER_IDS: readonly ("mysql" | "postgres")[]; export declare function databaseAdapterDefinition(id: Id): (typeof DATABASE_ADAPTERS)[Id]; //# sourceMappingURL=adapters.d.ts.map