import { ModuleMetadata, Type } from '@nestjs/common'; import { FactoryProvider } from '@nestjs/common/interfaces/modules/provider.interface'; import Connection from '../connection'; import { ConnectionOptions } from './connection.interface'; export interface ExpressCassandraModuleOptions extends ConnectionOptions { keepConnectionAlive?: boolean; } export interface ExpressCassandraOptionsFactory { createExpressCassandraOptions(connectionName?: string): Promise | ExpressCassandraModuleOptions; } export declare type ExpressCassandraConnectionFactory = (options?: ConnectionOptions) => Promise; export interface ExpressCassandraModuleAsyncOptions extends Pick, Pick { name?: string; useExisting?: Type; useClass?: Type; useFactory: (...args: never[]) => Promise | ExpressCassandraModuleOptions; connectionFactory?: ExpressCassandraConnectionFactory; }