/**
 * Lock Provider Implementation
 * Provides distributed lock management for job deduplication
 */
import type { LockProvider, LockProviderConfig } from '../../types/Queue';
/**
 * Close Redis connection and cleanup resources
 */
export declare function closeLockProvider(): Promise<void>;
/**
 * Redis-based Lock Provider Implementation
 */
export declare function createRedisLockProvider(config: LockProviderConfig): LockProvider;
export declare function createMemoryLockProvider(config: LockProviderConfig): LockProvider;
export declare function registerLockProvider(name: string, provider: LockProvider): void;
export declare function getLockProvider(name: string): LockProvider | undefined;
/**
 * Clear all registered lock providers (for testing purposes)
 * @internal
 */
export declare function clearLockProviders(): void;
/**
 * Create lock provider based on configuration
 */
export declare function createLockProvider(config: LockProviderConfig): LockProvider;
//# sourceMappingURL=LockProvider.d.ts.map