import {Type} from '@nestjs/common'; import {ModuleMetadata} from '@nestjs/common/interfaces'; import {Connection, ConnectionOptions} from '../orm'; export type ScyllaModuleOptions = { keepConnectionAlive?: boolean; retryAttempts?: number; retryDelay?: number; isGlobal?: boolean; } & Partial; export type ScyllaFeaturesModuleOptions = { entities: Function[]; isGlobal?: boolean; connection?: Connection | ConnectionOptions | string; }; export interface ScyllaOptionsFactory { createScyllaOptions(): Promise | ScyllaModuleOptions; } export interface ScyllaModuleAsyncOptions extends Pick { name?: string; inject?: any[]; isGlobal?: boolean; useClass?: Type; useExisting?: Type; useFactory?: (...args: any[]) => Promise | ScyllaModuleOptions; }