import { DynamicModule } from '@nestjs/common'; import { CacheModuleAsyncOptions, CacheModuleOptions } from './cache-module-options.interface'; import { CacheModuleClass } from './cache.module-definition'; /** * CacheModule * * Responsible for configuring and managing the application's caching mechanisms. * This module integrates Redis caching via Keyv and provides a global cache service * to facilitate efficient cache operations throughout the app. * * It extends CacheModuleClass to support synchronous and asynchronous configuration, * exposing static methods to initialize the module with different options. */ export declare class CacheModule extends CacheModuleClass { /** * Registers a namespaced cache feature provider. * * Use this method to define a specific cache namespace for a particular feature/module. * * @param {string} namespace - The namespace string to scope cache keys. * @returns {DynamicModule} A dynamic module providing the scoped namespace. */ static forFeature(namespace: string): DynamicModule; /** * Synchronously configures the CacheModule with provided options. * * Extends the base CacheModuleClass `forRoot` method by exporting the options token. * * @param {CacheModuleOptions} options - Configuration options for cache setup. * @returns {DynamicModule} Configured dynamic module. */ static forRoot(options: CacheModuleOptions): DynamicModule; /** * Asynchronously configures the CacheModule using a factory function. * * Allows loading configuration dynamically, supporting injection of dependencies. * * @param {CacheModuleAsyncOptions} asyncOptions - Async configuration options including factory and dependencies. * @returns {DynamicModule} Configured dynamic module. */ static forRootAsync(asyncOptions: CacheModuleAsyncOptions): DynamicModule; }