import { isRedisConfigured, type RedisClientManager, type RedisClientOptions } from "./redis-client-manager.js"; import { type CacheBackend, type RevisionedCacheBackend } from "veryfront/extensions/distributed/cache-support"; export declare const REDIS_LOGICAL_DELETE_SCRIPT: string; /** Test whether a physical Redis key is the protected namespace counter. */ export declare function isRedisAtomicCounterKey(key: unknown): key is string; export interface RedisCacheBackendOptions { clientManager?: RedisClientManager; clientOptions?: RedisClientOptions; } export { isRedisConfigured }; export declare class RedisCacheBackend implements CacheBackend { /** * Reports `"redis"`, which is the stable cache backend type for Redis-backed * implementations. If you branch on this value, read `"redis"`. */ readonly type: "redis"; getWithRevision?: RevisionedCacheBackend["getWithRevision"]; compareExchange?: RevisionedCacheBackend["compareExchange"]; private readonly keyPrefix; private readonly atomicCounterKey; private readonly clientManager; private readonly clientOptions; constructor(keyPrefix?: string, options?: RedisCacheBackendOptions); private prefixKey; private resetAfterFailure; private clearRevisionCapability; private publishRevisionCapability; private probeRevisionCapability; private getClientForRead; private requireClient; initialize(): Promise; get(key: string): Promise; getWithinLimit(key: string, maximumBytes: number): Promise; private decodeOrdinaryRead; getRemainingTtlSeconds(key: string): Promise; getBatch(keys: string[]): Promise>; set(key: string, value: string, ttlSeconds?: any): Promise; setBatch(entries: Array<{ key: string; value: string; ttl?: number; }>): Promise; del(key: string): Promise; delByPattern(pattern: string): Promise; private assertDeleteCount; private requireRevisionedKey; private readWithRevision; private exchangeRevision; } //# sourceMappingURL=cache-backend.d.ts.map