import { StoreBaseAdapter } from './store.base.adapter'; import type { SetOptions } from '../store.types'; import { Redis, RedisOptions } from 'ioredis'; export interface RedisAdapterOptions { redis?: Redis; connectionUri?: string; options?: RedisOptions; } export declare class ScopedRedisStore extends StoreBaseAdapter { private readonly opts; private redis; private sub?; private externalInstance; constructor(opts?: RedisAdapterOptions); connect(): Promise; disconnect(): Promise; get(key: string): Promise; set(key: string, value: string, opts?: SetOptions): Promise; del(key: string): Promise; exists(key: string): Promise; mget(keys: string[]): Promise<(string | null)[]>; mset(entries: Array<{ key: string; value: string; opts?: SetOptions; }>): Promise; incr(key: string): Promise; decr(key: string): Promise; expire(key: string, ttlSeconds: number): Promise; ttl(key: string): Promise; publish(channel: string, message: string): Promise; subscribe(channel: string, handler: (message: string) => void): Promise<() => Promise>; }