import { ModuleMetadata, Type } from '@nestjs/common'; import { Knex } from 'knex'; export interface DbConnectionOptions extends Knex.Config { validateQuery?: string; } export interface DatabaseOptions { isGlobal?: boolean; default: string; connections: Record; } export interface DatabaseAsyncOptions extends Pick { name?: string; isGlobal: boolean; useExisting?: Type; useClass?: Type; useFactory?: (...args: any[]) => Promise | DatabaseOptions; inject?: any[]; } export interface DatabaseAsyncOptionsFactory { createOptions(): Promise | DatabaseOptions; }