import { R as RedisClientLike } from './store-BZNM-FbH.cjs'; export { a as RedisMultiLike, b as RedisStore, c as RedisStoreOptions } from './store-BZNM-FbH.cjs'; import './types-DKirIBQt.cjs'; /** The slice of `@upstash/redis` ThrottleKit uses. `Redis` from `@upstash/redis` satisfies it. */ interface UpstashRedisLike { evalsha(sha: string, keys: string[], args: unknown[]): Promise; eval(script: string, keys: string[], args: unknown[]): Promise; get(key: string): Promise; del(...keys: string[]): Promise; } /** * Adapt an `@upstash/redis` REST client. Built-in strategies (all Lua-backed) work fully. Custom * strategies that need optimistic concurrency can't run on the REST API — there is no interactive * `WATCH`/`MULTI` — so those methods throw a clear error rather than corrupt state silently. */ declare function fromUpstash(client: UpstashRedisLike): RedisClientLike; /** The subset of a node-redis `MULTI` chain ThrottleKit uses. */ interface NodeRedisMultiLike { set(key: string, value: string, options: { PX: number; }): NodeRedisMultiLike; exec(): Promise; } /** The slice of node-redis (`redis`) ThrottleKit uses. A `RedisClientType` satisfies it. */ interface NodeRedisLike { evalSha(sha: string, options: { keys: string[]; arguments: string[]; }): Promise; eval(script: string, options: { keys: string[]; arguments: string[]; }): Promise; get(key: string): Promise; del(keys: string | string[]): Promise; watch(keys: string | string[]): Promise; unwatch(): Promise; multi(): NodeRedisMultiLike; /** Open a fresh, unconnected sibling connection (must `connect()` before use). */ duplicate(): NodeRedisLike; /** Open the underlying socket; resolves when ready. */ connect(): Promise; /** Close the connection. */ quit(): Promise; } /** Adapt the official node-redis (`redis`) client. Both the Lua and OCC paths work. */ declare function fromNodeRedis(client: NodeRedisLike): RedisClientLike; /** * Identity adapter for `ioredis`. `ioredis` already matches {@link RedisClientLike}, so this is * only here so all three clients read uniformly in docs/examples; you can also pass `ioredis` * straight to `new RedisStore({ client })`. */ declare function fromIoredis(client: RedisClientLike): RedisClientLike; export { type NodeRedisLike, type NodeRedisMultiLike, RedisClientLike, type UpstashRedisLike, fromIoredis, fromNodeRedis, fromUpstash };