declare module 'redis-lock' {
	import { promisify } from 'util';
	import { Redis } from 'ioredis';
	export type unlockFunction = (done?: () => void) => void;
	interface lockFactory {
		(lockName: string, timeout: number, taskToPerform: (unlock: unlockFunction) => void): void;
		[promisify.custom](lockName: string, timeout: number): Promise<unlockFunction>;
	}
	function lock (client: Redis, retryDelay: number): lockFactory;
	export default lock;
}
