import type { Redis } from "ioredis"; import type { AcquisitionOptions, LockConfig } from "../common/types.js"; import type { RedisBackendOptions } from "./types.js"; /** * Creates distributed lock with Redis backend via ioredis client * @param redis - ioredis client instance * @param options - Retry, TTL, and key prefix config * @returns Auto-managed lock function (see: common/auto-lock.ts) */ export declare function createLock(redis: Redis, options?: RedisBackendOptions): (fn: () => Promise | T, config: LockConfig & { acquisition?: AcquisitionOptions; }) => Promise; export { createRedisBackend } from "./backend.js"; export type { LockData, RedisBackendOptions, RedisConfig } from "./types.js";