import type { _NSDate } from "./NSDate.js";
import type { _NSLocking } from "./NSLocking.js";
import type { _NSObject } from "./NSObject.js";
import type { _NSString } from "./NSString.js";
export declare class _NSConditionLock extends _NSObject {
    static alloc(): _NSConditionLock;
    static new(): _NSConditionLock;
    init(): _NSConditionLock;
    initWithCondition$(condition: number): _NSConditionLock;
    lockWhenCondition$(condition: number): void;
    tryLock(): boolean;
    tryLockWhenCondition$(condition: number): boolean;
    unlockWithCondition$(condition: number): void;
    lockBeforeDate$(limit: _NSDate): boolean;
    lockWhenCondition$beforeDate$(condition: number, limit: _NSDate): boolean;
    condition(): number;
    name(): _NSString | null;
    setName$(value: _NSString | null): void;
}
export interface _NSConditionLock extends _NSLocking {
}
