import { type ExtendResult, type LockOp } from "../../common/backend.js"; import type { RedisConfig } from "../types.js"; /** Redis client with eval and optional cached extendLock method */ interface RedisWithCommands { eval(script: string, numKeys: number, ...args: (string | number)[]): Promise; extendLock?(lockIdKey: string, lockId: string, toleranceMs: string, ttlMs: string): Promise<[number, number] | number>; } /** * Creates extend operation that atomically renews lock TTL (replaces entirely, not additive). * @see docs/specs/redis-backend.md */ export declare function createExtendOperation(redis: RedisWithCommands, config: RedisConfig): (opts: LockOp & { ttlMs: number; }) => Promise; export {};