import { ModuleMetadata, Type } from '@nestjs/common/interfaces'; import * as knex from 'knex'; export type Knex = knex.Knex; export type Connection = knex.Knex; export interface KnexModuleOptions { config: knex.Knex.Config; } export interface KnexModuleOptionsFactory { createKnexModuleOptions(): Promise | KnexModuleOptions; } export interface KnexModuleAsyncOptions extends Pick { inject?: any[]; useClass?: Type; useExisting?: Type; useFactory?: (...args: any[]) => Promise | KnexModuleOptions; }