import { Database, DatabaseConfig } from './database'; import { Schema } from './schema'; import { Model } from './model'; /** * Configure and connect to the default database (like mongoose.connect()) * Must be called before creating models with model() * * @param config Database configuration * @returns Database instance * @example * ```typescript * const db = connect({ * storage: 'file', * file: { dataPath: './data', persistMode: 'debounced' } * }) * * const User = model('User', userSchema) // Uses configured database * ``` */ export declare function connect(config?: DatabaseConfig): Database; /** * Create a new database instance (like mongoose.createConnection()) * Use for multiple databases with different storage configurations * * @param config Database configuration * @returns Database instance * @example * ```typescript * const mainDb = createDatabase({ * storage: 'file', * file: { dataPath: './data' } * }) * * const User = mainDb.model('User', userSchema) * ``` */ export declare function createDatabase(config?: DatabaseConfig): Database; /** * Create a model using the default database (like mongoose.model()) * If connect() was never called, uses an in-memory database * * @param name Model name * @param schema Schema definition * @returns Model instance * @example * ```typescript * const User = model('User', userSchema) * ``` */ export declare function model(name: string, schema: Schema): Model; /** * Get a model from the default database * @param name Model name * @returns Model instance or undefined */ export declare function getModel>(name: string): Model | undefined; /** * Clear all models in the default database and their storage * Useful for testing - recreates the default database with fresh storage */ export declare function clearRegistry(): Promise; /** * Disconnect from the default database */ export declare function disconnect(): Promise; /** * Drop the default database - deletes all physical storage files * This is a destructive operation that cannot be undone * After dropping, a fresh database instance is created */ export declare function dropDatabase(): Promise; /** * Get the default database instance * @returns Default Database instance */ export declare function getDefaultDatabase(): Database; //# sourceMappingURL=connection.d.ts.map