import { Type } from '@nestjs/common'; import { ModuleMetadata } from '@nestjs/common/interfaces'; import { ConnectOptions } from 'mongoose'; export interface TypegooseConnectionOptions extends ConnectOptions, Record { connectionName?: string; bufferCommands?: boolean; dbName?: string; user?: string; pass?: string; autoIndex?: boolean; autoCreate?: boolean; uri?: string; retryAttempts?: number; retryDelay?: number; } export interface TypegooseModuleOptions { uri?: string; retryAttempts?: number; retryDelay?: number; connectionName?: string; bufferCommands?: boolean; dbName?: string; user?: string; pass?: string; autoIndex?: boolean; autoCreate?: boolean; } export interface TypegooseOptionsFactory { createTypegooseOptions(): Promise | TypegooseModuleOptions; } export interface TypegooseModuleAsyncOptions extends Pick { connectionName?: string; useExisting?: Type; useClass?: Type; useFactory?: (...args: any[]) => Promise | TypegooseModuleOptions; inject?: any[]; }