import type { RDAPResponse } from '../../shared/types'; import type { ICache } from './CacheManager'; export interface RedisClientLike { get(key: string): Promise; set(key: string, value: string, options?: { EX?: number; PX?: number; }): Promise; del(...keys: string[]): Promise; exists(...keys: string[]): Promise; keys(pattern: string): Promise; scan?(cursor: string, matchOption: 'MATCH', pattern: string, countOption: 'COUNT', count: number): Promise<[string, string[]]>; } export interface RedisCacheOptions { keyPrefix?: string; keyMaxLength?: number; } export declare class RedisCache implements ICache { private readonly client; private readonly keyPrefix; private readonly keyMaxLength; constructor(client: RedisClientLike, options?: RedisCacheOptions); private prefixed; private static sha256Hex; private patternAll; private scanAll; get(key: string): Promise; set(key: string, value: RDAPResponse, ttl?: number): Promise; delete(key: string): Promise; clear(): Promise; has(key: string): Promise; size(): Promise; getMany(keys: string[]): Promise<(RDAPResponse | null)[]>; setMany(entries: Array<{ key: string; value: RDAPResponse; ttl?: number; }>): Promise; getStats(): Promise<{ keyPrefix: string; size: number; keyMaxLength: number; }>; } //# sourceMappingURL=RedisCache.d.ts.map