declare namespace ObjC{ namespace classes{ export class NSLock extends NSObject{ tryLock():number; lockBeforeDate_(limit:NSDate|NativePointer):number; name():NSString; setName_(name:NSString|NativePointer):any; } export class NSConditionLock extends NSObject{ initWithCondition_(condition:number|NativePointer):NSConditionLock; lockWhenCondition_(condition:number|NativePointer):any; tryLock():number; tryLockWhenCondition_(condition:number|NativePointer):number; unlockWithCondition_(condition:number|NativePointer):any; lockBeforeDate_(limit:NSDate|NativePointer):number; lockWhenCondition_beforeDate_(condition:number|NativePointer,limit:NSDate|NativePointer):number; condition():number; name():NSString; setName_(name:NSString|NativePointer):any; } export class NSCondition extends NSObject{ wait():any; waitUntilDate_(limit:NSDate|NativePointer):number; signal():any; broadcast():any; name():NSString; setName_(name:NSString|NativePointer):any; } export class NSRecursiveLock extends NSObject{ tryLock():number; lockBeforeDate_(limit:NSDate|NativePointer):number; name():NSString; setName_(name:NSString|NativePointer):any; } } }