import 'reflect-metadata';
import type { ApplicationService } from '@adonisjs/core/types';
import { MongoDatabaseManager } from '../src/database_manager.js';
import { SeederManager } from '../src/seeders/seeder_manager.js';
declare module '@adonisjs/core/types' {
    interface ContainerBindings {
        'mongodb.manager': MongoDatabaseManager;
        'mongodb': MongoDatabaseManager;
        'odm.seeder': SeederManager;
    }
}
/**
 * MongoDB ODM Service Provider for AdonisJS
 */
export default class MongodbProvider {
    protected app: ApplicationService;
    constructor(app: ApplicationService);
    private manager?;
    /**
     * Register bindings to the container
     */
    register(): void;
    /**
     * Boot the provider
     */
    boot(): Promise<void>;
    /**
     * Start the provider
     */
    start(): Promise<void>;
    /**
     * Ready hook
     */
    ready(): Promise<void>;
    /**
     * Shutdown hook
     */
    shutdown(): Promise<void>;
    /**
     * Extend BaseModel with database functionality
     */
    private extendBaseModel;
}
//# sourceMappingURL=mongodb_provider.d.ts.map