import { IndexEntry, type ListResult, type LookupResult } from './config.ts'; import { IndexCacheStore } from './store.ts'; interface RedisPipeline { set: (key: string, value: string) => RedisPipeline; del: (key: string) => RedisPipeline; rPush: (key: string, values: string[]) => RedisPipeline; expire: (key: string, seconds: number) => RedisPipeline; exec: () => Promise; } export interface RedisClientLike { connect: () => Promise; get: (key: string) => Promise; set: (key: string, value: string) => Promise; exists: (key: string) => Promise; ttl: (key: string) => Promise; lRange: (key: string, start: number, stop: number) => Promise; del: (key: string | string[]) => Promise; multi: () => RedisPipeline; scanIterator: (options: { MATCH: string; }) => AsyncIterable; isOpen: boolean; quit: () => Promise; } export interface RedisIndexCacheOptions { ttl?: number; url?: string; client?: RedisClientLike; keyPrefix?: string; } export declare class RedisIndexCacheStore extends IndexCacheStore { private readonly ttl; private readonly url; private readonly providedClient; private readonly entryPrefix; private readonly childrenPrefix; private clientPromise; constructor(options?: RedisIndexCacheOptions); private entryKey; private childrenKey; private client; get(resourcePath: string): Promise; put(resourcePath: string, entry: IndexEntry): Promise; listDir(resourcePath: string): Promise; setDir(resourcePath: string, entries: readonly [string, IndexEntry][], expiredAt?: Date | null): Promise; invalidateDir(resourcePath: string): Promise; private scanDelete; invalidatePrefix(resourcePath: string): Promise; invalidate(): Promise; clear(): Promise; close(): Promise; private serialize; } export {}; //# sourceMappingURL=redis.d.ts.map