import { LocalLockItem, LockItemInfo, LockKey, MutexStackItem } from './interfaces'; import { MutexError } from './MutexError'; export declare function randomHash(): string; export declare function isChildOf(key: string, parentKey: string): boolean; export declare function singleKeysRelatedMatch(key1: string, key2: string): boolean; export declare function keysRelatedMatch(key1: string[], key2: string[]): boolean; export declare function sanitizeLock(input: any): LocalLockItem; export declare function parseSingleLockKey(key: string): string; export declare function parseLockKey(key: LockKey): string[]; export declare function prettyPrintLock(inputLock: LockItemInfo | MutexStackItem, spaces?: number, printTree?: boolean): void; export declare function prettyPrintError(e: MutexError): void; export declare function getLockInfo(queue: LocalLockItem[], hash: string): any; export declare function searchBlockers(item: MutexStackItem, queue: MutexStackItem[], acc?: any[]): any[]; export declare function searchKiller(myStackItem: MutexStackItem, queue: MutexStackItem[]): any; export interface DeadEndRetrierOptions { attemps: number; delay: number; cleanupCallback?: (e: MutexError) => void; } export declare const deadEndRetrierDefaultOptions: DeadEndRetrierOptions; export declare function deadEndRetrier(handler: () => Promise, options?: Partial): Promise;