import { DynamicModule } from '@nestjs/common';
import { AnyClass } from '../interfaces/any-class.interface';
import { KindagooseModuleAsyncOptions } from '../interfaces/kindagoose-module-async-options';
import { KindagooseModuleOptions } from '../interfaces/kindagoose-module-options.interface';
import { SchemaRegistrationOptions } from '../interfaces/schema-registration-options.interface';
export declare class KindagooseModule {
    /***
     * Creates a global database connection.
     * @param {string} uri - MongoDB Connection URI.
     * @param {KindagooseModuleOptions} options - Configuration for KindagooseModule and mongoose.
     */
    static forRoot(uri: string, options?: KindagooseModuleOptions): DynamicModule;
    /**
     * Creates a global database connection with Nest's dependency injection.
     * @param {KindagooseModuleAsyncOptions} options - Configuration for KindagooseModule and mongoose.
     */
    static forRootAsync(options: KindagooseModuleAsyncOptions): {
        module: typeof KindagooseModule;
        imports: DynamicModule[];
    };
    /***
     * Used for registration your models within a module.
     * @param {(AnyClass | SchemaRegistrationOptions)[]} schemas - Array of Typegoose classes or schema registration options.
     * @param {string} connectionName - Mongoose connection name.
     */
    static forFeature(schemas: (AnyClass | SchemaRegistrationOptions)[], connectionName?: string): DynamicModule;
}
//# sourceMappingURL=kindagoose.module.d.ts.map