import { Database } from './base/database.js'; import { Memory } from './dialects/memory.js'; import { MongoDB } from './dialects/mongodb.js'; import { MySQL } from "./dialects/mysql.js"; import { PG } from "./dialects/pg.js"; import { Redis } from "./dialects/redis.js"; import { Sqlite } from "./dialects/sqlite.js"; /** * 数据库注册表接口 * 支持模块声明扩展 */ export interface Databases = Record> { memory: Memory; mongodb: MongoDB; mysql: MySQL; pg: PG; redis: Redis; sqlite: Sqlite; } /** * 数据库注册表命名空间 */ export type Factory, R extends Database> = { new (config: D, definitions?: Database.DefinitionObj): R; }; export declare namespace Registry { const factories: Map>; interface Config { memory: import('./dialects/memory.js').MemoryConfig; mongodb: import('./dialects/mongodb.js').MongoDBDialectConfig; mysql: import('./dialects/mysql.js').MySQLDialectConfig; pg: import('./dialects/pg.js').PostgreSQLDialectConfig; redis: import('./dialects/redis.js').RedisDialectConfig; sqlite: import('./dialects/sqlite.js').SQLiteDialectConfig; } type DatabaseType = 'related' | 'document' | 'keyvalue'; function register, D extends keyof Databases>(dialect: D, factory: Factory): void; function create, D extends keyof Databases>(dialect: D, config: Config[D], definitions?: Database.DefinitionObj): Databases[D]; } //# sourceMappingURL=registry.d.ts.map