declare namespace ObjC{ namespace classes{ export class NSURLProtocol extends NSObject{ initWithRequest_cachedResponse_client_(request:NSURLRequest|NativePointer,cachedResponse:NSCachedURLResponse|NativePointer,client:NativePointer|NativePointer):NSURLProtocol; static canInitWithRequest_(request:NSURLRequest|NativePointer):number; static canonicalRequestForRequest_(request:NSURLRequest|NativePointer):NSURLRequest; static requestIsCacheEquivalent_toRequest_(a:NSURLRequest|NativePointer,b:NSURLRequest|NativePointer):number; startLoading():any; stopLoading():any; static propertyForKey_inRequest_(key:NSString|NativePointer,request:NSURLRequest|NativePointer):NSObject; static setProperty_forKey_inRequest_(value:NSObject|NativePointer,key:NSString|NativePointer,request:NSMutableURLRequest|NativePointer):any; static removePropertyForKey_inRequest_(key:NSString|NativePointer,request:NSMutableURLRequest|NativePointer):any; static registerClass_(protocolClass:ObjC.Object|NativePointer):number; static unregisterClass_(protocolClass:ObjC.Object|NativePointer):any; client():NativePointer; request():NSURLRequest; cachedResponse():NSCachedURLResponse; static canInitWithTask_(task:NSURLSessionTask|NativePointer):number; initWithTask_cachedResponse_client_(task:NSURLSessionTask|NativePointer,cachedResponse:NSCachedURLResponse|NativePointer,client:NativePointer|NativePointer):NSURLProtocol; task():NSURLSessionTask; } } }