import { ModuleMetadata, Provider, Type } from '../../interfaces'; import { CacheManagerOptions } from './cache-manager.interface'; export interface CacheModuleOptions extends CacheManagerOptions { [key: string]: any; } export interface CacheOptionsFactory { createCacheOptions(): Promise | CacheModuleOptions; } export interface CacheModuleAsyncOptions extends Pick { useExisting?: Type; useClass?: Type; useFactory?: (...args: any[]) => Promise | CacheModuleOptions; inject?: any[]; extraProviders?: Provider[]; }