import { Type } from '@nestjs/common'; import { ModuleMetadata } from '@nestjs/common/interfaces'; import { ConnectionOptions } from 'mongoose'; export interface TypegooseConnectionOptions extends ConnectionOptions { connectionName?: string; } export interface TypegooseModuleOptions { uri: string; [key: string]: any; } export interface TypegooseOptionsFactory { createTypegooseOptions(): Promise | TypegooseModuleOptions; } export interface TypegooseModuleAsyncOptions extends Pick { connectionName?: string; useExisting?: Type; useClass?: Type; useFactory?: (...args: any[]) => Promise | TypegooseModuleOptions; inject?: any[]; }