export declare function WhenTrueAsync(func: () => boolean, maxLockTime?: number): Promise<void>;
export declare class MutexLock {
    private maxLockTime?;
    private locked;
    private lastCalled;
    constructor(maxLockTime?: number);
    get isLocked(): boolean;
    WhenTrueAsync(func: () => boolean): Promise<void>;
    WaitTillUnlocked(): Promise<void>;
    LockAreaAsync(func: () => Promise<void>): Promise<void>;
    BeginLock(): Promise<void>;
    EndLock(): Promise<void>;
}
