import { LocalCacheService } from "./local.cache.service"; import { MetricsService } from "../metrics/metrics.service"; import { CachingModuleOptions } from "./entities/caching.module.options"; export declare class CachingService { private readonly options; private readonly localCacheService; private readonly metricsService; protected client: import("redis").RedisClient; private asyncSet; private asyncGet; private asyncIncr; private asyncExpire; private asyncFlushDb; private asyncMGet; private asyncSAdd; private asyncSCard; private asyncMulti; private asyncDel; private asyncKeys; private readonly logger; constructor(options: CachingModuleOptions, localCacheService: LocalCacheService, metricsService: MetricsService); getKeys(key: string | undefined): Promise; incrementRemote(key: string): Promise; setTtlRemote(key: string, ttl: number): Promise; setCacheRemote(key: string, value: T, ttl?: number): Promise; pendingPromises: { [key: string]: Promise; }; private executeWithPendingPromise; getCacheRemote(key: string): Promise; setCacheLocal(key: string, value: T, ttl?: number): Promise; getCacheLocal(key: string): Promise; refreshCacheLocal(key: string, ttl?: number): Promise; getCache(key: string): Promise; setCache(key: string, value: T, ttl?: number): Promise; batchProcess(payload: IN[], cacheKeyFunction: (element: IN) => string, handler: (generator: IN) => Promise, ttl?: number, skipCache?: boolean): Promise; batchProcessChunk(payload: IN[], cacheKeyFunction: (element: IN) => string, handler: (generator: IN) => Promise, ttl?: number, skipCache?: boolean): Promise; private spreadTtl; batchSetCache(keys: string[], values: any[], ttls: number[], setLocalCache?: boolean, spreadTtl?: boolean): Promise; batchDelCache(keys: string[]): Promise; setAdd(key: string, ...values: string[]): Promise; setCount(key: string): Promise; batchGetCacheRemote(keys: string[]): Promise; batchApplyAll(elements: TIN[], cacheKeyFunc: (element: TIN) => string, getter: (element: TIN) => Promise, setter: (element: TIN, value: TOUT) => void, ttl: number, chunkSize?: number): Promise; batchApply(elements: TIN[], cacheKeyFunc: (element: TIN) => string, getter: (elements: TIN[]) => Promise<{ [key: string]: TOUT; }>, setter: (element: TIN, value: TOUT) => void, ttl: number, chunkSize?: number): Promise; batchGetAll(elements: TIN[], cacheKeyFunc: (element: TIN) => string, getter: (element: TIN) => Promise, ttl: number, chunkSize?: number): Promise<{ [key: string]: TOUT; }>; batchGet(elements: TIN[], cacheKeyFunc: (element: TIN) => string, getter: (elements: TIN[]) => Promise<{ [key: string]: TOUT; }>, ttl: number, chunkSize?: number): Promise<{ [key: string]: TOUT; }>; getOrSetCache(key: string, promise: () => Promise, remoteTtl?: number, localTtl?: number | undefined, forceRefresh?: boolean): Promise; deleteInCacheLocal(key: string): Promise; deleteInCache(key: string): Promise; flushDb(): Promise; private getCacheTtl; }