import Redis from "ioredis"; import { OperationRegistry } from "../race"; import { CacheStats } from "../metrics/types"; import { logHandle } from "../logging"; import { ICacheStorage } from "../storage/storage-interface"; import { ICacheController, Operations } from "./controller-interface"; export declare class RedisCacheController implements ICacheController { private streamId; private pub; private sub; private combinedStats; private storage; private closing; private log; private operationRegistries; private unlocks; constructor({ streamId, redis, check, storage, log, }: { streamId: string; redis: Redis; check: () => boolean; storage?: ICacheStorage; log?: logHandle; }); evictCacheKey(key: string): Promise; storeCacheKey(key: string, ttlMilliseconds: number, value: any): Promise; sendCacheStats(requester: string): Promise; requestCacheStats(timeoutMs?: number): Promise>; listenForMessage(repeat: () => boolean): Promise; processMessage(message: Operations): Promise; requestCacheKeyEviction(key: string): Promise; broadcastCacheKey(key: string, ttlMilliseconds: number, value: Awaited): Promise; requestOperationStart(operation: string, key: string): Promise; requestOperationEnd(operation: string, key: string, data: any, error: boolean, unlock: Promise): Promise; lock(key: string, lockTtlMs: number): Promise<{ lockResult: boolean; unlockFunction: Promise | null; }>; unlock(key: string): Promise; setRegistry(operation: string, operationRegistry: OperationRegistry): void; getOperationPromise(operation: string, key: string): Promise | undefined; close(): Promise; } //# sourceMappingURL=redis-cache-controller.d.ts.map