import { type KeyOp } from "../../common/backend.js"; import type { RedisConfig } from "../types.js"; /** * Redis interface supporting both direct eval and cached command wrappers. * @see ../scripts.ts for Lua script definitions */ interface RedisWithCommands { eval(script: string, numKeys: number, ...args: (string | number)[]): Promise; /** Cached command wrapper for IS_LOCKED_SCRIPT (ioredis defineCommand) */ checkLock?(lockKey: string, keyPrefix: string, toleranceMs: string, enableCleanup: string): Promise; } /** * Creates isLocked operation using Lua script for atomicity. * Script checks expiration and optionally cleans up with safety guard. * @see ../scripts.ts for IS_LOCKED_SCRIPT implementation */ export declare function createIsLockedOperation(redis: RedisWithCommands, config: RedisConfig): (opts: KeyOp) => Promise; export {};