import type { ILockAdapter, LockOptions, LockResult } from './types.js';
/**
 * In-memory lock adapter implementation
 */
export declare class MemoryLockAdapter implements ILockAdapter {
    private locks;
    private cleanupTimer;
    constructor();
    /**
     * Attempt to acquire a lock
     */
    acquire(key: string, options?: LockOptions): Promise<LockResult>;
    /**
     * Release a lock
     */
    release(key: string, lockId: string): Promise<boolean>;
    /**
     * Extend a lock's TTL
     */
    extend(key: string, lockId: string, additionalMs: number): Promise<boolean>;
    /**
     * Check if a lock is held (for debugging/monitoring)
     */
    isLocked(key: string): boolean;
    /**
     * Get the number of active locks (for monitoring)
     */
    get activeCount(): number;
    /**
     * Stop the background cleanup timer
     */
    stop(): void;
    /**
     * Start background cleanup of expired locks
     */
    private startCleanup;
    /**
     * Remove expired locks
     */
    private cleanupExpired;
    /**
     * Sleep helper for retry delays
     */
    private sleep;
}
/**
 * Get the default memory lock adapter instance
 */
export declare function getMemoryLockAdapter(): ILockAdapter;
/**
 * Create a new memory lock adapter instance (for testing)
 */
export declare function createMemoryLockAdapter(): MemoryLockAdapter;
/**
 * Reset the default instance (for testing)
 */
export declare function resetMemoryLockAdapter(): void;
//# sourceMappingURL=memory-lock.d.ts.map