import { GlobalConfig } from '@n8n/config'; import type { MaybeHash, Hash } from '../../services/cache/cache.types'; import { TypedEmitter } from '../../typed-emitter'; type CacheEvents = { 'metrics.cache.hit': never; 'metrics.cache.miss': never; 'metrics.cache.update': never; }; export declare class CacheService extends TypedEmitter { private readonly globalConfig; constructor(globalConfig: GlobalConfig); private cache; init(): Promise; reset(): Promise; isRedis(): boolean; isMemory(): boolean; exists(key: string): Promise; set(key: string, value: unknown, ttl?: number): Promise; setMany(keysValues: Array<[key: string, value: unknown]>, ttl?: number): Promise; setHash(key: string, hash: Hash): Promise; expire(key: string, ttlMs: number): Promise; get(key: string, { fallbackValue, refreshFn, }?: { fallbackValue?: T; refreshFn?: (key: string) => Promise; }): Promise; getHash(key: string, { fallbackValue, refreshFn, }?: { fallbackValue?: T; refreshFn?: (key: string) => Promise>; }): Promise>; getHashValue(cacheKey: string, hashKey: string, { fallbackValue, refreshFn, }?: { fallbackValue?: T; refreshFn?: (key: string) => Promise; }): Promise; delete(key: string): Promise; deleteMany(keys: string[]): Promise; deleteFromHash(cacheKey: string, hashKey: string): Promise; private isAValidCacheHit; private doesRedisKeyExist; } export {};