// Automatically generated by clay-bindgen
// language: objective-c

import cocoa.objc.*;

import libc.*;
import cocoa.corefoundation.*;
import cocoa.applicationservices.*;

private alias OpaquePointer = RawPointer;
private alias UnknownType = Int;
private alias AUnionType = Int;


overload selector(static #"AMSymbol") = NSString;
overload selector(static #"HTTPBody") = NSData;
overload selector(static #"HTTPBodyStream") = NSInputStream;
overload selector(static #"HTTPMethod") = NSString;
overload selector(static #"HTTPShouldHandleCookies") = Bool;
overload selector(static #"HTTPShouldUsePipelining") = Bool;
overload selector(static #"ISOCountryCodes") = NSArray;
overload selector(static #"ISOCurrencyCodes") = NSArray;
overload selector(static #"ISOLanguageCodes") = NSArray;
overload selector(static #"MIMEType") = NSString;
overload selector(static #"PMSymbol") = NSString;
overload selector(static #"TXTRecordData") = NSData;
overload selector(static #"URL") = NSURL;
overload selector(static #"URLByAppendingPathComponent:") = NSURL, NSString;
overload selector(static #"URLByAppendingPathExtension:") = NSURL, NSString;
overload selector(static #"URLByDeletingLastPathComponent") = NSURL;
overload selector(static #"URLByDeletingPathExtension") = NSURL;
overload selector(static #"URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:") = Id, NSData, UInt, NSURL, Pointer[Bool], Pointer[NSError];
overload selector(static #"URLByResolvingSymlinksInPath") = NSURL;
overload selector(static #"URLByStandardizingPath") = NSURL;
overload selector(static #"URLForAuxiliaryExecutable:") = NSURL, NSString;
overload selector(static #"URLForDirectory:inDomain:appropriateForURL:create:error:") = NSURL, UInt, UInt, NSURL, Bool, Pointer[NSError];
overload selector(static #"URLForKey:") = NSURL, NSString;
overload selector(static #"URLForResource:withExtension:") = NSURL, NSString, NSString;
overload selector(static #"URLForResource:withExtension:subdirectory:") = NSURL, NSString, NSString, NSString;
overload selector(static #"URLForResource:withExtension:subdirectory:inBundleWithURL:") = NSURL, NSString, NSString, NSString, NSURL;
overload selector(static #"URLForResource:withExtension:subdirectory:localization:") = NSURL, NSString, NSString, NSString, NSString;
overload selector(static #"URLProtocol:cachedResponseIsValid:") = Void, NSURLProtocol, NSCachedURLResponse;
overload selector(static #"URLProtocol:didCancelAuthenticationChallenge:") = Void, NSURLProtocol, NSURLAuthenticationChallenge;
overload selector(static #"URLProtocol:didFailWithError:") = Void, NSURLProtocol, NSError;
overload selector(static #"URLProtocol:didLoadData:") = Void, NSURLProtocol, NSData;
overload selector(static #"URLProtocol:didReceiveAuthenticationChallenge:") = Void, NSURLProtocol, NSURLAuthenticationChallenge;
overload selector(static #"URLProtocol:didReceiveResponse:cacheStoragePolicy:") = Void, NSURLProtocol, NSURLResponse, UInt;
overload selector(static #"URLProtocol:wasRedirectedToRequest:redirectResponse:") = Void, NSURLProtocol, NSURLRequest, NSURLResponse;
overload selector(static #"URLProtocolDidFinishLoading:") = Void, NSURLProtocol;
overload selector(static #"URLWithString:") = Id, NSString;
overload selector(static #"URLWithString:relativeToURL:") = Id, NSString, NSURL;
overload selector(static #"URLsForDirectory:inDomains:") = NSArray, UInt, UInt;
overload selector(static #"URLsForResourcesWithExtension:subdirectory:") = NSArray, NSString, NSString;
overload selector(static #"URLsForResourcesWithExtension:subdirectory:inBundleWithURL:") = NSArray, NSString, NSString, NSURL;
overload selector(static #"URLsForResourcesWithExtension:subdirectory:localization:") = NSArray, NSString, NSString, NSString;
overload selector(static #"UTF8String") = Pointer[CChar];
overload selector(static #"abbreviation") = NSString;
overload selector(static #"abbreviationDictionary") = NSDictionary;
overload selector(static #"abbreviationForDate:") = NSString, NSDate;
overload selector(static #"abortParsing") = Void;
overload selector(static #"absoluteString") = NSString;
overload selector(static #"absoluteURL") = NSURL;
overload selector(static #"acceptConnectionInBackgroundAndNotify") = Void;
overload selector(static #"acceptConnectionInBackgroundAndNotifyForModes:") = Void, NSArray;
overload selector(static #"acceptInputForMode:beforeDate:") = Void, NSString, NSDate;
overload selector(static #"accessInstanceVariablesDirectly") = Bool;
overload selector(static #"activeProcessorCount") = UInt;
overload selector(static #"addAttribute:value:range:") = Void, NSString, Id, NSRange;
overload selector(static #"addAttributes:range:") = Void, NSDictionary, NSRange;
overload selector(static #"addCharactersInRange:") = Void, NSRange;
overload selector(static #"addCharactersInString:") = Void, NSString;
overload selector(static #"addDependency:") = Void, NSOperation;
overload selector(static #"addEntriesFromDictionary:") = Void, NSDictionary;
overload selector(static #"addExecutionBlock:") = Void, UnknownType;
overload selector(static #"addFileWithPath:") = NSString, NSString;
overload selector(static #"addFileWrapper:") = NSString, NSFileWrapper;
overload selector(static #"addIndex:") = Void, UInt;
overload selector(static #"addIndexes:") = Void, NSIndexSet;
overload selector(static #"addIndexesInRange:") = Void, NSRange;
overload selector(static #"addObject:") = Void, Id;
overload selector(static #"addObjectsFromArray:") = Void, NSArray;
overload selector(static #"addObserver:forKeyPath:options:context:") = Void, NSObject, NSString, UInt, RawPointer;
overload selector(static #"addObserver:selector:name:object:") = Void, Id, SelectorHandle, NSString, Id;
overload selector(static #"addObserver:toObjectsAtIndexes:forKeyPath:options:context:") = Void, NSObject, NSIndexSet, NSString, UInt, RawPointer;
overload selector(static #"addObserverForName:object:queue:usingBlock:") = Id, NSString, Id, NSOperationQueue, UnknownType;
overload selector(static #"addOperation:") = Void, NSOperation;
overload selector(static #"addOperationWithBlock:") = Void, UnknownType;
overload selector(static #"addOperations:waitUntilFinished:") = Void, NSArray, Bool;
overload selector(static #"addPort:forMode:") = Void, NSPort, NSString;
overload selector(static #"addRegularFileWithContents:preferredFilename:") = NSString, NSData, NSString;
overload selector(static #"addSuiteNamed:") = Void, NSString;
overload selector(static #"addSymbolicLinkWithDestination:preferredFilename:") = NSString, NSString, NSString;
overload selector(static #"addTimeInterval:") = Id, Double;
overload selector(static #"addTimer:forMode:") = Void, NSTimer, NSString;
overload selector(static #"addValue:forHTTPHeaderField:") = Void, NSString, NSString;
overload selector(static #"addressCheckingResultWithRange:components:") = NSTextCheckingResult, NSRange, NSDictionary;
overload selector(static #"addressComponents") = NSDictionary;
overload selector(static #"addresses") = NSArray;
overload selector(static #"allBundles") = NSArray;
overload selector(static #"allCredentials") = NSDictionary;
overload selector(static #"allFrameworks") = NSArray;
overload selector(static #"allHTTPHeaderFields") = NSDictionary;
overload selector(static #"allHeaderFields") = NSDictionary;
overload selector(static #"allKeys") = NSArray;
overload selector(static #"allKeysForObject:") = NSArray, Id;
overload selector(static #"allLanguages") = NSArray;
overload selector(static #"allObjects") = NSArray;
overload selector(static #"allScripts") = NSArray;
overload selector(static #"allValues") = NSArray;
overload selector(static #"alloc") = Id;
overload selector(static #"allocWithZone:") = Id, Pointer[NSZone];
overload selector(static #"allowsFloats") = Bool;
overload selector(static #"allowsKeyedCoding") = Bool;
overload selector(static #"allowsReverseTransformation") = Bool;
overload selector(static #"alphanumericCharacterSet") = Id;
overload selector(static #"alwaysShowsDecimalSeparator") = Bool;
overload selector(static #"andPredicateWithSubpredicates:") = NSPredicate, NSArray;
overload selector(static #"anyObject") = Id;
overload selector(static #"appendAttributedString:") = Void, NSAttributedString;
overload selector(static #"appendBytes:length:") = Void, RawPointer, UInt;
overload selector(static #"appendData:") = Void, NSData;
overload varargSelector(static #"appendFormat:") = Void, NSString;
overload selector(static #"appendString:") = Void, NSString;
overload selector(static #"archiveRootObject:toFile:") = Bool, Id, NSString;
overload selector(static #"archivedDataWithRootObject:") = NSData, Id;
overload selector(static #"archiver:didEncodeObject:") = Void, NSKeyedArchiver, Id;
overload selector(static #"archiver:willEncodeObject:") = Id, NSKeyedArchiver, Id;
overload selector(static #"archiver:willReplaceObject:withObject:") = Void, NSKeyedArchiver, Id, Id;
overload selector(static #"archiverDidFinish:") = Void, NSKeyedArchiver;
overload selector(static #"archiverWillFinish:") = Void, NSKeyedArchiver;
overload selector(static #"arguments") = NSArray;
overload selector(static #"argumentsRetained") = Bool;
overload selector(static #"array") = Id;
overload selector(static #"arrayByAddingObject:") = NSArray, Id;
overload selector(static #"arrayByAddingObjectsFromArray:") = NSArray, NSArray;
overload selector(static #"arrayForKey:") = NSArray, NSString;
overload selector(static #"arrayWithArray:") = Id, NSArray;
overload selector(static #"arrayWithCapacity:") = Id, UInt;
overload selector(static #"arrayWithContentsOfFile:") = Id, NSString;
overload selector(static #"arrayWithContentsOfURL:") = Id, NSURL;
overload selector(static #"arrayWithObject:") = Id, Id;
overload varargSelector(static #"arrayWithObjects:") = Id, Id;
overload selector(static #"arrayWithObjects:count:") = Id, Pointer[Id], UInt;
overload selector(static #"ascending") = Bool;
overload selector(static #"attemptRecoveryFromError:optionIndex:") = Bool, NSError, UInt;
overload selector(static #"attemptRecoveryFromError:optionIndex:delegate:didRecoverSelector:contextInfo:") = Void, NSError, UInt, Id, SelectorHandle, RawPointer;
overload selector(static #"attribute:atIndex:effectiveRange:") = Id, NSString, UInt, NSRangePointer;
overload selector(static #"attribute:atIndex:longestEffectiveRange:inRange:") = Id, NSString, UInt, NSRangePointer, NSRange;
overload selector(static #"attributedStringForObjectValue:withDefaultAttributes:") = NSAttributedString, Id, NSDictionary;
overload selector(static #"attributedSubstringFromRange:") = NSAttributedString, NSRange;
overload selector(static #"attributesAtIndex:effectiveRange:") = NSDictionary, UInt, NSRangePointer;
overload selector(static #"attributesAtIndex:longestEffectiveRange:inRange:") = NSDictionary, UInt, NSRangePointer, NSRange;
overload selector(static #"attributesOfFileSystemForPath:error:") = NSDictionary, NSString, Pointer[NSError];
overload selector(static #"attributesOfItemAtPath:error:") = NSDictionary, NSString, Pointer[NSError];
overload selector(static #"authenticationMethod") = NSString;
overload selector(static #"autoContentAccessingProxy") = Id;
overload selector(static #"automaticallyNotifiesObserversForKey:") = Bool, NSString;
overload selector(static #"autorelease") = Id;
overload selector(static #"autoupdatingCurrentCalendar") = Id;
overload selector(static #"autoupdatingCurrentLocale") = Id;
overload selector(static #"availableData") = NSData;
overload selector(static #"availableLocaleIdentifiers") = NSArray;
overload selector(static #"availableStringEncodings") = Pointer[UInt];
overload selector(static #"awakeAfterUsingCoder:") = Id, NSCoder;
overload selector(static #"baseURL") = NSURL;
overload selector(static #"beginContentAccess") = Bool;
overload selector(static #"beginEditing") = Void;
overload selector(static #"beginUndoGrouping") = Void;
overload selector(static #"bitmapRepresentation") = NSData;
overload selector(static #"blockOperationWithBlock:") = Id, UnknownType;
overload selector(static #"bookmarkDataWithContentsOfURL:error:") = NSData, NSURL, Pointer[NSError];
overload selector(static #"bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error:") = NSData, UInt, NSArray, NSURL, Pointer[NSError];
overload selector(static #"boolForKey:") = Bool, NSString;
overload selector(static #"boolValue") = Bool;
overload selector(static #"broadcast") = Void;
overload selector(static #"builtInPlugInsPath") = NSString;
overload selector(static #"builtInPlugInsURL") = NSURL;
overload selector(static #"bundleForClass:") = NSBundle, Id;
overload selector(static #"bundleIdentifier") = NSString;
overload selector(static #"bundlePath") = NSString;
overload selector(static #"bundleURL") = NSURL;
overload selector(static #"bundleWithIdentifier:") = NSBundle, NSString;
overload selector(static #"bundleWithPath:") = NSBundle, NSString;
overload selector(static #"bundleWithURL:") = NSBundle, NSURL;
overload selector(static #"bytes") = RawPointer;
overload selector(static #"cString") = Pointer[CChar];
overload selector(static #"cStringLength") = UInt;
overload selector(static #"cStringUsingEncoding:") = Pointer[CChar], UInt;
overload selector(static #"cache:willEvictObject:") = Void, NSCache, Id;
overload selector(static #"cachePolicy") = UInt;
overload selector(static #"cachedResponse") = NSCachedURLResponse;
overload selector(static #"cachedResponseForRequest:") = NSCachedURLResponse, NSURLRequest;
overload selector(static #"calendar") = NSCalendar;
overload selector(static #"calendarIdentifier") = NSString;
overload selector(static #"callStackReturnAddresses") = NSArray;
overload selector(static #"callStackSymbols") = NSArray;
overload selector(static #"canBeConvertedToEncoding:") = Bool, UInt;
overload selector(static #"canHandleRequest:") = Bool, NSURLRequest;
overload selector(static #"canInitWithRequest:") = Bool, NSURLRequest;
overload selector(static #"canRedo") = Bool;
overload selector(static #"canUndo") = Bool;
overload selector(static #"cancel") = Void;
overload selector(static #"cancelAllOperations") = Void;
overload selector(static #"cancelAuthenticationChallenge:") = Void, NSURLAuthenticationChallenge;
overload selector(static #"cancelPerformSelector:target:argument:") = Void, SelectorHandle, Id, Id;
overload selector(static #"cancelPerformSelectorsWithTarget:") = Void, Id;
overload selector(static #"cancelPreviousPerformRequestsWithTarget:") = Void, Id;
overload selector(static #"cancelPreviousPerformRequestsWithTarget:selector:object:") = Void, Id, SelectorHandle, Id;
overload selector(static #"canonicalLanguageIdentifierFromString:") = NSString, NSString;
overload selector(static #"canonicalLocaleIdentifierFromString:") = NSString, NSString;
overload selector(static #"canonicalRequestForRequest:") = NSURLRequest, NSURLRequest;
overload selector(static #"capitalizedLetterCharacterSet") = Id;
overload selector(static #"capitalizedString") = NSString;
overload selector(static #"caseInsensitiveCompare:") = Int, NSString;
overload selector(static #"caseSensitive") = Bool;
overload selector(static #"certificates") = NSArray;
overload selector(static #"changeCurrentDirectoryPath:") = Bool, NSString;
overload selector(static #"changeFileAttributes:atPath:") = Bool, NSDictionary, NSString;
overload selector(static #"charValue") = CChar;
overload selector(static #"characterAtIndex:") = UShort, UInt;
overload selector(static #"characterDirectionForLanguage:") = UInt, NSString;
overload selector(static #"characterIsMember:") = Bool, UShort;
overload selector(static #"characterSetWithBitmapRepresentation:") = Id, NSData;
overload selector(static #"characterSetWithCharactersInString:") = Id, NSString;
overload selector(static #"characterSetWithContentsOfFile:") = Id, NSString;
overload selector(static #"characterSetWithRange:") = Id, NSRange;
overload selector(static #"charactersToBeSkipped") = NSCharacterSet;
overload selector(static #"checkResourceIsReachableAndReturnError:") = Bool, Pointer[NSError];
overload selector(static #"checkingTypes") = UInt64;
overload selector(static #"class") = Id;
overload selector(static #"classFallbacksForKeyedArchiver") = NSArray;
overload selector(static #"classForClassName:") = Id, NSString;
overload selector(static #"classForCoder") = Id;
overload selector(static #"classForKeyedArchiver") = Id;
overload selector(static #"classForKeyedUnarchiver") = Id;
overload selector(static #"classNameForClass:") = NSString, Id;
overload selector(static #"classNamed:") = Id, NSString;
overload selector(static #"client") = Id;
overload selector(static #"close") = Void;
overload selector(static #"closeFile") = Void;
overload selector(static #"code") = Int;
overload selector(static #"collection") = Id;
overload selector(static #"columnNumber") = Int;
overload selector(static #"comment") = NSString;
overload selector(static #"commentURL") = NSURL;
overload selector(static #"commonISOCurrencyCodes") = NSArray;
overload selector(static #"commonPrefixWithString:options:") = NSString, NSString, UInt;
overload selector(static #"comparator") = NSComparator;
overload selector(static #"compare:") = Int, NSNumber;
overload selector(static #"compare:options:") = Int, NSString, UInt;
overload selector(static #"compare:options:range:") = Int, NSString, UInt, NSRange;
overload selector(static #"compare:options:range:locale:") = Int, NSString, UInt, NSRange, Id;
overload selector(static #"compareObject:toObject:") = Int, Id, Id;
overload selector(static #"comparisonPredicateModifier") = UInt;
overload selector(static #"completePathIntoString:caseSensitive:matchesIntoArray:filterTypes:") = UInt, Pointer[NSString], Bool, Pointer[NSArray], NSArray;
overload selector(static #"completionBlock") = UnknownType;
overload selector(static #"components") = NSDictionary;
overload selector(static #"components:fromDate:") = NSDateComponents, UInt, NSDate;
overload selector(static #"components:fromDate:toDate:options:") = NSDateComponents, UInt, NSDate, NSDate, UInt;
overload selector(static #"componentsFromLocaleIdentifier:") = NSDictionary, NSString;
overload selector(static #"componentsJoinedByString:") = NSString, NSString;
overload selector(static #"componentsSeparatedByCharactersInSet:") = NSArray, NSCharacterSet;
overload selector(static #"componentsSeparatedByString:") = NSArray, NSString;
overload selector(static #"componentsToDisplayForPath:") = NSArray, NSString;
overload selector(static #"compoundPredicateType") = UInt;
overload selector(static #"condition") = Int;
overload selector(static #"conformsToProtocol:") = Bool, Id;
overload selector(static #"connection:canAuthenticateAgainstProtectionSpace:") = Bool, NSURLConnection, NSURLProtectionSpace;
overload selector(static #"connection:didCancelAuthenticationChallenge:") = Void, NSURLConnection, NSURLAuthenticationChallenge;
overload selector(static #"connection:didFailWithError:") = Void, NSURLConnection, NSError;
overload selector(static #"connection:didReceiveAuthenticationChallenge:") = Void, NSURLConnection, NSURLAuthenticationChallenge;
overload selector(static #"connection:didReceiveData:") = Void, NSURLConnection, NSData;
overload selector(static #"connection:didReceiveResponse:") = Void, NSURLConnection, NSURLResponse;
overload selector(static #"connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:") = Void, NSURLConnection, Int, Int, Int;
overload selector(static #"connection:needNewBodyStream:") = NSInputStream, NSURLConnection, NSURLRequest;
overload selector(static #"connection:willCacheResponse:") = NSCachedURLResponse, NSURLConnection, NSCachedURLResponse;
overload selector(static #"connection:willSendRequest:redirectResponse:") = NSURLRequest, NSURLConnection, NSURLRequest, NSURLResponse;
overload selector(static #"connectionDidFinishLoading:") = Void, NSURLConnection;
overload selector(static #"connectionShouldUseCredentialStorage:") = Bool, NSURLConnection;
overload selector(static #"connectionWithRequest:delegate:") = NSURLConnection, NSURLRequest, Id;
overload selector(static #"constantValue") = Id;
overload selector(static #"containsIndex:") = Bool, UInt;
overload selector(static #"containsIndexes:") = Bool, NSIndexSet;
overload selector(static #"containsIndexesInRange:") = Bool, NSRange;
overload selector(static #"containsObject:") = Bool, Id;
overload selector(static #"containsValueForKey:") = Bool, NSString;
overload selector(static #"contentsAtPath:") = NSData, NSString;
overload selector(static #"contentsEqualAtPath:andPath:") = Bool, NSString, NSString;
overload selector(static #"contentsOfDirectoryAtPath:error:") = NSArray, NSString, Pointer[NSError];
overload selector(static #"contentsOfDirectoryAtURL:includingPropertiesForKeys:options:error:") = NSArray, NSURL, NSArray, UInt, Pointer[NSError];
overload selector(static #"continueWithoutCredentialForAuthenticationChallenge:") = Void, NSURLAuthenticationChallenge;
overload selector(static #"controlCharacterSet") = Id;
overload selector(static #"cookieAcceptPolicy") = UInt;
overload selector(static #"cookieWithProperties:") = Id, NSDictionary;
overload selector(static #"cookies") = NSArray;
overload selector(static #"cookiesForURL:") = NSArray, NSURL;
overload selector(static #"cookiesWithResponseHeaderFields:forURL:") = NSArray, NSDictionary, NSURL;
overload selector(static #"copy") = Id;
overload selector(static #"copyItemAtPath:toPath:error:") = Bool, NSString, NSString, Pointer[NSError];
overload selector(static #"copyItemAtURL:toURL:error:") = Bool, NSURL, NSURL, Pointer[NSError];
overload selector(static #"copyWithZone:") = Id, Pointer[NSZone];
overload selector(static #"correctionCheckingResultWithRange:replacementString:") = NSTextCheckingResult, NSRange, NSString;
overload selector(static #"count") = UInt;
overload selector(static #"countByEnumeratingWithState:objects:count:") = UInt, Pointer[NSFastEnumerationState], Pointer[Id], UInt;
overload selector(static #"countForObject:") = UInt, Id;
overload selector(static #"countLimit") = UInt;
overload selector(static #"countOfIndexesInRange:") = UInt, NSRange;
overload selector(static #"createDirectoryAtPath:attributes:") = Bool, NSString, NSDictionary;
overload selector(static #"createDirectoryAtPath:withIntermediateDirectories:attributes:error:") = Bool, NSString, Bool, NSDictionary, Pointer[NSError];
overload selector(static #"createFileAtPath:contents:attributes:") = Bool, NSString, NSData, NSDictionary;
overload selector(static #"createSymbolicLinkAtPath:pathContent:") = Bool, NSString, NSString;
overload selector(static #"createSymbolicLinkAtPath:withDestinationPath:error:") = Bool, NSString, NSString, Pointer[NSError];
overload selector(static #"credentialForTrust:") = NSURLCredential, SecTrustRef;
overload selector(static #"credentialWithIdentity:certificates:persistence:") = NSURLCredential, SecIdentityRef, NSArray, UInt;
overload selector(static #"credentialWithUser:password:persistence:") = NSURLCredential, NSString, NSString, UInt;
overload selector(static #"credentialsForProtectionSpace:") = NSDictionary, NSURLProtectionSpace;
overload selector(static #"currencyCode") = NSString;
overload selector(static #"currencyDecimalSeparator") = NSString;
overload selector(static #"currencyGroupingSeparator") = NSString;
overload selector(static #"currencySymbol") = NSString;
overload selector(static #"currentCalendar") = Id;
overload selector(static #"currentDirectoryPath") = NSString;
overload selector(static #"currentDiskUsage") = UInt;
overload selector(static #"currentHandler") = NSAssertionHandler;
overload selector(static #"currentLocale") = Id;
overload selector(static #"currentMemoryUsage") = UInt;
overload selector(static #"currentMode") = NSString;
overload selector(static #"currentQueue") = Id;
overload selector(static #"currentRunLoop") = NSRunLoop;
overload selector(static #"currentThread") = NSThread;
overload selector(static #"customSelector") = SelectorHandle;
overload selector(static #"dashCheckingResultWithRange:replacementString:") = NSTextCheckingResult, NSRange, NSString;
overload selector(static #"data") = Id;
overload selector(static #"dataDetectorWithTypes:error:") = NSDataDetector, UInt64, Pointer[NSError];
overload selector(static #"dataForKey:") = NSData, NSString;
overload selector(static #"dataFromPropertyList:format:errorDescription:") = NSData, Id, UInt, Pointer[NSString];
overload selector(static #"dataFromTXTRecordDictionary:") = NSData, NSDictionary;
overload selector(static #"dataUsingEncoding:") = NSData, UInt;
overload selector(static #"dataUsingEncoding:allowLossyConversion:") = NSData, UInt, Bool;
overload selector(static #"dataWithBytes:length:") = Id, RawPointer, UInt;
overload selector(static #"dataWithBytesNoCopy:length:") = Id, RawPointer, UInt;
overload selector(static #"dataWithBytesNoCopy:length:freeWhenDone:") = Id, RawPointer, UInt, Bool;
overload selector(static #"dataWithCapacity:") = Id, UInt;
overload selector(static #"dataWithContentsOfFile:") = Id, NSString;
overload selector(static #"dataWithContentsOfFile:options:error:") = Id, NSString, UInt, Pointer[NSError];
overload selector(static #"dataWithContentsOfMappedFile:") = Id, NSString;
overload selector(static #"dataWithContentsOfURL:") = Id, NSURL;
overload selector(static #"dataWithContentsOfURL:options:error:") = Id, NSURL, UInt, Pointer[NSError];
overload selector(static #"dataWithData:") = Id, NSData;
overload selector(static #"dataWithLength:") = Id, UInt;
overload selector(static #"dataWithPropertyList:format:options:error:") = NSData, Id, UInt, UInt, Pointer[NSError];
overload selector(static #"date") = Id;
overload selector(static #"dateByAddingComponents:toDate:options:") = NSDate, NSDateComponents, NSDate, UInt;
overload selector(static #"dateByAddingTimeInterval:") = Id, Double;
overload selector(static #"dateCheckingResultWithRange:date:") = NSTextCheckingResult, NSRange, NSDate;
overload selector(static #"dateCheckingResultWithRange:date:timeZone:duration:") = NSTextCheckingResult, NSRange, NSDate, NSTimeZone, Double;
overload selector(static #"dateFormat") = NSString;
overload selector(static #"dateFormatFromTemplate:options:locale:") = NSString, NSString, UInt, NSLocale;
overload selector(static #"dateFromComponents:") = NSDate, NSDateComponents;
overload selector(static #"dateFromString:") = NSDate, NSString;
overload selector(static #"dateStyle") = UInt;
overload selector(static #"dateWithTimeInterval:sinceDate:") = Id, Double, NSDate;
overload selector(static #"dateWithTimeIntervalSince1970:") = Id, Double;
overload selector(static #"dateWithTimeIntervalSinceNow:") = Id, Double;
overload selector(static #"dateWithTimeIntervalSinceReferenceDate:") = Id, Double;
overload selector(static #"day") = Int;
overload selector(static #"daylightSavingTimeOffset") = Double;
overload selector(static #"daylightSavingTimeOffsetForDate:") = Double, NSDate;
overload selector(static #"dealloc") = Void;
overload selector(static #"decimalDigitCharacterSet") = Id;
overload selector(static #"decimalNumberByAdding:") = NSDecimalNumber, NSDecimalNumber;
overload selector(static #"decimalNumberByAdding:withBehavior:") = NSDecimalNumber, NSDecimalNumber, Id;
overload selector(static #"decimalNumberByDividingBy:") = NSDecimalNumber, NSDecimalNumber;
overload selector(static #"decimalNumberByDividingBy:withBehavior:") = NSDecimalNumber, NSDecimalNumber, Id;
overload selector(static #"decimalNumberByMultiplyingBy:") = NSDecimalNumber, NSDecimalNumber;
overload selector(static #"decimalNumberByMultiplyingBy:withBehavior:") = NSDecimalNumber, NSDecimalNumber, Id;
overload selector(static #"decimalNumberByMultiplyingByPowerOf10:") = NSDecimalNumber, Short;
overload selector(static #"decimalNumberByMultiplyingByPowerOf10:withBehavior:") = NSDecimalNumber, Short, Id;
overload selector(static #"decimalNumberByRaisingToPower:") = NSDecimalNumber, UInt;
overload selector(static #"decimalNumberByRaisingToPower:withBehavior:") = NSDecimalNumber, UInt, Id;
overload selector(static #"decimalNumberByRoundingAccordingToBehavior:") = NSDecimalNumber, Id;
overload selector(static #"decimalNumberBySubtracting:") = NSDecimalNumber, NSDecimalNumber;
overload selector(static #"decimalNumberBySubtracting:withBehavior:") = NSDecimalNumber, NSDecimalNumber, Id;
overload selector(static #"decimalNumberHandlerWithRoundingMode:scale:raiseOnExactness:raiseOnOverflow:raiseOnUnderflow:raiseOnDivideByZero:") = Id, UInt, Short, Bool, Bool, Bool, Bool;
overload selector(static #"decimalNumberWithDecimal:") = NSDecimalNumber, NSDecimal;
overload selector(static #"decimalNumberWithMantissa:exponent:isNegative:") = NSDecimalNumber, UInt64, Short, Bool;
overload selector(static #"decimalNumberWithString:") = NSDecimalNumber, NSString;
overload selector(static #"decimalNumberWithString:locale:") = NSDecimalNumber, NSString, Id;
overload selector(static #"decimalSeparator") = NSString;
overload selector(static #"decimalValue") = NSDecimal;
overload selector(static #"decodeArrayOfObjCType:count:at:") = Void, Pointer[CChar], UInt, RawPointer;
overload selector(static #"decodeBoolForKey:") = Bool, NSString;
overload selector(static #"decodeBytesForKey:returnedLength:") = Pointer[CUChar], NSString, Pointer[UInt];
overload selector(static #"decodeBytesWithReturnedLength:") = RawPointer, Pointer[UInt];
overload selector(static #"decodeDataObject") = NSData;
overload selector(static #"decodeDoubleForKey:") = Double, NSString;
overload selector(static #"decodeFloatForKey:") = Float, NSString;
overload selector(static #"decodeInt32ForKey:") = Int, NSString;
overload selector(static #"decodeInt64ForKey:") = Int64, NSString;
overload selector(static #"decodeIntForKey:") = Int, NSString;
overload selector(static #"decodeIntegerForKey:") = Int, NSString;
overload selector(static #"decodeObject") = Id;
overload selector(static #"decodeObjectForKey:") = Id, NSString;
overload selector(static #"decodeValueOfObjCType:at:") = Void, Pointer[CChar], RawPointer;
overload varargSelector(static #"decodeValuesOfObjCTypes:") = Void, Pointer[CChar];
overload selector(static #"decomposableCharacterSet") = Id;
overload selector(static #"decomposedStringWithCanonicalMapping") = NSString;
overload selector(static #"decomposedStringWithCompatibilityMapping") = NSString;
overload selector(static #"defaultBehavior") = Id;
overload selector(static #"defaultCStringEncoding") = UInt;
overload selector(static #"defaultCenter") = Id;
overload selector(static #"defaultCredentialForProtectionSpace:") = NSURLCredential, NSURLProtectionSpace;
overload selector(static #"defaultDate") = NSDate;
overload selector(static #"defaultDecimalNumberHandler") = Id;
overload selector(static #"defaultFormatterBehavior") = UInt;
overload selector(static #"defaultManager") = NSFileManager;
overload selector(static #"defaultQueue") = Id;
overload selector(static #"defaultTimeZone") = NSTimeZone;
overload selector(static #"delegate") = Id;
overload selector(static #"deleteCharactersInRange:") = Void, NSRange;
overload selector(static #"deleteCookie:") = Void, NSHTTPCookie;
overload selector(static #"dependencies") = NSArray;
overload selector(static #"dequeueNotificationsMatching:coalesceMask:") = Void, NSNotification, UInt;
overload selector(static #"description") = NSString;
overload selector(static #"descriptionInStringsFileFormat") = NSString;
overload selector(static #"descriptionWithLocale:") = NSString, Id;
overload selector(static #"descriptionWithLocale:indent:") = NSString, Id, UInt;
overload selector(static #"destinationOfSymbolicLinkAtPath:error:") = NSString, NSString, Pointer[NSError];
overload selector(static #"detachNewThreadSelector:toTarget:withObject:") = Void, SelectorHandle, Id, Id;
overload selector(static #"developmentLocalization") = NSString;
overload selector(static #"dictionary") = Id;
overload selector(static #"dictionaryForKey:") = NSDictionary, NSString;
overload selector(static #"dictionaryFromTXTRecordData:") = NSDictionary, NSData;
overload selector(static #"dictionaryRepresentation") = NSDictionary;
overload selector(static #"dictionaryWithCapacity:") = Id, UInt;
overload selector(static #"dictionaryWithContentsOfFile:") = Id, NSString;
overload selector(static #"dictionaryWithContentsOfURL:") = Id, NSURL;
overload selector(static #"dictionaryWithDictionary:") = Id, NSDictionary;
overload selector(static #"dictionaryWithObject:forKey:") = Id, Id, Id;
overload selector(static #"dictionaryWithObjects:forKeys:") = Id, NSArray, NSArray;
overload selector(static #"dictionaryWithObjects:forKeys:count:") = Id, Pointer[Id], Pointer[Id], UInt;
overload varargSelector(static #"dictionaryWithObjectsAndKeys:") = Id, Id;
overload selector(static #"dictionaryWithValuesForKeys:") = NSDictionary, NSArray;
overload selector(static #"didChange:valuesAtIndexes:forKey:") = Void, UInt, NSIndexSet, NSString;
overload selector(static #"didChangeValueForKey:") = Void, NSString;
overload selector(static #"didChangeValueForKey:withSetMutation:usingObjects:") = Void, NSString, UInt, NSSet;
overload selector(static #"directoryAttributes") = NSDictionary;
overload selector(static #"directoryContentsAtPath:") = NSArray, NSString;
overload selector(static #"disableUndoRegistration") = Void;
overload selector(static #"discardContentIfPossible") = Void;
overload selector(static #"diskCapacity") = UInt;
overload selector(static #"displayNameAtPath:") = NSString, NSString;
overload selector(static #"displayNameForKey:value:") = NSString, Id, Id;
overload selector(static #"distantFuture") = Id;
overload selector(static #"distantPast") = Id;
overload selector(static #"distinguishedNames") = NSArray;
overload selector(static #"doesNotRecognizeSelector:") = Void, SelectorHandle;
overload selector(static #"doesRelativeDateFormatting") = Bool;
overload selector(static #"domain") = NSString;
overload selector(static #"dominantLanguage") = NSString;
overload selector(static #"dominantLanguageForScript:") = NSString, NSString;
overload selector(static #"dominantScript") = NSString;
overload selector(static #"doubleForKey:") = Double, NSString;
overload selector(static #"doubleValue") = Double;
overload selector(static #"drain") = Void;
overload selector(static #"duration") = Double;
overload selector(static #"earlierDate:") = NSDate, NSDate;
overload selector(static #"editingStringForObjectValue:") = NSString, Id;
overload selector(static #"enableUndoRegistration") = Void;
overload selector(static #"encodeArrayOfObjCType:count:at:") = Void, Pointer[CChar], UInt, RawPointer;
overload selector(static #"encodeBool:forKey:") = Void, Bool, NSString;
overload selector(static #"encodeBycopyObject:") = Void, Id;
overload selector(static #"encodeByrefObject:") = Void, Id;
overload selector(static #"encodeBytes:length:") = Void, RawPointer, UInt;
overload selector(static #"encodeBytes:length:forKey:") = Void, Pointer[CUChar], UInt, NSString;
overload selector(static #"encodeConditionalObject:") = Void, Id;
overload selector(static #"encodeConditionalObject:forKey:") = Void, Id, NSString;
overload selector(static #"encodeDataObject:") = Void, NSData;
overload selector(static #"encodeDouble:forKey:") = Void, Double, NSString;
overload selector(static #"encodeFloat:forKey:") = Void, Float, NSString;
overload selector(static #"encodeInt32:forKey:") = Void, Int, NSString;
overload selector(static #"encodeInt64:forKey:") = Void, Int64, NSString;
overload selector(static #"encodeInt:forKey:") = Void, Int, NSString;
overload selector(static #"encodeInteger:forKey:") = Void, Int, NSString;
overload selector(static #"encodeObject:") = Void, Id;
overload selector(static #"encodeObject:forKey:") = Void, Id, NSString;
overload selector(static #"encodeRootObject:") = Void, Id;
overload selector(static #"encodeValueOfObjCType:at:") = Void, Pointer[CChar], RawPointer;
overload varargSelector(static #"encodeValuesOfObjCTypes:") = Void, Pointer[CChar];
overload selector(static #"encodeWithCoder:") = Void, NSCoder;
overload selector(static #"endContentAccess") = Void;
overload selector(static #"endEditing") = Void;
overload selector(static #"endUndoGrouping") = Void;
overload selector(static #"enqueueNotification:postingStyle:") = Void, NSNotification, UInt;
overload selector(static #"enqueueNotification:postingStyle:coalesceMask:forModes:") = Void, NSNotification, UInt, UInt, NSArray;
overload selector(static #"enumerateAttribute:inRange:options:usingBlock:") = Void, NSString, NSRange, UInt, UnknownType;
overload selector(static #"enumerateAttributesInRange:options:usingBlock:") = Void, NSRange, UInt, UnknownType;
overload selector(static #"enumerateIndexesInRange:options:usingBlock:") = Void, NSRange, UInt, UnknownType;
overload selector(static #"enumerateIndexesUsingBlock:") = Void, UnknownType;
overload selector(static #"enumerateIndexesWithOptions:usingBlock:") = Void, UInt, UnknownType;
overload selector(static #"enumerateKeysAndObjectsUsingBlock:") = Void, UnknownType;
overload selector(static #"enumerateKeysAndObjectsWithOptions:usingBlock:") = Void, UInt, UnknownType;
overload selector(static #"enumerateLinesUsingBlock:") = Void, UnknownType;
overload selector(static #"enumerateMatchesInString:options:range:usingBlock:") = Void, NSString, UInt, NSRange, UnknownType;
overload selector(static #"enumerateObjectsAtIndexes:options:usingBlock:") = Void, NSIndexSet, UInt, UnknownType;
overload selector(static #"enumerateObjectsUsingBlock:") = Void, UnknownType;
overload selector(static #"enumerateObjectsWithOptions:usingBlock:") = Void, UInt, UnknownType;
overload selector(static #"enumerateSubstringsInRange:options:usingBlock:") = Void, NSRange, UInt, UnknownType;
overload selector(static #"enumeratorAtPath:") = NSDirectoryEnumerator, NSString;
overload selector(static #"enumeratorAtURL:includingPropertiesForKeys:options:errorHandler:") = NSDirectoryEnumerator, NSURL, NSArray, UInt, UnknownType;
overload selector(static #"environment") = NSDictionary;
overload selector(static #"era") = Int;
overload selector(static #"eraSymbols") = NSArray;
overload selector(static #"error") = NSError;
overload selector(static #"errorWithDomain:code:userInfo:") = Id, NSString, Int, NSDictionary;
overload selector(static #"escapedPatternForString:") = NSString, NSString;
overload selector(static #"escapedTemplateForString:") = NSString, NSString;
overload selector(static #"evaluateWithObject:") = Bool, Id;
overload selector(static #"evaluateWithObject:substitutionVariables:") = Bool, Id, NSDictionary;
overload selector(static #"evictsObjectsWithDiscardedContent") = Bool;
overload selector(static #"exceptionDuringOperation:error:leftOperand:rightOperand:") = NSDecimalNumber, SelectorHandle, UInt, NSDecimalNumber, NSDecimalNumber;
overload selector(static #"exceptionWithName:reason:userInfo:") = NSException, NSString, NSString, NSDictionary;
overload selector(static #"exchangeObjectAtIndex:withObjectAtIndex:") = Void, UInt, UInt;
overload selector(static #"executableArchitectures") = NSArray;
overload selector(static #"executablePath") = NSString;
overload selector(static #"executableURL") = NSURL;
overload selector(static #"executionBlocks") = NSArray;
overload selector(static #"exit") = Void;
overload selector(static #"expectedContentLength") = Int64;
overload selector(static #"expiresDate") = NSDate;
overload selector(static #"exponentSymbol") = NSString;
overload selector(static #"expressionBlock") = UnknownType;
overload selector(static #"expressionForAggregate:") = NSExpression, NSArray;
overload selector(static #"expressionForBlock:arguments:") = NSExpression, UnknownType, NSArray;
overload selector(static #"expressionForConstantValue:") = NSExpression, Id;
overload selector(static #"expressionForEvaluatedObject") = NSExpression;
overload selector(static #"expressionForFunction:arguments:") = NSExpression, NSString, NSArray;
overload selector(static #"expressionForFunction:selectorName:arguments:") = NSExpression, NSExpression, NSString, NSArray;
overload selector(static #"expressionForIntersectSet:with:") = NSExpression, NSExpression, NSExpression;
overload selector(static #"expressionForKeyPath:") = NSExpression, NSString;
overload selector(static #"expressionForMinusSet:with:") = NSExpression, NSExpression, NSExpression;
overload selector(static #"expressionForSubquery:usingIteratorVariable:predicate:") = NSExpression, NSExpression, NSString, Id;
overload selector(static #"expressionForUnionSet:with:") = NSExpression, NSExpression, NSExpression;
overload selector(static #"expressionForVariable:") = NSExpression, NSString;
overload selector(static #"expressionType") = UInt;
overload selector(static #"expressionValueWithObject:context:") = Id, Id, NSMutableDictionary;
overload selector(static #"failureResponse") = NSURLResponse;
overload selector(static #"fastestEncoding") = UInt;
overload selector(static #"fileAttributes") = NSDictionary;
overload selector(static #"fileAttributesAtPath:traverseLink:") = NSDictionary, NSString, Bool;
overload selector(static #"fileCreationDate") = NSDate;
overload selector(static #"fileDescriptor") = Int;
overload selector(static #"fileExistsAtPath:") = Bool, NSString;
overload selector(static #"fileExistsAtPath:isDirectory:") = Bool, NSString, Pointer[Bool];
overload selector(static #"fileExtensionHidden") = Bool;
overload selector(static #"fileGroupOwnerAccountID") = NSNumber;
overload selector(static #"fileGroupOwnerAccountName") = NSString;
overload selector(static #"fileHFSCreatorCode") = CULong;
overload selector(static #"fileHFSTypeCode") = CULong;
overload selector(static #"fileHandleForReading") = NSFileHandle;
overload selector(static #"fileHandleForReadingAtPath:") = Id, NSString;
overload selector(static #"fileHandleForReadingFromURL:error:") = Id, NSURL, Pointer[NSError];
overload selector(static #"fileHandleForUpdatingAtPath:") = Id, NSString;
overload selector(static #"fileHandleForUpdatingURL:error:") = Id, NSURL, Pointer[NSError];
overload selector(static #"fileHandleForWriting") = NSFileHandle;
overload selector(static #"fileHandleForWritingAtPath:") = Id, NSString;
overload selector(static #"fileHandleForWritingToURL:error:") = Id, NSURL, Pointer[NSError];
overload selector(static #"fileHandleWithNullDevice") = Id;
overload selector(static #"fileHandleWithStandardError") = Id;
overload selector(static #"fileHandleWithStandardInput") = Id;
overload selector(static #"fileHandleWithStandardOutput") = Id;
overload selector(static #"fileIsAppendOnly") = Bool;
overload selector(static #"fileIsImmutable") = Bool;
overload selector(static #"fileManager:shouldCopyItemAtPath:toPath:") = Bool, NSFileManager, NSString, NSString;
overload selector(static #"fileManager:shouldCopyItemAtURL:toURL:") = Bool, NSFileManager, NSURL, NSURL;
overload selector(static #"fileManager:shouldLinkItemAtPath:toPath:") = Bool, NSFileManager, NSString, NSString;
overload selector(static #"fileManager:shouldLinkItemAtURL:toURL:") = Bool, NSFileManager, NSURL, NSURL;
overload selector(static #"fileManager:shouldMoveItemAtPath:toPath:") = Bool, NSFileManager, NSString, NSString;
overload selector(static #"fileManager:shouldMoveItemAtURL:toURL:") = Bool, NSFileManager, NSURL, NSURL;
overload selector(static #"fileManager:shouldProceedAfterError:") = Bool, NSFileManager, NSDictionary;
overload selector(static #"fileManager:shouldProceedAfterError:copyingItemAtPath:toPath:") = Bool, NSFileManager, NSError, NSString, NSString;
overload selector(static #"fileManager:shouldProceedAfterError:copyingItemAtURL:toURL:") = Bool, NSFileManager, NSError, NSURL, NSURL;
overload selector(static #"fileManager:shouldProceedAfterError:linkingItemAtPath:toPath:") = Bool, NSFileManager, NSError, NSString, NSString;
overload selector(static #"fileManager:shouldProceedAfterError:linkingItemAtURL:toURL:") = Bool, NSFileManager, NSError, NSURL, NSURL;
overload selector(static #"fileManager:shouldProceedAfterError:movingItemAtPath:toPath:") = Bool, NSFileManager, NSError, NSString, NSString;
overload selector(static #"fileManager:shouldProceedAfterError:movingItemAtURL:toURL:") = Bool, NSFileManager, NSError, NSURL, NSURL;
overload selector(static #"fileManager:shouldProceedAfterError:removingItemAtPath:") = Bool, NSFileManager, NSError, NSString;
overload selector(static #"fileManager:shouldProceedAfterError:removingItemAtURL:") = Bool, NSFileManager, NSError, NSURL;
overload selector(static #"fileManager:shouldRemoveItemAtPath:") = Bool, NSFileManager, NSString;
overload selector(static #"fileManager:shouldRemoveItemAtURL:") = Bool, NSFileManager, NSURL;
overload selector(static #"fileManager:willProcessPath:") = Void, NSFileManager, NSString;
overload selector(static #"fileModificationDate") = NSDate;
overload selector(static #"fileOwnerAccountID") = NSNumber;
overload selector(static #"fileOwnerAccountName") = NSString;
overload selector(static #"filePathURL") = NSURL;
overload selector(static #"filePosixPermissions") = UInt;
overload selector(static #"fileReferenceURL") = NSURL;
overload selector(static #"fileSize") = UInt64;
overload selector(static #"fileSystemAttributesAtPath:") = NSDictionary, NSString;
overload selector(static #"fileSystemFileNumber") = UInt;
overload selector(static #"fileSystemNumber") = Int;
overload selector(static #"fileSystemRepresentation") = Pointer[CChar];
overload selector(static #"fileSystemRepresentationWithPath:") = Pointer[CChar], NSString;
overload selector(static #"fileType") = NSString;
overload selector(static #"fileURLWithPath:") = Id, NSString;
overload selector(static #"fileURLWithPath:isDirectory:") = Id, NSString, Bool;
overload selector(static #"fileURLWithPathComponents:") = NSURL, NSArray;
overload selector(static #"fileWrappers") = NSDictionary;
overload selector(static #"filename") = NSString;
overload selector(static #"filterUsingPredicate:") = Void, NSPredicate;
overload selector(static #"filteredArrayUsingPredicate:") = NSArray, NSPredicate;
overload selector(static #"filteredSetUsingPredicate:") = NSSet, NSPredicate;
overload selector(static #"finalize") = Void;
overload selector(static #"finishDecoding") = Void;
overload selector(static #"finishEncoding") = Void;
overload selector(static #"fire") = Void;
overload selector(static #"fireDate") = NSDate;
overload selector(static #"firstIndex") = UInt;
overload selector(static #"firstMatchInString:options:range:") = NSTextCheckingResult, NSString, UInt, NSRange;
overload selector(static #"firstObjectCommonWithArray:") = Id, NSArray;
overload selector(static #"firstWeekday") = UInt;
overload selector(static #"floatForKey:") = Float, NSString;
overload selector(static #"floatValue") = Float;
overload selector(static #"formIntersectionWithCharacterSet:") = Void, NSCharacterSet;
overload selector(static #"formUnionWithCharacterSet:") = Void, NSCharacterSet;
overload selector(static #"formatWidth") = UInt;
overload selector(static #"formatterBehavior") = UInt;
overload selector(static #"forwardInvocation:") = Void, NSInvocation;
overload selector(static #"forwardingTargetForSelector:") = Id, SelectorHandle;
overload selector(static #"fragment") = NSString;
overload selector(static #"frameLength") = UInt;
overload selector(static #"function") = NSString;
overload selector(static #"generatesCalendarDates") = Bool;
overload selector(static #"generatesDecimalNumbers") = Bool;
overload selector(static #"getArgument:atIndex:") = Void, RawPointer, Int;
overload selector(static #"getArgumentTypeAtIndex:") = Pointer[CChar], UInt;
overload selector(static #"getBuffer:length:") = Bool, Pointer[Pointer[CUChar]], Pointer[UInt];
overload selector(static #"getBytes:") = Void, RawPointer;
overload selector(static #"getBytes:length:") = Void, RawPointer, UInt;
overload selector(static #"getBytes:maxLength:usedLength:encoding:options:range:remainingRange:") = Bool, RawPointer, UInt, Pointer[UInt], UInt, UInt, NSRange, NSRangePointer;
overload selector(static #"getBytes:range:") = Void, RawPointer, NSRange;
overload selector(static #"getCFRunLoop") = CFRunLoopRef;
overload selector(static #"getCString:") = Void, Pointer[CChar];
overload selector(static #"getCString:maxLength:") = Void, Pointer[CChar], UInt;
overload selector(static #"getCString:maxLength:encoding:") = Bool, Pointer[CChar], UInt, UInt;
overload selector(static #"getCString:maxLength:range:remainingRange:") = Void, Pointer[CChar], UInt, NSRange, NSRangePointer;
overload selector(static #"getCharacters:") = Void, Pointer[UShort];
overload selector(static #"getCharacters:range:") = Void, Pointer[UShort], NSRange;
overload selector(static #"getFileSystemRepresentation:maxLength:") = Bool, Pointer[CChar], UInt;
overload selector(static #"getIndexes:") = Void, Pointer[UInt];
overload selector(static #"getIndexes:maxCount:inIndexRange:") = UInt, Pointer[UInt], UInt, NSRangePointer;
overload selector(static #"getInputStream:outputStream:") = Bool, Pointer[NSInputStream], Pointer[NSOutputStream];
overload selector(static #"getLineStart:end:contentsEnd:forRange:") = Void, Pointer[UInt], Pointer[UInt], Pointer[UInt], NSRange;
overload selector(static #"getObjectValue:forString:errorDescription:") = Bool, Pointer[Id], NSString, Pointer[NSString];
overload selector(static #"getObjectValue:forString:range:error:") = Bool, Pointer[Id], NSString, Pointer[NSRange], Pointer[NSError];
overload selector(static #"getObjects:") = Void, Pointer[Id];
overload selector(static #"getObjects:andKeys:") = Void, Pointer[Id], Pointer[Id];
overload selector(static #"getObjects:range:") = Void, Pointer[Id], NSRange;
overload selector(static #"getParagraphStart:end:contentsEnd:forRange:") = Void, Pointer[UInt], Pointer[UInt], Pointer[UInt], NSRange;
overload selector(static #"getResourceValue:forKey:error:") = Bool, Pointer[Id], NSString, Pointer[NSError];
overload selector(static #"getReturnValue:") = Void, RawPointer;
overload selector(static #"getValue:") = Void, RawPointer;
overload selector(static #"globallyUniqueString") = NSString;
overload selector(static #"grammarCheckingResultWithRange:details:") = NSTextCheckingResult, NSRange, NSArray;
overload selector(static #"grammarDetails") = NSArray;
overload selector(static #"gregorianStartDate") = NSDate;
overload selector(static #"groupingLevel") = Int;
overload selector(static #"groupingSeparator") = NSString;
overload selector(static #"groupingSize") = UInt;
overload selector(static #"groupsByEvent") = Bool;
overload varargSelector(static #"handleFailureInFunction:file:lineNumber:description:") = Void, NSString, NSString, Int, NSString;
overload varargSelector(static #"handleFailureInMethod:object:file:lineNumber:description:") = Void, SelectorHandle, Id, NSString, Int, NSString;
overload selector(static #"handleMachMessage:") = Void, RawPointer;
overload selector(static #"handlePortMessage:") = Void, NSPortMessage;
overload selector(static #"hasBytesAvailable") = Bool;
overload selector(static #"hasMemberInPlane:") = Bool, CUChar;
overload selector(static #"hasPassword") = Bool;
overload selector(static #"hasPrefix:") = Bool, NSString;
overload selector(static #"hasSpaceAvailable") = Bool;
overload selector(static #"hasSuffix:") = Bool, NSString;
overload selector(static #"hash") = UInt;
overload selector(static #"helpAnchor") = NSString;
overload selector(static #"host") = NSString;
overload selector(static #"hostName") = NSString;
overload selector(static #"hour") = Int;
overload selector(static #"identity") = SecIdentityRef;
overload selector(static #"illegalCharacterSet") = Id;
overload selector(static #"increaseLengthBy:") = Void, UInt;
overload selector(static #"indexAtPosition:") = UInt, UInt;
overload selector(static #"indexGreaterThanIndex:") = UInt, UInt;
overload selector(static #"indexGreaterThanOrEqualToIndex:") = UInt, UInt;
overload selector(static #"indexInRange:options:passingTest:") = UInt, NSRange, UInt, UnknownType;
overload selector(static #"indexLessThanIndex:") = UInt, UInt;
overload selector(static #"indexLessThanOrEqualToIndex:") = UInt, UInt;
overload selector(static #"indexOfObject:") = UInt, Id;
overload selector(static #"indexOfObject:inRange:") = UInt, Id, NSRange;
overload selector(static #"indexOfObject:inSortedRange:options:usingComparator:") = UInt, Id, NSRange, UInt, NSComparator;
overload selector(static #"indexOfObjectAtIndexes:options:passingTest:") = UInt, NSIndexSet, UInt, UnknownType;
overload selector(static #"indexOfObjectIdenticalTo:") = UInt, Id;
overload selector(static #"indexOfObjectIdenticalTo:inRange:") = UInt, Id, NSRange;
overload selector(static #"indexOfObjectPassingTest:") = UInt, UnknownType;
overload selector(static #"indexOfObjectWithOptions:passingTest:") = UInt, UInt, UnknownType;
overload selector(static #"indexPassingTest:") = UInt, UnknownType;
overload selector(static #"indexPathByAddingIndex:") = NSIndexPath, UInt;
overload selector(static #"indexPathByRemovingLastIndex") = NSIndexPath;
overload selector(static #"indexPathWithIndex:") = Id, UInt;
overload selector(static #"indexPathWithIndexes:length:") = Id, Pointer[UInt], UInt;
overload selector(static #"indexSet") = Id;
overload selector(static #"indexSetWithIndex:") = Id, UInt;
overload selector(static #"indexSetWithIndexesInRange:") = Id, NSRange;
overload selector(static #"indexWithOptions:passingTest:") = UInt, UInt, UnknownType;
overload selector(static #"indexesInRange:options:passingTest:") = NSIndexSet, NSRange, UInt, UnknownType;
overload selector(static #"indexesOfObjectsAtIndexes:options:passingTest:") = NSIndexSet, NSIndexSet, UInt, UnknownType;
overload selector(static #"indexesOfObjectsPassingTest:") = NSIndexSet, UnknownType;
overload selector(static #"indexesOfObjectsWithOptions:passingTest:") = NSIndexSet, UInt, UnknownType;
overload selector(static #"indexesPassingTest:") = NSIndexSet, UnknownType;
overload selector(static #"indexesWithOptions:passingTest:") = NSIndexSet, UInt, UnknownType;
overload selector(static #"infoDictionary") = NSDictionary;
overload selector(static #"init") = Id;
overload selector(static #"initByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:") = Id, NSData, UInt, NSURL, Pointer[Bool], Pointer[NSError];
overload selector(static #"initDirectoryWithFileWrappers:") = Id, NSDictionary;
overload selector(static #"initFileURLWithPath:") = Id, NSString;
overload selector(static #"initFileURLWithPath:isDirectory:") = Id, NSString, Bool;
overload selector(static #"initForReadingWithData:") = Id, NSData;
overload selector(static #"initForWritingWithMutableData:") = Id, NSMutableData;
overload selector(static #"initRegularFileWithContents:") = Id, NSData;
overload selector(static #"initSymbolicLinkWithDestination:") = Id, NSString;
overload selector(static #"initSymbolicLinkWithDestinationURL:") = Id, NSURL;
overload selector(static #"initToBuffer:capacity:") = Id, Pointer[CUChar], UInt;
overload selector(static #"initToFileAtPath:append:") = Id, NSString, Bool;
overload selector(static #"initToMemory") = Id;
overload selector(static #"initWithArray:") = Id, NSArray;
overload selector(static #"initWithArray:copyItems:") = Id, NSArray, Bool;
overload selector(static #"initWithAttributedString:") = Id, NSAttributedString;
overload selector(static #"initWithAuthenticationChallenge:sender:") = Id, NSURLAuthenticationChallenge, Id;
overload selector(static #"initWithBool:") = Id, Bool;
overload selector(static #"initWithBytes:length:") = Id, RawPointer, UInt;
overload selector(static #"initWithBytes:length:encoding:") = Id, RawPointer, UInt, UInt;
overload selector(static #"initWithBytes:objCType:") = Id, RawPointer, Pointer[CChar];
overload selector(static #"initWithBytesNoCopy:length:") = Id, RawPointer, UInt;
overload selector(static #"initWithBytesNoCopy:length:encoding:freeWhenDone:") = Id, RawPointer, UInt, UInt, Bool;
overload selector(static #"initWithBytesNoCopy:length:freeWhenDone:") = Id, RawPointer, UInt, Bool;
overload selector(static #"initWithCString:") = Id, Pointer[CChar];
overload selector(static #"initWithCString:encoding:") = Id, Pointer[CChar], UInt;
overload selector(static #"initWithCString:length:") = Id, Pointer[CChar], UInt;
overload selector(static #"initWithCStringNoCopy:length:freeWhenDone:") = Id, Pointer[CChar], UInt, Bool;
overload selector(static #"initWithCalendarIdentifier:") = Id, NSString;
overload selector(static #"initWithCapacity:") = Id, UInt;
overload selector(static #"initWithChar:") = Id, CChar;
overload selector(static #"initWithCharacters:length:") = Id, Pointer[UShort], UInt;
overload selector(static #"initWithCharactersNoCopy:length:freeWhenDone:") = Id, Pointer[UShort], UInt, Bool;
overload selector(static #"initWithCoder:") = Id, NSCoder;
overload selector(static #"initWithCondition:") = Id, Int;
overload selector(static #"initWithContentsOfFile:") = Id, NSString;
overload selector(static #"initWithContentsOfFile:encoding:error:") = Id, NSString, UInt, Pointer[NSError];
overload selector(static #"initWithContentsOfFile:options:error:") = Id, NSString, UInt, Pointer[NSError];
overload selector(static #"initWithContentsOfFile:usedEncoding:error:") = Id, NSString, Pointer[UInt], Pointer[NSError];
overload selector(static #"initWithContentsOfMappedFile:") = Id, NSString;
overload selector(static #"initWithContentsOfURL:") = Id, NSURL;
overload selector(static #"initWithContentsOfURL:encoding:error:") = Id, NSURL, UInt, Pointer[NSError];
overload selector(static #"initWithContentsOfURL:options:error:") = Id, NSURL, UInt, Pointer[NSError];
overload selector(static #"initWithContentsOfURL:usedEncoding:error:") = Id, NSURL, Pointer[UInt], Pointer[NSError];
overload selector(static #"initWithData:") = Id, NSData;
overload selector(static #"initWithData:encoding:") = Id, NSData, UInt;
overload selector(static #"initWithDecimal:") = Id, NSDecimal;
overload selector(static #"initWithDictionary:") = Id, NSDictionary;
overload selector(static #"initWithDictionary:copyItems:") = Id, NSDictionary, Bool;
overload selector(static #"initWithDomain:code:userInfo:") = Id, NSString, Int, NSDictionary;
overload selector(static #"initWithDomain:type:name:") = Id, NSString, NSString, NSString;
overload selector(static #"initWithDomain:type:name:port:") = Id, NSString, NSString, NSString, Int;
overload selector(static #"initWithDominantScript:languageMap:") = Id, NSString, NSDictionary;
overload selector(static #"initWithDouble:") = Id, Double;
overload selector(static #"initWithExpressionType:") = Id, UInt;
overload selector(static #"initWithFileAtPath:") = Id, NSString;
overload selector(static #"initWithFileDescriptor:") = Id, Int;
overload selector(static #"initWithFileDescriptor:closeOnDealloc:") = Id, Int, Bool;
overload selector(static #"initWithFireDate:interval:target:selector:userInfo:repeats:") = Id, NSDate, Double, Id, SelectorHandle, Id, Bool;
overload selector(static #"initWithFloat:") = Id, Float;
overload varargSelector(static #"initWithFormat:") = Id, NSString;
overload selector(static #"initWithFormat:arguments:") = Id, NSString, va_list;
overload varargSelector(static #"initWithFormat:locale:") = Id, NSString, Id;
overload selector(static #"initWithFormat:locale:arguments:") = Id, NSString, Id, va_list;
overload selector(static #"initWithHost:port:protocol:realm:authenticationMethod:") = Id, NSString, Int, NSString, NSString, NSString;
overload selector(static #"initWithIdentity:certificates:persistence:") = Id, SecIdentityRef, NSArray, UInt;
overload selector(static #"initWithIndex:") = Id, UInt;
overload selector(static #"initWithIndexSet:") = Id, NSIndexSet;
overload selector(static #"initWithIndexes:length:") = Id, Pointer[UInt], UInt;
overload selector(static #"initWithIndexesInRange:") = Id, NSRange;
overload selector(static #"initWithInt:") = Id, Int;
overload selector(static #"initWithInteger:") = Id, Int;
overload selector(static #"initWithInvocation:") = Id, NSInvocation;
overload selector(static #"initWithKey:ascending:") = Id, NSString, Bool;
overload selector(static #"initWithKey:ascending:comparator:") = Id, NSString, Bool, NSComparator;
overload selector(static #"initWithKey:ascending:selector:") = Id, NSString, Bool, SelectorHandle;
overload selector(static #"initWithLeftExpression:rightExpression:customSelector:") = Id, NSExpression, NSExpression, SelectorHandle;
overload selector(static #"initWithLeftExpression:rightExpression:modifier:type:options:") = Id, NSExpression, NSExpression, UInt, UInt, UInt;
overload selector(static #"initWithLength:") = Id, UInt;
overload selector(static #"initWithLocaleIdentifier:") = Id, NSString;
overload selector(static #"initWithLong:") = Id, CLong;
overload selector(static #"initWithLongLong:") = Id, Int64;
overload selector(static #"initWithMachPort:") = Id, UInt;
overload selector(static #"initWithMachPort:options:") = Id, UInt, UInt;
overload selector(static #"initWithMantissa:exponent:isNegative:") = Id, UInt64, Short, Bool;
overload selector(static #"initWithMemoryCapacity:diskCapacity:diskPath:") = Id, UInt, UInt, NSString;
overload selector(static #"initWithName:") = Id, NSString;
overload selector(static #"initWithName:data:") = Id, NSString, NSData;
overload selector(static #"initWithName:reason:userInfo:") = Id, NSString, NSString, NSDictionary;
overload selector(static #"initWithNotificationCenter:") = Id, NSNotificationCenter;
overload varargSelector(static #"initWithObjects:") = Id, Id;
overload selector(static #"initWithObjects:count:") = Id, Pointer[Id], UInt;
overload selector(static #"initWithObjects:forKeys:") = Id, NSArray, NSArray;
overload selector(static #"initWithObjects:forKeys:count:") = Id, Pointer[Id], Pointer[Id], UInt;
overload varargSelector(static #"initWithObjectsAndKeys:") = Id, Id;
overload selector(static #"initWithPath:") = Id, NSString;
overload selector(static #"initWithPattern:options:error:") = Id, NSString, UInt, Pointer[NSError];
overload selector(static #"initWithProperties:") = Id, NSDictionary;
overload selector(static #"initWithProtectionSpace:proposedCredential:previousFailureCount:failureResponse:error:sender:") = Id, NSURLProtectionSpace, NSURLCredential, Int, NSURLResponse, NSError, Id;
overload selector(static #"initWithProxyHost:port:type:realm:authenticationMethod:") = Id, NSString, Int, NSString, NSString, NSString;
overload selector(static #"initWithRequest:cachedResponse:client:") = Id, NSURLRequest, NSCachedURLResponse, Id;
overload selector(static #"initWithRequest:delegate:") = Id, NSURLRequest, Id;
overload selector(static #"initWithRequest:delegate:startImmediately:") = Id, NSURLRequest, Id, Bool;
overload selector(static #"initWithResponse:data:") = Id, NSURLResponse, NSData;
overload selector(static #"initWithResponse:data:userInfo:storagePolicy:") = Id, NSURLResponse, NSData, NSDictionary, UInt;
overload selector(static #"initWithRoundingMode:scale:raiseOnExactness:raiseOnOverflow:raiseOnUnderflow:raiseOnDivideByZero:") = Id, UInt, Short, Bool, Bool, Bool, Bool;
overload selector(static #"initWithScheme:host:path:") = Id, NSString, NSString, NSString;
overload selector(static #"initWithSerializedRepresentation:") = Id, NSData;
overload selector(static #"initWithSet:") = Id, NSSet;
overload selector(static #"initWithSet:copyItems:") = Id, NSSet, Bool;
overload selector(static #"initWithShort:") = Id, Short;
overload selector(static #"initWithStorageLocation:") = Id, NSURL;
overload selector(static #"initWithString:") = Id, NSString;
overload selector(static #"initWithString:attributes:") = Id, NSString, NSDictionary;
overload selector(static #"initWithString:locale:") = Id, NSString, Id;
overload selector(static #"initWithString:relativeToURL:") = Id, NSString, NSURL;
overload selector(static #"initWithTarget:selector:object:") = Id, Id, SelectorHandle, Id;
overload selector(static #"initWithTimeInterval:sinceDate:") = Id, Double, NSDate;
overload selector(static #"initWithTimeIntervalSince1970:") = Id, Double;
overload selector(static #"initWithTimeIntervalSinceNow:") = Id, Double;
overload selector(static #"initWithTimeIntervalSinceReferenceDate:") = Id, Double;
overload selector(static #"initWithTrust:") = Id, SecTrustRef;
overload selector(static #"initWithType:subpredicates:") = Id, UInt, NSArray;
overload selector(static #"initWithTypes:error:") = Id, UInt64, Pointer[NSError];
overload selector(static #"initWithURL:") = Id, NSURL;
overload selector(static #"initWithURL:MIMEType:expectedContentLength:textEncodingName:") = Id, NSURL, NSString, Int, NSString;
overload selector(static #"initWithURL:append:") = Id, NSURL, Bool;
overload selector(static #"initWithURL:cachePolicy:timeoutInterval:") = Id, NSURL, UInt, Double;
overload selector(static #"initWithURL:options:error:") = Id, NSURL, UInt, Pointer[NSError];
overload selector(static #"initWithUTF8String:") = Id, Pointer[CChar];
overload selector(static #"initWithUnsignedChar:") = Id, CUChar;
overload selector(static #"initWithUnsignedInt:") = Id, UInt;
overload selector(static #"initWithUnsignedInteger:") = Id, UInt;
overload selector(static #"initWithUnsignedLong:") = Id, CULong;
overload selector(static #"initWithUnsignedLongLong:") = Id, UInt64;
overload selector(static #"initWithUnsignedShort:") = Id, UShort;
overload selector(static #"initWithUser:") = Id, NSString;
overload selector(static #"initWithUser:password:persistence:") = Id, NSString, NSString, UInt;
overload selector(static #"initialize") = Void;
overload selector(static #"inputStreamWithData:") = Id, NSData;
overload selector(static #"inputStreamWithFileAtPath:") = Id, NSString;
overload selector(static #"inputStreamWithURL:") = Id, NSURL;
overload selector(static #"insertAttributedString:atIndex:") = Void, NSAttributedString, UInt;
overload selector(static #"insertObject:atIndex:") = Void, Id, UInt;
overload selector(static #"insertObjects:atIndexes:") = Void, NSArray, NSIndexSet;
overload selector(static #"insertString:atIndex:") = Void, NSString, UInt;
overload selector(static #"instanceMethodForSelector:") = IMP, SelectorHandle;
overload selector(static #"instanceMethodSignatureForSelector:") = NSMethodSignature, SelectorHandle;
overload selector(static #"instancesRespondToSelector:") = Bool, SelectorHandle;
overload selector(static #"intValue") = Int;
overload selector(static #"integerForKey:") = Int, NSString;
overload selector(static #"integerValue") = Int;
overload selector(static #"internationalCurrencySymbol") = NSString;
overload selector(static #"intersectSet:") = Void, NSSet;
overload selector(static #"intersectsIndexesInRange:") = Bool, NSRange;
overload selector(static #"intersectsSet:") = Bool, NSSet;
overload selector(static #"invalidate") = Void;
overload selector(static #"invert") = Void;
overload selector(static #"invertedSet") = NSCharacterSet;
overload selector(static #"invocation") = NSInvocation;
overload selector(static #"invocationWithMethodSignature:") = NSInvocation, NSMethodSignature;
overload selector(static #"invoke") = Void;
overload selector(static #"invokeWithTarget:") = Void, Id;
overload selector(static #"isAbsolutePath") = Bool;
overload selector(static #"isAtEnd") = Bool;
overload selector(static #"isCancelled") = Bool;
overload selector(static #"isConcurrent") = Bool;
overload selector(static #"isContentDiscarded") = Bool;
overload selector(static #"isDaylightSavingTime") = Bool;
overload selector(static #"isDaylightSavingTimeForDate:") = Bool, NSDate;
overload selector(static #"isDeletableFileAtPath:") = Bool, NSString;
overload selector(static #"isDirectory") = Bool;
overload selector(static #"isEqual:") = Bool, Id;
overload selector(static #"isEqualToArray:") = Bool, NSArray;
overload selector(static #"isEqualToAttributedString:") = Bool, NSAttributedString;
overload selector(static #"isEqualToData:") = Bool, NSData;
overload selector(static #"isEqualToDate:") = Bool, NSDate;
overload selector(static #"isEqualToDictionary:") = Bool, NSDictionary;
overload selector(static #"isEqualToIndexSet:") = Bool, NSIndexSet;
overload selector(static #"isEqualToNumber:") = Bool, NSNumber;
overload selector(static #"isEqualToSet:") = Bool, NSSet;
overload selector(static #"isEqualToString:") = Bool, NSString;
overload selector(static #"isEqualToTimeZone:") = Bool, NSTimeZone;
overload selector(static #"isEqualToValue:") = Bool, NSValue;
overload selector(static #"isExecutableFileAtPath:") = Bool, NSString;
overload selector(static #"isExecuting") = Bool;
overload selector(static #"isFileReferenceURL") = Bool;
overload selector(static #"isFileURL") = Bool;
overload selector(static #"isFinished") = Bool;
overload selector(static #"isHTTPOnly") = Bool;
overload selector(static #"isKindOfClass:") = Bool, Id;
overload selector(static #"isLenient") = Bool;
overload selector(static #"isLoaded") = Bool;
overload selector(static #"isMainThread") = Bool;
overload selector(static #"isMemberOfClass:") = Bool, Id;
overload selector(static #"isMultiThreaded") = Bool;
overload selector(static #"isOneway") = Bool;
overload selector(static #"isPartialStringValid:newEditingString:errorDescription:") = Bool, NSString, Pointer[NSString], Pointer[NSString];
overload selector(static #"isPartialStringValid:proposedSelectedRange:originalString:originalSelectedRange:errorDescription:") = Bool, Pointer[NSString], NSRangePointer, NSString, NSRange, Pointer[NSString];
overload selector(static #"isPartialStringValidationEnabled") = Bool;
overload selector(static #"isProxy") = Bool;
overload selector(static #"isReadableFileAtPath:") = Bool, NSString;
overload selector(static #"isReady") = Bool;
overload selector(static #"isRedoing") = Bool;
overload selector(static #"isRegularFile") = Bool;
overload selector(static #"isSecure") = Bool;
overload selector(static #"isSessionOnly") = Bool;
overload selector(static #"isSubclassOfClass:") = Bool, Id;
overload selector(static #"isSubsetOfSet:") = Bool, NSSet;
overload selector(static #"isSupersetOfSet:") = Bool, NSCharacterSet;
overload selector(static #"isSuspended") = Bool;
overload selector(static #"isSymbolicLink") = Bool;
overload selector(static #"isUndoRegistrationEnabled") = Bool;
overload selector(static #"isUndoing") = Bool;
overload selector(static #"isValid") = Bool;
overload selector(static #"isWritableFileAtPath:") = Bool, NSString;
overload selector(static #"key") = NSString;
overload selector(static #"keyEnumerator") = NSEnumerator;
overload selector(static #"keyForFileWrapper:") = NSString, NSFileWrapper;
overload selector(static #"keyPath") = NSString;
overload selector(static #"keyPathsForValuesAffectingValueForKey:") = NSSet, NSString;
overload selector(static #"keysOfEntriesPassingTest:") = NSSet, UnknownType;
overload selector(static #"keysOfEntriesWithOptions:passingTest:") = NSSet, UInt, UnknownType;
overload selector(static #"keysSortedByValueUsingComparator:") = NSArray, NSComparator;
overload selector(static #"keysSortedByValueUsingSelector:") = NSArray, SelectorHandle;
overload selector(static #"keysSortedByValueWithOptions:usingComparator:") = NSArray, UInt, NSComparator;
overload selector(static #"knownTimeZoneNames") = NSArray;
overload selector(static #"languageMap") = NSDictionary;
overload selector(static #"languagesForScript:") = NSArray, NSString;
overload selector(static #"lastIndex") = UInt;
overload selector(static #"lastObject") = Id;
overload selector(static #"lastPathComponent") = NSString;
overload selector(static #"laterDate:") = NSDate, NSDate;
overload selector(static #"leftExpression") = NSExpression;
overload selector(static #"length") = UInt;
overload selector(static #"lengthOfBytesUsingEncoding:") = UInt, UInt;
overload selector(static #"letterCharacterSet") = Id;
overload selector(static #"level") = UInt;
overload selector(static #"levelsOfUndo") = UInt;
overload selector(static #"limitDateForMode:") = NSDate, NSString;
overload selector(static #"lineDirectionForLanguage:") = UInt, NSString;
overload selector(static #"lineNumber") = Int;
overload selector(static #"lineRangeForRange:") = NSRange, NSRange;
overload selector(static #"linkCheckingResultWithRange:URL:") = NSTextCheckingResult, NSRange, NSURL;
overload selector(static #"linkItemAtPath:toPath:error:") = Bool, NSString, NSString, Pointer[NSError];
overload selector(static #"linkItemAtURL:toURL:error:") = Bool, NSURL, NSURL, Pointer[NSError];
overload selector(static #"load") = Bool;
overload selector(static #"loadAndReturnError:") = Bool, Pointer[NSError];
overload selector(static #"localTimeZone") = NSTimeZone;
overload selector(static #"locale") = Id;
overload selector(static #"localeIdentifier") = NSString;
overload selector(static #"localeIdentifierFromComponents:") = NSString, NSDictionary;
overload selector(static #"localeIdentifierFromWindowsLocaleCode:") = NSString, UInt;
overload selector(static #"localizations") = NSArray;
overload selector(static #"localizedCaseInsensitiveCompare:") = Int, NSString;
overload selector(static #"localizedCompare:") = Int, NSString;
overload selector(static #"localizedDescription") = NSString;
overload selector(static #"localizedFailureReason") = NSString;
overload selector(static #"localizedInfoDictionary") = NSDictionary;
overload selector(static #"localizedName:locale:") = NSString, Int, NSLocale;
overload selector(static #"localizedNameOfStringEncoding:") = NSString, UInt;
overload selector(static #"localizedRecoveryOptions") = NSArray;
overload selector(static #"localizedRecoverySuggestion") = NSString;
overload selector(static #"localizedScannerWithString:") = Id, NSString;
overload selector(static #"localizedStandardCompare:") = Int, NSString;
overload selector(static #"localizedStringForKey:value:table:") = NSString, NSString, NSString, NSString;
overload selector(static #"localizedStringForStatusCode:") = NSString, Int;
overload selector(static #"localizedStringFromDate:dateStyle:timeStyle:") = NSString, NSDate, UInt, UInt;
overload selector(static #"localizedStringFromNumber:numberStyle:") = NSString, NSNumber, UInt;
overload varargSelector(static #"localizedStringWithFormat:") = Id, NSString;
overload selector(static #"lock") = Void;
overload selector(static #"lockBeforeDate:") = Bool, NSDate;
overload selector(static #"lockWhenCondition:") = Void, Int;
overload selector(static #"lockWhenCondition:beforeDate:") = Bool, Int, NSDate;
overload selector(static #"longCharacterIsMember:") = Bool, CULong;
overload selector(static #"longEraSymbols") = NSArray;
overload selector(static #"longLongValue") = Int64;
overload selector(static #"longValue") = CLong;
overload selector(static #"lossyCString") = Pointer[CChar];
overload selector(static #"lowercaseLetterCharacterSet") = Id;
overload selector(static #"lowercaseString") = NSString;
overload selector(static #"machPort") = UInt;
overload selector(static #"main") = Void;
overload selector(static #"mainBundle") = NSBundle;
overload selector(static #"mainDocumentURL") = NSURL;
overload selector(static #"mainQueue") = Id;
overload selector(static #"mainRunLoop") = NSRunLoop;
overload selector(static #"mainThread") = NSThread;
overload selector(static #"makeObjectsPerformSelector:") = Void, SelectorHandle;
overload selector(static #"makeObjectsPerformSelector:withObject:") = Void, SelectorHandle, Id;
overload selector(static #"matchesContentsOfURL:") = Bool, NSURL;
overload selector(static #"matchesInString:options:range:") = NSArray, NSString, UInt, NSRange;
overload selector(static #"maxConcurrentOperationCount") = Int;
overload selector(static #"maximum") = NSNumber;
overload selector(static #"maximumDecimalNumber") = NSDecimalNumber;
overload selector(static #"maximumFractionDigits") = UInt;
overload selector(static #"maximumIntegerDigits") = UInt;
overload selector(static #"maximumLengthOfBytesUsingEncoding:") = UInt, UInt;
overload selector(static #"maximumRangeOfUnit:") = NSRange, UInt;
overload selector(static #"maximumSignificantDigits") = UInt;
overload selector(static #"member:") = Id, Id;
overload selector(static #"memoryCapacity") = UInt;
overload selector(static #"methodForSelector:") = IMP, SelectorHandle;
overload selector(static #"methodReturnLength") = UInt;
overload selector(static #"methodReturnType") = Pointer[CChar];
overload selector(static #"methodSignature") = NSMethodSignature;
overload selector(static #"methodSignatureForSelector:") = NSMethodSignature, SelectorHandle;
overload selector(static #"minimum") = NSNumber;
overload selector(static #"minimumDaysInFirstWeek") = UInt;
overload selector(static #"minimumDecimalNumber") = NSDecimalNumber;
overload selector(static #"minimumFractionDigits") = UInt;
overload selector(static #"minimumIntegerDigits") = UInt;
overload selector(static #"minimumRangeOfUnit:") = NSRange, UInt;
overload selector(static #"minimumSignificantDigits") = UInt;
overload selector(static #"minusSet:") = Void, NSSet;
overload selector(static #"minusSign") = NSString;
overload selector(static #"minute") = Int;
overload selector(static #"month") = Int;
overload selector(static #"monthSymbols") = NSArray;
overload selector(static #"mountedVolumeURLsIncludingResourceValuesForKeys:options:") = NSArray, NSArray, UInt;
overload selector(static #"moveItemAtPath:toPath:error:") = Bool, NSString, NSString, Pointer[NSError];
overload selector(static #"moveItemAtURL:toURL:error:") = Bool, NSURL, NSURL, Pointer[NSError];
overload selector(static #"multiplier") = NSNumber;
overload selector(static #"mutableArrayValueForKey:") = NSMutableArray, NSString;
overload selector(static #"mutableArrayValueForKeyPath:") = NSMutableArray, NSString;
overload selector(static #"mutableBytes") = RawPointer;
overload selector(static #"mutableCopy") = Id;
overload selector(static #"mutableCopyWithZone:") = Id, Pointer[NSZone];
overload selector(static #"mutableSetValueForKey:") = NSMutableSet, NSString;
overload selector(static #"mutableSetValueForKeyPath:") = NSMutableSet, NSString;
overload selector(static #"mutableString") = NSMutableString;
overload selector(static #"name") = NSString;
overload selector(static #"needsToBeUpdatedFromPath:") = Bool, NSString;
overload selector(static #"negativeFormat") = NSString;
overload selector(static #"negativeInfinitySymbol") = NSString;
overload selector(static #"negativePrefix") = NSString;
overload selector(static #"negativeSuffix") = NSString;
overload selector(static #"netService:didNotPublish:") = Void, NSNetService, NSDictionary;
overload selector(static #"netService:didNotResolve:") = Void, NSNetService, NSDictionary;
overload selector(static #"netService:didUpdateTXTRecordData:") = Void, NSNetService, NSData;
overload selector(static #"netServiceBrowser:didFindDomain:moreComing:") = Void, NSNetServiceBrowser, NSString, Bool;
overload selector(static #"netServiceBrowser:didFindService:moreComing:") = Void, NSNetServiceBrowser, NSNetService, Bool;
overload selector(static #"netServiceBrowser:didNotSearch:") = Void, NSNetServiceBrowser, NSDictionary;
overload selector(static #"netServiceBrowser:didRemoveDomain:moreComing:") = Void, NSNetServiceBrowser, NSString, Bool;
overload selector(static #"netServiceBrowser:didRemoveService:moreComing:") = Void, NSNetServiceBrowser, NSNetService, Bool;
overload selector(static #"netServiceBrowserDidStopSearch:") = Void, NSNetServiceBrowser;
overload selector(static #"netServiceBrowserWillSearch:") = Void, NSNetServiceBrowser;
overload selector(static #"netServiceDidPublish:") = Void, NSNetService;
overload selector(static #"netServiceDidResolveAddress:") = Void, NSNetService;
overload selector(static #"netServiceDidStop:") = Void, NSNetService;
overload selector(static #"netServiceWillPublish:") = Void, NSNetService;
overload selector(static #"netServiceWillResolve:") = Void, NSNetService;
overload selector(static #"networkServiceType") = UInt;
overload selector(static #"new") = Id;
overload selector(static #"newlineCharacterSet") = Id;
overload selector(static #"nextDaylightSavingTimeTransition") = NSDate;
overload selector(static #"nextDaylightSavingTimeTransitionAfterDate:") = NSDate, NSDate;
overload selector(static #"nextObject") = Id;
overload selector(static #"nilSymbol") = NSString;
overload selector(static #"nonBaseCharacterSet") = Id;
overload selector(static #"nonretainedObjectValue") = Id;
overload selector(static #"notANumber") = NSDecimalNumber;
overload selector(static #"notANumberSymbol") = NSString;
overload selector(static #"notPredicateWithSubpredicate:") = NSPredicate, NSPredicate;
overload selector(static #"notificationWithName:object:") = Id, NSString, Id;
overload selector(static #"notificationWithName:object:userInfo:") = Id, NSString, Id, NSDictionary;
overload selector(static #"null") = NSNull;
overload selector(static #"numberFromString:") = NSNumber, NSString;
overload selector(static #"numberOfArguments") = UInt;
overload selector(static #"numberOfCaptureGroups") = UInt;
overload selector(static #"numberOfMatchesInString:options:range:") = UInt, NSString, UInt, NSRange;
overload selector(static #"numberOfRanges") = UInt;
overload selector(static #"numberStyle") = UInt;
overload selector(static #"numberWithBool:") = NSNumber, Bool;
overload selector(static #"numberWithChar:") = NSNumber, CChar;
overload selector(static #"numberWithDouble:") = NSNumber, Double;
overload selector(static #"numberWithFloat:") = NSNumber, Float;
overload selector(static #"numberWithInt:") = NSNumber, Int;
overload selector(static #"numberWithInteger:") = NSNumber, Int;
overload selector(static #"numberWithLong:") = NSNumber, CLong;
overload selector(static #"numberWithLongLong:") = NSNumber, Int64;
overload selector(static #"numberWithShort:") = NSNumber, Short;
overload selector(static #"numberWithUnsignedChar:") = NSNumber, CUChar;
overload selector(static #"numberWithUnsignedInt:") = NSNumber, UInt;
overload selector(static #"numberWithUnsignedInteger:") = NSNumber, UInt;
overload selector(static #"numberWithUnsignedLong:") = NSNumber, CULong;
overload selector(static #"numberWithUnsignedLongLong:") = NSNumber, UInt64;
overload selector(static #"numberWithUnsignedShort:") = NSNumber, UShort;
overload selector(static #"objCType") = Pointer[CChar];
overload selector(static #"object") = Id;
overload selector(static #"objectAtIndex:") = Id, UInt;
overload selector(static #"objectEnumerator") = NSEnumerator;
overload selector(static #"objectForInfoDictionaryKey:") = Id, NSString;
overload selector(static #"objectForKey:") = Id, Id;
overload selector(static #"objectIsForcedForKey:") = Bool, NSString;
overload selector(static #"objectIsForcedForKey:inDomain:") = Bool, NSString, NSString;
overload selector(static #"objectZone") = Pointer[NSZone];
overload selector(static #"objectsAtIndexes:") = NSArray, NSIndexSet;
overload selector(static #"objectsForKeys:notFoundMarker:") = NSArray, NSArray, Id;
overload selector(static #"objectsPassingTest:") = NSSet, UnknownType;
overload selector(static #"objectsWithOptions:passingTest:") = NSSet, UInt, UnknownType;
overload selector(static #"observationInfo") = RawPointer;
overload selector(static #"observeValueForKeyPath:ofObject:change:context:") = Void, NSString, Id, NSDictionary, RawPointer;
overload selector(static #"offsetInFile") = UInt64;
overload selector(static #"one") = NSDecimalNumber;
overload selector(static #"open") = Void;
overload selector(static #"operand") = NSExpression;
overload selector(static #"operatingSystem") = UInt;
overload selector(static #"operatingSystemName") = NSString;
overload selector(static #"operatingSystemVersionString") = NSString;
overload selector(static #"operationCount") = UInt;
overload selector(static #"operations") = NSArray;
overload selector(static #"options") = UInt;
overload selector(static #"orPredicateWithSubpredicates:") = NSPredicate, NSArray;
overload selector(static #"ordinalityOfUnit:inUnit:forDate:") = UInt, UInt, UInt, NSDate;
overload selector(static #"orthography") = NSOrthography;
overload selector(static #"orthographyCheckingResultWithRange:orthography:") = NSTextCheckingResult, NSRange, NSOrthography;
overload selector(static #"orthographyWithDominantScript:languageMap:") = Id, NSString, NSDictionary;
overload selector(static #"outputFormat") = UInt;
overload selector(static #"outputStreamToBuffer:capacity:") = Id, Pointer[CUChar], UInt;
overload selector(static #"outputStreamToFileAtPath:append:") = Id, NSString, Bool;
overload selector(static #"outputStreamToMemory") = Id;
overload selector(static #"outputStreamWithURL:append:") = Id, NSURL, Bool;
overload selector(static #"paddingCharacter") = NSString;
overload selector(static #"paddingPosition") = UInt;
overload selector(static #"paragraphRangeForRange:") = NSRange, NSRange;
overload selector(static #"parameterString") = NSString;
overload selector(static #"parse") = Bool;
overload selector(static #"parser:didEndElement:namespaceURI:qualifiedName:") = Void, NSXMLParser, NSString, NSString, NSString;
overload selector(static #"parser:didEndMappingPrefix:") = Void, NSXMLParser, NSString;
overload selector(static #"parser:didStartElement:namespaceURI:qualifiedName:attributes:") = Void, NSXMLParser, NSString, NSString, NSString, NSDictionary;
overload selector(static #"parser:didStartMappingPrefix:toURI:") = Void, NSXMLParser, NSString, NSString;
overload selector(static #"parser:foundAttributeDeclarationWithName:forElement:type:defaultValue:") = Void, NSXMLParser, NSString, NSString, NSString, NSString;
overload selector(static #"parser:foundCDATA:") = Void, NSXMLParser, NSData;
overload selector(static #"parser:foundCharacters:") = Void, NSXMLParser, NSString;
overload selector(static #"parser:foundComment:") = Void, NSXMLParser, NSString;
overload selector(static #"parser:foundElementDeclarationWithName:model:") = Void, NSXMLParser, NSString, NSString;
overload selector(static #"parser:foundExternalEntityDeclarationWithName:publicID:systemID:") = Void, NSXMLParser, NSString, NSString, NSString;
overload selector(static #"parser:foundIgnorableWhitespace:") = Void, NSXMLParser, NSString;
overload selector(static #"parser:foundInternalEntityDeclarationWithName:value:") = Void, NSXMLParser, NSString, NSString;
overload selector(static #"parser:foundNotationDeclarationWithName:publicID:systemID:") = Void, NSXMLParser, NSString, NSString, NSString;
overload selector(static #"parser:foundProcessingInstructionWithTarget:data:") = Void, NSXMLParser, NSString, NSString;
overload selector(static #"parser:foundUnparsedEntityDeclarationWithName:publicID:systemID:notationName:") = Void, NSXMLParser, NSString, NSString, NSString, NSString;
overload selector(static #"parser:parseErrorOccurred:") = Void, NSXMLParser, NSError;
overload selector(static #"parser:resolveExternalEntityName:systemID:") = NSData, NSXMLParser, NSString, NSString;
overload selector(static #"parser:validationErrorOccurred:") = Void, NSXMLParser, NSError;
overload selector(static #"parserDidEndDocument:") = Void, NSXMLParser;
overload selector(static #"parserDidStartDocument:") = Void, NSXMLParser;
overload selector(static #"parserError") = NSError;
overload selector(static #"password") = NSString;
overload selector(static #"path") = NSString;
overload selector(static #"pathComponents") = NSArray;
overload selector(static #"pathContentOfSymbolicLinkAtPath:") = NSString, NSString;
overload selector(static #"pathExtension") = NSString;
overload selector(static #"pathForAuxiliaryExecutable:") = NSString, NSString;
overload selector(static #"pathForResource:ofType:") = NSString, NSString, NSString;
overload selector(static #"pathForResource:ofType:inDirectory:") = NSString, NSString, NSString, NSString;
overload selector(static #"pathForResource:ofType:inDirectory:forLocalization:") = NSString, NSString, NSString, NSString, NSString;
overload selector(static #"pathWithComponents:") = NSString, NSArray;
overload selector(static #"pathsForResourcesOfType:inDirectory:") = NSArray, NSString, NSString;
overload selector(static #"pathsForResourcesOfType:inDirectory:forLocalization:") = NSArray, NSString, NSString, NSString;
overload selector(static #"pathsMatchingExtensions:") = NSArray, NSArray;
overload selector(static #"pattern") = NSString;
overload selector(static #"perMillSymbol") = NSString;
overload selector(static #"percentSymbol") = NSString;
overload selector(static #"performSelector:") = Id, SelectorHandle;
overload selector(static #"performSelector:onThread:withObject:waitUntilDone:") = Void, SelectorHandle, NSThread, Id, Bool;
overload selector(static #"performSelector:onThread:withObject:waitUntilDone:modes:") = Void, SelectorHandle, NSThread, Id, Bool, NSArray;
overload selector(static #"performSelector:target:argument:order:modes:") = Void, SelectorHandle, Id, Id, UInt, NSArray;
overload selector(static #"performSelector:withObject:") = Id, SelectorHandle, Id;
overload selector(static #"performSelector:withObject:afterDelay:") = Void, SelectorHandle, Id, Double;
overload selector(static #"performSelector:withObject:afterDelay:inModes:") = Void, SelectorHandle, Id, Double, NSArray;
overload selector(static #"performSelector:withObject:withObject:") = Id, SelectorHandle, Id, Id;
overload selector(static #"performSelectorInBackground:withObject:") = Void, SelectorHandle, Id;
overload selector(static #"performSelectorOnMainThread:withObject:waitUntilDone:") = Void, SelectorHandle, Id, Bool;
overload selector(static #"performSelectorOnMainThread:withObject:waitUntilDone:modes:") = Void, SelectorHandle, Id, Bool, NSArray;
overload selector(static #"persistence") = UInt;
overload selector(static #"persistentDomainForName:") = NSDictionary, NSString;
overload selector(static #"persistentDomainNames") = NSArray;
overload selector(static #"phoneNumber") = NSString;
overload selector(static #"phoneNumberCheckingResultWithRange:phoneNumber:") = NSTextCheckingResult, NSRange, NSString;
overload selector(static #"physicalMemory") = UInt64;
overload selector(static #"pipe") = Id;
overload selector(static #"plusSign") = NSString;
overload selector(static #"pointerValue") = RawPointer;
overload selector(static #"port") = Id;
overload selector(static #"portList") = NSArray;
overload selector(static #"portWithMachPort:") = NSPort, UInt;
overload selector(static #"portWithMachPort:options:") = NSPort, UInt, UInt;
overload selector(static #"positiveFormat") = NSString;
overload selector(static #"positiveInfinitySymbol") = NSString;
overload selector(static #"positivePrefix") = NSString;
overload selector(static #"positiveSuffix") = NSString;
overload selector(static #"postNotification:") = Void, NSNotification;
overload selector(static #"postNotificationName:object:") = Void, NSString, Id;
overload selector(static #"postNotificationName:object:userInfo:") = Void, NSString, Id, NSDictionary;
overload selector(static #"precomposedStringWithCanonicalMapping") = NSString;
overload selector(static #"precomposedStringWithCompatibilityMapping") = NSString;
overload selector(static #"predicate") = NSPredicate;
overload selector(static #"predicateFormat") = NSString;
overload selector(static #"predicateOperatorType") = UInt;
overload selector(static #"predicateWithBlock:") = NSPredicate, UnknownType;
overload varargSelector(static #"predicateWithFormat:") = NSPredicate, NSString;
overload selector(static #"predicateWithFormat:argumentArray:") = NSPredicate, NSString, NSArray;
overload selector(static #"predicateWithFormat:arguments:") = NSPredicate, NSString, va_list;
overload selector(static #"predicateWithLeftExpression:rightExpression:customSelector:") = NSPredicate, NSExpression, NSExpression, SelectorHandle;
overload selector(static #"predicateWithLeftExpression:rightExpression:modifier:type:options:") = NSPredicate, NSExpression, NSExpression, UInt, UInt, UInt;
overload selector(static #"predicateWithSubstitutionVariables:") = NSPredicate, NSDictionary;
overload selector(static #"predicateWithValue:") = NSPredicate, Bool;
overload selector(static #"preferredFilename") = NSString;
overload selector(static #"preferredLanguages") = NSArray;
overload selector(static #"preferredLocalizations") = NSArray;
overload selector(static #"preferredLocalizationsFromArray:") = NSArray, NSArray;
overload selector(static #"preferredLocalizationsFromArray:forPreferences:") = NSArray, NSArray, NSArray;
overload selector(static #"preflightAndReturnError:") = Bool, Pointer[NSError];
overload selector(static #"prepareWithInvocationTarget:") = Id, Id;
overload selector(static #"previousFailureCount") = Int;
overload selector(static #"principalClass") = Id;
overload selector(static #"privateFrameworksPath") = NSString;
overload selector(static #"privateFrameworksURL") = NSURL;
overload selector(static #"processIdentifier") = Int;
overload selector(static #"processInfo") = NSProcessInfo;
overload selector(static #"processName") = NSString;
overload selector(static #"processorCount") = UInt;
overload selector(static #"properties") = NSDictionary;
overload selector(static #"propertyForKey:") = Id, NSString;
overload selector(static #"propertyForKey:inRequest:") = Id, NSString, NSURLRequest;
overload selector(static #"propertyList") = Id;
overload selector(static #"propertyList:isValidForFormat:") = Bool, Id, UInt;
overload selector(static #"propertyListFromData:mutabilityOption:format:errorDescription:") = Id, NSData, UInt, Pointer[UInt], Pointer[NSString];
overload selector(static #"propertyListFromStringsFileFormat") = NSDictionary;
overload selector(static #"propertyListWithData:options:format:error:") = Id, NSData, UInt, Pointer[UInt], Pointer[NSError];
overload selector(static #"propertyListWithStream:options:format:error:") = Id, NSInputStream, UInt, Pointer[UInt], Pointer[NSError];
overload selector(static #"proposedCredential") = NSURLCredential;
overload selector(static #"protectionSpace") = NSURLProtectionSpace;
overload selector(static #"protocol") = NSString;
overload selector(static #"proxyType") = NSString;
overload selector(static #"publicID") = NSString;
overload selector(static #"publish") = Void;
overload selector(static #"publishWithOptions:") = Void, UInt;
overload selector(static #"punctuationCharacterSet") = Id;
overload selector(static #"quarter") = Int;
overload selector(static #"quarterSymbols") = NSArray;
overload selector(static #"query") = NSString;
overload selector(static #"queuePriority") = Int;
overload selector(static #"quoteCheckingResultWithRange:replacementString:") = NSTextCheckingResult, NSRange, NSString;
overload selector(static #"raise") = Void;
overload varargSelector(static #"raise:format:") = Void, NSString, NSString;
overload selector(static #"raise:format:arguments:") = Void, NSString, NSString, va_list;
overload selector(static #"range") = NSRange;
overload selector(static #"rangeAtIndex:") = NSRange, UInt;
overload selector(static #"rangeOfCharacterFromSet:") = NSRange, NSCharacterSet;
overload selector(static #"rangeOfCharacterFromSet:options:") = NSRange, NSCharacterSet, UInt;
overload selector(static #"rangeOfCharacterFromSet:options:range:") = NSRange, NSCharacterSet, UInt, NSRange;
overload selector(static #"rangeOfComposedCharacterSequenceAtIndex:") = NSRange, UInt;
overload selector(static #"rangeOfComposedCharacterSequencesForRange:") = NSRange, NSRange;
overload selector(static #"rangeOfData:options:range:") = NSRange, NSData, UInt, NSRange;
overload selector(static #"rangeOfFirstMatchInString:options:range:") = NSRange, NSString, UInt, NSRange;
overload selector(static #"rangeOfString:") = NSRange, NSString;
overload selector(static #"rangeOfString:options:") = NSRange, NSString, UInt;
overload selector(static #"rangeOfString:options:range:") = NSRange, NSString, UInt, NSRange;
overload selector(static #"rangeOfString:options:range:locale:") = NSRange, NSString, UInt, NSRange, NSLocale;
overload selector(static #"rangeOfUnit:inUnit:forDate:") = NSRange, UInt, UInt, NSDate;
overload selector(static #"rangeOfUnit:startDate:interval:forDate:") = Bool, UInt, Pointer[NSDate], Pointer[Double], NSDate;
overload selector(static #"rangeValue") = NSRange;
overload selector(static #"read:maxLength:") = Int, Pointer[CUChar], UInt;
overload selector(static #"readDataOfLength:") = NSData, UInt;
overload selector(static #"readDataToEndOfFile") = NSData;
overload selector(static #"readFromURL:options:error:") = Bool, NSURL, UInt, Pointer[NSError];
overload selector(static #"readInBackgroundAndNotify") = Void;
overload selector(static #"readInBackgroundAndNotifyForModes:") = Void, NSArray;
overload selector(static #"readToEndOfFileInBackgroundAndNotify") = Void;
overload selector(static #"readToEndOfFileInBackgroundAndNotifyForModes:") = Void, NSArray;
overload selector(static #"realm") = NSString;
overload selector(static #"reason") = NSString;
overload selector(static #"receivesCredentialSecurely") = Bool;
overload selector(static #"recoveryAttempter") = Id;
overload selector(static #"redo") = Void;
overload selector(static #"redoActionName") = NSString;
overload selector(static #"redoMenuItemTitle") = NSString;
overload selector(static #"redoMenuTitleForUndoActionName:") = NSString, NSString;
overload selector(static #"registerClass:") = Bool, Id;
overload selector(static #"registerDefaults:") = Void, NSDictionary;
overload selector(static #"registerUndoWithTarget:selector:object:") = Void, Id, SelectorHandle, Id;
overload selector(static #"regularExpression") = NSRegularExpression;
overload selector(static #"regularExpressionCheckingResultWithRanges:count:regularExpression:") = NSTextCheckingResult, NSRangePointer, UInt, NSRegularExpression;
overload selector(static #"regularExpressionWithPattern:options:error:") = NSRegularExpression, NSString, UInt, Pointer[NSError];
overload selector(static #"regularFileContents") = NSData;
overload selector(static #"relativePath") = NSString;
overload selector(static #"relativeString") = NSString;
overload selector(static #"release") = Void;
overload selector(static #"removeAllActions") = Void;
overload selector(static #"removeAllActionsWithTarget:") = Void, Id;
overload selector(static #"removeAllCachedResponses") = Void;
overload selector(static #"removeAllIndexes") = Void;
overload selector(static #"removeAllObjects") = Void;
overload selector(static #"removeAttribute:range:") = Void, NSString, NSRange;
overload selector(static #"removeCachedResponseForRequest:") = Void, NSURLRequest;
overload selector(static #"removeCharactersInRange:") = Void, NSRange;
overload selector(static #"removeCharactersInString:") = Void, NSString;
overload selector(static #"removeCredential:forProtectionSpace:") = Void, NSURLCredential, NSURLProtectionSpace;
overload selector(static #"removeDependency:") = Void, NSOperation;
overload selector(static #"removeFileWrapper:") = Void, NSFileWrapper;
overload selector(static #"removeFromRunLoop:forMode:") = Void, NSRunLoop, NSString;
overload selector(static #"removeIndex:") = Void, UInt;
overload selector(static #"removeIndexes:") = Void, NSIndexSet;
overload selector(static #"removeIndexesInRange:") = Void, NSRange;
overload selector(static #"removeItemAtPath:error:") = Bool, NSString, Pointer[NSError];
overload selector(static #"removeItemAtURL:error:") = Bool, NSURL, Pointer[NSError];
overload selector(static #"removeLastObject") = Void;
overload selector(static #"removeObject:") = Void, Id;
overload selector(static #"removeObject:inRange:") = Void, Id, NSRange;
overload selector(static #"removeObjectAtIndex:") = Void, UInt;
overload selector(static #"removeObjectForKey:") = Void, Id;
overload selector(static #"removeObjectIdenticalTo:") = Void, Id;
overload selector(static #"removeObjectIdenticalTo:inRange:") = Void, Id, NSRange;
overload selector(static #"removeObjectsAtIndexes:") = Void, NSIndexSet;
overload selector(static #"removeObjectsForKeys:") = Void, NSArray;
overload selector(static #"removeObjectsFromIndices:numIndices:") = Void, Pointer[UInt], UInt;
overload selector(static #"removeObjectsInArray:") = Void, NSArray;
overload selector(static #"removeObjectsInRange:") = Void, NSRange;
overload selector(static #"removeObserver:") = Void, Id;
overload selector(static #"removeObserver:forKeyPath:") = Void, NSObject, NSString;
overload selector(static #"removeObserver:fromObjectsAtIndexes:forKeyPath:") = Void, NSObject, NSIndexSet, NSString;
overload selector(static #"removeObserver:name:object:") = Void, Id, NSString, Id;
overload selector(static #"removePersistentDomainForName:") = Void, NSString;
overload selector(static #"removePort:forMode:") = Void, NSPort, NSString;
overload selector(static #"removePropertyForKey:inRequest:") = Void, NSString, NSMutableURLRequest;
overload selector(static #"removeSuiteNamed:") = Void, NSString;
overload selector(static #"removeVolatileDomainForName:") = Void, NSString;
overload selector(static #"replaceBytesInRange:withBytes:") = Void, NSRange, RawPointer;
overload selector(static #"replaceBytesInRange:withBytes:length:") = Void, NSRange, RawPointer, UInt;
overload selector(static #"replaceCharactersInRange:withAttributedString:") = Void, NSRange, NSAttributedString;
overload selector(static #"replaceCharactersInRange:withString:") = Void, NSRange, NSString;
overload selector(static #"replaceItemAtURL:withItemAtURL:backupItemName:options:resultingItemURL:error:") = Bool, NSURL, NSURL, NSString, UInt, Pointer[NSURL], Pointer[NSError];
overload selector(static #"replaceMatchesInString:options:range:withTemplate:") = UInt, NSMutableString, UInt, NSRange, NSString;
overload selector(static #"replaceObjectAtIndex:withObject:") = Void, UInt, Id;
overload selector(static #"replaceObjectsAtIndexes:withObjects:") = Void, NSIndexSet, NSArray;
overload selector(static #"replaceObjectsInRange:withObjectsFromArray:") = Void, NSRange, NSArray;
overload selector(static #"replaceObjectsInRange:withObjectsFromArray:range:") = Void, NSRange, NSArray, NSRange;
overload selector(static #"replaceOccurrencesOfString:withString:options:range:") = UInt, NSString, NSString, UInt, NSRange;
overload selector(static #"replacementCheckingResultWithRange:replacementString:") = NSTextCheckingResult, NSRange, NSString;
overload selector(static #"replacementObjectForCoder:") = Id, NSCoder;
overload selector(static #"replacementObjectForKeyedArchiver:") = Id, NSKeyedArchiver;
overload selector(static #"replacementString") = NSString;
overload selector(static #"replacementStringForResult:inString:offset:template:") = NSString, NSTextCheckingResult, NSString, Int, NSString;
overload selector(static #"request") = NSURLRequest;
overload selector(static #"requestHeaderFieldsWithCookies:") = NSDictionary, NSArray;
overload selector(static #"requestIsCacheEquivalent:toRequest:") = Bool, NSURLRequest, NSURLRequest;
overload selector(static #"requestWithURL:") = Id, NSURL;
overload selector(static #"requestWithURL:cachePolicy:timeoutInterval:") = Id, NSURL, UInt, Double;
overload selector(static #"reservedSpaceLength") = UInt;
overload selector(static #"resetBytesInRange:") = Void, NSRange;
overload selector(static #"resetStandardUserDefaults") = Void;
overload selector(static #"resetSystemTimeZone") = Void;
overload selector(static #"resolve") = Void;
overload selector(static #"resolveClassMethod:") = Bool, SelectorHandle;
overload selector(static #"resolveInstanceMethod:") = Bool, SelectorHandle;
overload selector(static #"resolveWithTimeout:") = Void, Double;
overload selector(static #"resourcePath") = NSString;
overload selector(static #"resourceSpecifier") = NSString;
overload selector(static #"resourceURL") = NSURL;
overload selector(static #"resourceValuesForKeys:error:") = NSDictionary, NSArray, Pointer[NSError];
overload selector(static #"resourceValuesForKeys:fromBookmarkData:") = NSDictionary, NSArray, NSData;
overload selector(static #"respondsToSelector:") = Bool, SelectorHandle;
overload selector(static #"response") = NSURLResponse;
overload selector(static #"result") = Id;
overload selector(static #"resultType") = UInt64;
overload selector(static #"retain") = Id;
overload selector(static #"retainArguments") = Void;
overload selector(static #"retainCount") = UInt;
overload selector(static #"reverseObjectEnumerator") = NSEnumerator;
overload selector(static #"reverseTransformedValue:") = Id, Id;
overload selector(static #"reversedSortDescriptor") = Id;
overload selector(static #"rightExpression") = NSExpression;
overload selector(static #"roundingIncrement") = NSNumber;
overload selector(static #"roundingMode") = UInt;
overload selector(static #"run") = Void;
overload selector(static #"runLoopModes") = NSArray;
overload selector(static #"runMode:beforeDate:") = Bool, NSString, NSDate;
overload selector(static #"runUntilDate:") = Void, NSDate;
overload selector(static #"scale") = Short;
overload selector(static #"scanCharactersFromSet:intoString:") = Bool, NSCharacterSet, Pointer[NSString];
overload selector(static #"scanDecimal:") = Bool, Pointer[NSDecimal];
overload selector(static #"scanDouble:") = Bool, Pointer[Double];
overload selector(static #"scanFloat:") = Bool, Pointer[Float];
overload selector(static #"scanHexDouble:") = Bool, Pointer[Double];
overload selector(static #"scanHexFloat:") = Bool, Pointer[Float];
overload selector(static #"scanHexInt:") = Bool, Pointer[UInt];
overload selector(static #"scanHexLongLong:") = Bool, Pointer[UInt64];
overload selector(static #"scanInt:") = Bool, Pointer[Int];
overload selector(static #"scanInteger:") = Bool, Pointer[Int];
overload selector(static #"scanLocation") = UInt;
overload selector(static #"scanLongLong:") = Bool, Pointer[Int64];
overload selector(static #"scanString:intoString:") = Bool, NSString, Pointer[NSString];
overload selector(static #"scanUpToCharactersFromSet:intoString:") = Bool, NSCharacterSet, Pointer[NSString];
overload selector(static #"scanUpToString:intoString:") = Bool, NSString, Pointer[NSString];
overload selector(static #"scannerWithString:") = Id, NSString;
overload selector(static #"scheduleInRunLoop:forMode:") = Void, NSRunLoop, NSString;
overload selector(static #"scheduledTimerWithTimeInterval:invocation:repeats:") = NSTimer, Double, NSInvocation, Bool;
overload selector(static #"scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:") = NSTimer, Double, Id, SelectorHandle, Id, Bool;
overload selector(static #"scheme") = NSString;
overload selector(static #"searchForBrowsableDomains") = Void;
overload selector(static #"searchForRegistrationDomains") = Void;
overload selector(static #"searchForServicesOfType:inDomain:") = Void, NSString, NSString;
overload selector(static #"second") = Int;
overload selector(static #"secondaryGroupingSize") = UInt;
overload selector(static #"secondsFromGMT") = Int;
overload selector(static #"secondsFromGMTForDate:") = Int, NSDate;
overload selector(static #"seekToEndOfFile") = UInt64;
overload selector(static #"seekToFileOffset:") = Void, UInt64;
overload selector(static #"selector") = SelectorHandle;
overload selector(static #"self") = Id;
overload selector(static #"sendBeforeDate:components:from:reserved:") = Bool, NSDate, NSMutableArray, NSPort, UInt;
overload selector(static #"sendBeforeDate:msgid:components:from:reserved:") = Bool, NSDate, UInt, NSMutableArray, NSPort, UInt;
overload selector(static #"sendSynchronousRequest:returningResponse:error:") = NSData, NSURLRequest, Pointer[NSURLResponse], Pointer[NSError];
overload selector(static #"sender") = Id;
overload selector(static #"serializedRepresentation") = NSData;
overload selector(static #"serverTrust") = SecTrustRef;
overload selector(static #"set") = Id;
overload selector(static #"setAMSymbol:") = Void, NSString;
overload selector(static #"setAbbreviationDictionary:") = Void, NSDictionary;
overload selector(static #"setActionName:") = Void, NSString;
overload selector(static #"setAllHTTPHeaderFields:") = Void, NSDictionary;
overload selector(static #"setAllowsFloats:") = Void, Bool;
overload selector(static #"setAlwaysShowsDecimalSeparator:") = Void, Bool;
overload selector(static #"setArgument:atIndex:") = Void, RawPointer, Int;
overload selector(static #"setArray:") = Void, NSArray;
overload selector(static #"setAttributedString:") = Void, NSAttributedString;
overload selector(static #"setAttributes:ofItemAtPath:error:") = Bool, NSDictionary, NSString, Pointer[NSError];
overload selector(static #"setAttributes:range:") = Void, NSDictionary, NSRange;
overload selector(static #"setBool:forKey:") = Void, Bool, NSString;
overload selector(static #"setByAddingObject:") = NSSet, Id;
overload selector(static #"setByAddingObjectsFromArray:") = NSSet, NSArray;
overload selector(static #"setByAddingObjectsFromSet:") = NSSet, NSSet;
overload selector(static #"setCachePolicy:") = Void, UInt;
overload selector(static #"setCalendar:") = Void, NSCalendar;
overload selector(static #"setCaseSensitive:") = Void, Bool;
overload selector(static #"setCharactersToBeSkipped:") = Void, NSCharacterSet;
overload selector(static #"setClass:forClassName:") = Void, Id, NSString;
overload selector(static #"setClassName:forClass:") = Void, NSString, Id;
overload selector(static #"setCompletionBlock:") = Void, UnknownType;
overload selector(static #"setCookie:") = Void, NSHTTPCookie;
overload selector(static #"setCookieAcceptPolicy:") = Void, UInt;
overload selector(static #"setCookies:forURL:mainDocumentURL:") = Void, NSArray, NSURL, NSURL;
overload selector(static #"setCountLimit:") = Void, UInt;
overload selector(static #"setCredential:forProtectionSpace:") = Void, NSURLCredential, NSURLProtectionSpace;
overload selector(static #"setCurrencyCode:") = Void, NSString;
overload selector(static #"setCurrencyDecimalSeparator:") = Void, NSString;
overload selector(static #"setCurrencyGroupingSeparator:") = Void, NSString;
overload selector(static #"setCurrencySymbol:") = Void, NSString;
overload selector(static #"setData:") = Void, NSData;
overload selector(static #"setDateFormat:") = Void, NSString;
overload selector(static #"setDateStyle:") = Void, UInt;
overload selector(static #"setDay:") = Void, Int;
overload selector(static #"setDecimalSeparator:") = Void, NSString;
overload selector(static #"setDefaultBehavior:") = Void, Id;
overload selector(static #"setDefaultCredential:forProtectionSpace:") = Void, NSURLCredential, NSURLProtectionSpace;
overload selector(static #"setDefaultDate:") = Void, NSDate;
overload selector(static #"setDefaultFormatterBehavior:") = Void, UInt;
overload selector(static #"setDefaultTimeZone:") = Void, NSTimeZone;
overload selector(static #"setDelegate:") = Void, Id;
overload selector(static #"setDictionary:") = Void, NSDictionary;
overload selector(static #"setDiskCapacity:") = Void, UInt;
overload selector(static #"setDoesRelativeDateFormatting:") = Void, Bool;
overload selector(static #"setDouble:forKey:") = Void, Double, NSString;
overload selector(static #"setEra:") = Void, Int;
overload selector(static #"setEraSymbols:") = Void, NSArray;
overload selector(static #"setEvictsObjectsWithDiscardedContent:") = Void, Bool;
overload selector(static #"setExponentSymbol:") = Void, NSString;
overload selector(static #"setFileAttributes:") = Void, NSDictionary;
overload selector(static #"setFilename:") = Void, NSString;
overload selector(static #"setFireDate:") = Void, NSDate;
overload selector(static #"setFirstWeekday:") = Void, UInt;
overload selector(static #"setFloat:forKey:") = Void, Float, NSString;
overload selector(static #"setFormatWidth:") = Void, UInt;
overload selector(static #"setFormatterBehavior:") = Void, UInt;
overload selector(static #"setGeneratesCalendarDates:") = Void, Bool;
overload selector(static #"setGeneratesDecimalNumbers:") = Void, Bool;
overload selector(static #"setGregorianStartDate:") = Void, NSDate;
overload selector(static #"setGroupingSeparator:") = Void, NSString;
overload selector(static #"setGroupingSize:") = Void, UInt;
overload selector(static #"setGroupsByEvent:") = Void, Bool;
overload selector(static #"setHTTPBody:") = Void, NSData;
overload selector(static #"setHTTPBodyStream:") = Void, NSInputStream;
overload selector(static #"setHTTPMethod:") = Void, NSString;
overload selector(static #"setHTTPShouldHandleCookies:") = Void, Bool;
overload selector(static #"setHTTPShouldUsePipelining:") = Void, Bool;
overload selector(static #"setHour:") = Void, Int;
overload selector(static #"setInteger:forKey:") = Void, Int, NSString;
overload selector(static #"setInternationalCurrencySymbol:") = Void, NSString;
overload selector(static #"setLength:") = Void, UInt;
overload selector(static #"setLenient:") = Void, Bool;
overload selector(static #"setLevelsOfUndo:") = Void, UInt;
overload selector(static #"setLocale:") = Void, NSLocale;
overload selector(static #"setLongEraSymbols:") = Void, NSArray;
overload selector(static #"setMainDocumentURL:") = Void, NSURL;
overload selector(static #"setMaxConcurrentOperationCount:") = Void, Int;
overload selector(static #"setMaximum:") = Void, NSNumber;
overload selector(static #"setMaximumFractionDigits:") = Void, UInt;
overload selector(static #"setMaximumIntegerDigits:") = Void, UInt;
overload selector(static #"setMaximumSignificantDigits:") = Void, UInt;
overload selector(static #"setMemoryCapacity:") = Void, UInt;
overload selector(static #"setMinimum:") = Void, NSNumber;
overload selector(static #"setMinimumDaysInFirstWeek:") = Void, UInt;
overload selector(static #"setMinimumFractionDigits:") = Void, UInt;
overload selector(static #"setMinimumIntegerDigits:") = Void, UInt;
overload selector(static #"setMinimumSignificantDigits:") = Void, UInt;
overload selector(static #"setMinusSign:") = Void, NSString;
overload selector(static #"setMinute:") = Void, Int;
overload selector(static #"setMonth:") = Void, Int;
overload selector(static #"setMonthSymbols:") = Void, NSArray;
overload selector(static #"setMultiplier:") = Void, NSNumber;
overload selector(static #"setName:") = Void, NSString;
overload selector(static #"setNegativeFormat:") = Void, NSString;
overload selector(static #"setNegativeInfinitySymbol:") = Void, NSString;
overload selector(static #"setNegativePrefix:") = Void, NSString;
overload selector(static #"setNegativeSuffix:") = Void, NSString;
overload selector(static #"setNetworkServiceType:") = Void, UInt;
overload selector(static #"setNilSymbol:") = Void, NSString;
overload selector(static #"setNilValueForKey:") = Void, NSString;
overload selector(static #"setNotANumberSymbol:") = Void, NSString;
overload selector(static #"setNumberStyle:") = Void, UInt;
overload selector(static #"setObject:forKey:") = Void, Id, Id;
overload selector(static #"setObject:forKey:cost:") = Void, Id, Id, UInt;
overload selector(static #"setObjectZone:") = Void, Pointer[NSZone];
overload selector(static #"setObservationInfo:") = Void, RawPointer;
overload selector(static #"setOutputFormat:") = Void, UInt;
overload selector(static #"setPMSymbol:") = Void, NSString;
overload selector(static #"setPaddingCharacter:") = Void, NSString;
overload selector(static #"setPaddingPosition:") = Void, UInt;
overload selector(static #"setPartialStringValidationEnabled:") = Void, Bool;
overload selector(static #"setPerMillSymbol:") = Void, NSString;
overload selector(static #"setPercentSymbol:") = Void, NSString;
overload selector(static #"setPersistentDomain:forName:") = Void, NSDictionary, NSString;
overload selector(static #"setPlusSign:") = Void, NSString;
overload selector(static #"setPositiveFormat:") = Void, NSString;
overload selector(static #"setPositiveInfinitySymbol:") = Void, NSString;
overload selector(static #"setPositivePrefix:") = Void, NSString;
overload selector(static #"setPositiveSuffix:") = Void, NSString;
overload selector(static #"setPreferredFilename:") = Void, NSString;
overload selector(static #"setProcessName:") = Void, NSString;
overload selector(static #"setProperty:forKey:") = Bool, Id, NSString;
overload selector(static #"setProperty:forKey:inRequest:") = Void, Id, NSString, NSMutableURLRequest;
overload selector(static #"setQuarter:") = Void, Int;
overload selector(static #"setQuarterSymbols:") = Void, NSArray;
overload selector(static #"setQueuePriority:") = Void, Int;
overload selector(static #"setResourceValue:forKey:error:") = Bool, Id, NSString, Pointer[NSError];
overload selector(static #"setResourceValues:error:") = Bool, NSDictionary, Pointer[NSError];
overload selector(static #"setReturnValue:") = Void, RawPointer;
overload selector(static #"setRoundingIncrement:") = Void, NSNumber;
overload selector(static #"setRoundingMode:") = Void, UInt;
overload selector(static #"setRunLoopModes:") = Void, NSArray;
overload selector(static #"setScanLocation:") = Void, UInt;
overload selector(static #"setSecond:") = Void, Int;
overload selector(static #"setSecondaryGroupingSize:") = Void, UInt;
overload selector(static #"setSelector:") = Void, SelectorHandle;
overload selector(static #"setSet:") = Void, NSSet;
overload selector(static #"setSharedURLCache:") = Void, NSURLCache;
overload selector(static #"setShortMonthSymbols:") = Void, NSArray;
overload selector(static #"setShortQuarterSymbols:") = Void, NSArray;
overload selector(static #"setShortStandaloneMonthSymbols:") = Void, NSArray;
overload selector(static #"setShortStandaloneQuarterSymbols:") = Void, NSArray;
overload selector(static #"setShortStandaloneWeekdaySymbols:") = Void, NSArray;
overload selector(static #"setShortWeekdaySymbols:") = Void, NSArray;
overload selector(static #"setShouldProcessNamespaces:") = Void, Bool;
overload selector(static #"setShouldReportNamespacePrefixes:") = Void, Bool;
overload selector(static #"setShouldResolveExternalEntities:") = Void, Bool;
overload selector(static #"setStackSize:") = Void, UInt;
overload selector(static #"setStandaloneMonthSymbols:") = Void, NSArray;
overload selector(static #"setStandaloneQuarterSymbols:") = Void, NSArray;
overload selector(static #"setStandaloneWeekdaySymbols:") = Void, NSArray;
overload selector(static #"setString:") = Void, NSString;
overload selector(static #"setSuspended:") = Void, Bool;
overload selector(static #"setTXTRecordData:") = Bool, NSData;
overload selector(static #"setTarget:") = Void, Id;
overload selector(static #"setTextAttributesForNegativeInfinity:") = Void, NSDictionary;
overload selector(static #"setTextAttributesForNegativeValues:") = Void, NSDictionary;
overload selector(static #"setTextAttributesForNil:") = Void, NSDictionary;
overload selector(static #"setTextAttributesForNotANumber:") = Void, NSDictionary;
overload selector(static #"setTextAttributesForPositiveInfinity:") = Void, NSDictionary;
overload selector(static #"setTextAttributesForPositiveValues:") = Void, NSDictionary;
overload selector(static #"setTextAttributesForZero:") = Void, NSDictionary;
overload selector(static #"setThreadPriority:") = Bool, Double;
overload selector(static #"setTimeStyle:") = Void, UInt;
overload selector(static #"setTimeZone:") = Void, NSTimeZone;
overload selector(static #"setTimeoutInterval:") = Void, Double;
overload selector(static #"setTotalCostLimit:") = Void, UInt;
overload selector(static #"setTwoDigitStartDate:") = Void, NSDate;
overload selector(static #"setURL:") = Void, NSURL;
overload selector(static #"setURL:forKey:") = Void, NSURL, NSString;
overload selector(static #"setUsesGroupingSeparator:") = Void, Bool;
overload selector(static #"setUsesSignificantDigits:") = Void, Bool;
overload selector(static #"setValue:forHTTPHeaderField:") = Void, NSString, NSString;
overload selector(static #"setValue:forKey:") = Void, Id, NSString;
overload selector(static #"setValue:forKeyPath:") = Void, Id, NSString;
overload selector(static #"setValue:forUndefinedKey:") = Void, Id, NSString;
overload selector(static #"setValueTransformer:forName:") = Void, NSValueTransformer, NSString;
overload selector(static #"setValuesForKeysWithDictionary:") = Void, NSDictionary;
overload selector(static #"setVersion:") = Void, Int;
overload selector(static #"setVeryShortMonthSymbols:") = Void, NSArray;
overload selector(static #"setVeryShortStandaloneMonthSymbols:") = Void, NSArray;
overload selector(static #"setVeryShortStandaloneWeekdaySymbols:") = Void, NSArray;
overload selector(static #"setVeryShortWeekdaySymbols:") = Void, NSArray;
overload selector(static #"setVolatileDomain:forName:") = Void, NSDictionary, NSString;
overload selector(static #"setWeek:") = Void, Int;
overload selector(static #"setWeekday:") = Void, Int;
overload selector(static #"setWeekdayOrdinal:") = Void, Int;
overload selector(static #"setWeekdaySymbols:") = Void, NSArray;
overload selector(static #"setWithArray:") = Id, NSArray;
overload selector(static #"setWithCapacity:") = Id, UInt;
overload selector(static #"setWithObject:") = Id, Id;
overload varargSelector(static #"setWithObjects:") = Id, Id;
overload selector(static #"setWithObjects:count:") = Id, Pointer[Id], UInt;
overload selector(static #"setWithSet:") = Id, NSSet;
overload selector(static #"setYear:") = Void, Int;
overload selector(static #"setZeroSymbol:") = Void, NSString;
overload selector(static #"sharedCredentialStorage") = NSURLCredentialStorage;
overload selector(static #"sharedFrameworksPath") = NSString;
overload selector(static #"sharedFrameworksURL") = NSURL;
overload selector(static #"sharedHTTPCookieStorage") = NSHTTPCookieStorage;
overload selector(static #"sharedSupportPath") = NSString;
overload selector(static #"sharedSupportURL") = NSURL;
overload selector(static #"sharedURLCache") = NSURLCache;
overload selector(static #"shiftIndexesStartingAtIndex:by:") = Void, UInt, Int;
overload selector(static #"shortMonthSymbols") = NSArray;
overload selector(static #"shortQuarterSymbols") = NSArray;
overload selector(static #"shortStandaloneMonthSymbols") = NSArray;
overload selector(static #"shortStandaloneQuarterSymbols") = NSArray;
overload selector(static #"shortStandaloneWeekdaySymbols") = NSArray;
overload selector(static #"shortValue") = Short;
overload selector(static #"shortWeekdaySymbols") = NSArray;
overload selector(static #"shouldProcessNamespaces") = Bool;
overload selector(static #"shouldReportNamespacePrefixes") = Bool;
overload selector(static #"shouldResolveExternalEntities") = Bool;
overload selector(static #"signal") = Void;
overload selector(static #"signatureWithObjCTypes:") = NSMethodSignature, Pointer[CChar];
overload selector(static #"skipDescendants") = Void;
overload selector(static #"skipDescendents") = Void;
overload selector(static #"sleepForTimeInterval:") = Void, Double;
overload selector(static #"sleepUntilDate:") = Void, NSDate;
overload selector(static #"smallestEncoding") = UInt;
overload selector(static #"sortDescriptorWithKey:ascending:") = Id, NSString, Bool;
overload selector(static #"sortDescriptorWithKey:ascending:comparator:") = Id, NSString, Bool, NSComparator;
overload selector(static #"sortDescriptorWithKey:ascending:selector:") = Id, NSString, Bool, SelectorHandle;
overload selector(static #"sortUsingComparator:") = Void, NSComparator;
overload selector(static #"sortUsingDescriptors:") = Void, NSArray;
overload selector(static #"sortUsingFunction:context:") = Void, CCodePointer[[Id,Id,RawPointer],[Int]], RawPointer;
overload selector(static #"sortUsingSelector:") = Void, SelectorHandle;
overload selector(static #"sortWithOptions:usingComparator:") = Void, UInt, NSComparator;
overload selector(static #"sortedArrayHint") = NSData;
overload selector(static #"sortedArrayUsingComparator:") = NSArray, NSComparator;
overload selector(static #"sortedArrayUsingDescriptors:") = NSArray, NSArray;
overload selector(static #"sortedArrayUsingFunction:context:") = NSArray, CCodePointer[[Id,Id,RawPointer],[Int]], RawPointer;
overload selector(static #"sortedArrayUsingFunction:context:hint:") = NSArray, CCodePointer[[Id,Id,RawPointer],[Int]], RawPointer, NSData;
overload selector(static #"sortedArrayUsingSelector:") = NSArray, SelectorHandle;
overload selector(static #"sortedArrayWithOptions:usingComparator:") = NSArray, UInt, NSComparator;
overload selector(static #"spellCheckingResultWithRange:") = NSTextCheckingResult, NSRange;
overload selector(static #"stackSize") = UInt;
overload selector(static #"standaloneMonthSymbols") = NSArray;
overload selector(static #"standaloneQuarterSymbols") = NSArray;
overload selector(static #"standaloneWeekdaySymbols") = NSArray;
overload selector(static #"standardUserDefaults") = NSUserDefaults;
overload selector(static #"standardizedURL") = NSURL;
overload selector(static #"start") = Void;
overload selector(static #"startLoading") = Void;
overload selector(static #"startMonitoring") = Void;
overload selector(static #"statusCode") = Int;
overload selector(static #"stop") = Void;
overload selector(static #"stopLoading") = Void;
overload selector(static #"stopMonitoring") = Void;
overload selector(static #"storagePolicy") = UInt;
overload selector(static #"storeCachedResponse:forRequest:") = Void, NSCachedURLResponse, NSURLRequest;
overload selector(static #"stream:handleEvent:") = Void, NSStream, UInt;
overload selector(static #"streamError") = NSError;
overload selector(static #"streamStatus") = UInt;
overload selector(static #"string") = Id;
overload selector(static #"stringArrayForKey:") = NSArray, NSString;
overload selector(static #"stringByAbbreviatingWithTildeInPath") = NSString;
overload selector(static #"stringByAddingPercentEscapesUsingEncoding:") = NSString, UInt;
overload varargSelector(static #"stringByAppendingFormat:") = NSString, NSString;
overload selector(static #"stringByAppendingPathComponent:") = NSString, NSString;
overload selector(static #"stringByAppendingPathExtension:") = NSString, NSString;
overload selector(static #"stringByAppendingString:") = NSString, NSString;
overload selector(static #"stringByDeletingLastPathComponent") = NSString;
overload selector(static #"stringByDeletingPathExtension") = NSString;
overload selector(static #"stringByExpandingTildeInPath") = NSString;
overload selector(static #"stringByFoldingWithOptions:locale:") = NSString, UInt, NSLocale;
overload selector(static #"stringByPaddingToLength:withString:startingAtIndex:") = NSString, UInt, NSString, UInt;
overload selector(static #"stringByReplacingCharactersInRange:withString:") = NSString, NSRange, NSString;
overload selector(static #"stringByReplacingMatchesInString:options:range:withTemplate:") = NSString, NSString, UInt, NSRange, NSString;
overload selector(static #"stringByReplacingOccurrencesOfString:withString:") = NSString, NSString, NSString;
overload selector(static #"stringByReplacingOccurrencesOfString:withString:options:range:") = NSString, NSString, NSString, UInt, NSRange;
overload selector(static #"stringByReplacingPercentEscapesUsingEncoding:") = NSString, UInt;
overload selector(static #"stringByResolvingSymlinksInPath") = NSString;
overload selector(static #"stringByStandardizingPath") = NSString;
overload selector(static #"stringByTrimmingCharactersInSet:") = NSString, NSCharacterSet;
overload selector(static #"stringForKey:") = NSString, NSString;
overload selector(static #"stringForObjectValue:") = NSString, Id;
overload selector(static #"stringFromDate:") = NSString, NSDate;
overload selector(static #"stringFromNumber:") = NSString, NSNumber;
overload selector(static #"stringValue") = NSString;
overload selector(static #"stringWithCString:") = Id, Pointer[CChar];
overload selector(static #"stringWithCString:encoding:") = Id, Pointer[CChar], UInt;
overload selector(static #"stringWithCString:length:") = Id, Pointer[CChar], UInt;
overload selector(static #"stringWithCapacity:") = Id, UInt;
overload selector(static #"stringWithCharacters:length:") = Id, Pointer[UShort], UInt;
overload selector(static #"stringWithContentsOfFile:") = Id, NSString;
overload selector(static #"stringWithContentsOfFile:encoding:error:") = Id, NSString, UInt, Pointer[NSError];
overload selector(static #"stringWithContentsOfFile:usedEncoding:error:") = Id, NSString, Pointer[UInt], Pointer[NSError];
overload selector(static #"stringWithContentsOfURL:") = Id, NSURL;
overload selector(static #"stringWithContentsOfURL:encoding:error:") = Id, NSURL, UInt, Pointer[NSError];
overload selector(static #"stringWithContentsOfURL:usedEncoding:error:") = Id, NSURL, Pointer[UInt], Pointer[NSError];
overload selector(static #"stringWithFileSystemRepresentation:length:") = NSString, Pointer[CChar], UInt;
overload varargSelector(static #"stringWithFormat:") = Id, NSString;
overload selector(static #"stringWithString:") = Id, NSString;
overload selector(static #"stringWithUTF8String:") = Id, Pointer[CChar];
overload selector(static #"stringsByAppendingPaths:") = NSArray, NSArray;
overload selector(static #"subarrayWithRange:") = NSArray, NSRange;
overload selector(static #"subdataWithRange:") = NSData, NSRange;
overload selector(static #"subpathsAtPath:") = NSArray, NSString;
overload selector(static #"subpathsOfDirectoryAtPath:error:") = NSArray, NSString, Pointer[NSError];
overload selector(static #"subpredicates") = NSArray;
overload selector(static #"substringFromIndex:") = NSString, UInt;
overload selector(static #"substringToIndex:") = NSString, UInt;
overload selector(static #"substringWithRange:") = NSString, NSRange;
overload selector(static #"suggestedFilename") = NSString;
overload selector(static #"superclass") = Id;
overload selector(static #"symbolCharacterSet") = Id;
overload selector(static #"symbolicLinkDestination") = NSString;
overload selector(static #"symbolicLinkDestinationURL") = NSURL;
overload selector(static #"synchronize") = Bool;
overload selector(static #"synchronizeFile") = Void;
overload selector(static #"systemID") = NSString;
overload selector(static #"systemLocale") = Id;
overload selector(static #"systemTimeZone") = NSTimeZone;
overload selector(static #"systemUptime") = Double;
overload selector(static #"systemVersion") = UInt;
overload selector(static #"target") = Id;
overload selector(static #"textAttributesForNegativeInfinity") = NSDictionary;
overload selector(static #"textAttributesForNegativeValues") = NSDictionary;
overload selector(static #"textAttributesForNil") = NSDictionary;
overload selector(static #"textAttributesForNotANumber") = NSDictionary;
overload selector(static #"textAttributesForPositiveInfinity") = NSDictionary;
overload selector(static #"textAttributesForPositiveValues") = NSDictionary;
overload selector(static #"textAttributesForZero") = NSDictionary;
overload selector(static #"textEncodingName") = NSString;
overload selector(static #"threadDictionary") = NSMutableDictionary;
overload selector(static #"threadPriority") = Double;
overload selector(static #"timeInterval") = Double;
overload selector(static #"timeIntervalSince1970") = Double;
overload selector(static #"timeIntervalSinceDate:") = Double, NSDate;
overload selector(static #"timeIntervalSinceNow") = Double;
overload selector(static #"timeIntervalSinceReferenceDate") = Double;
overload selector(static #"timeStyle") = UInt;
overload selector(static #"timeZone") = NSTimeZone;
overload selector(static #"timeZoneDataVersion") = NSString;
overload selector(static #"timeZoneForSecondsFromGMT:") = Id, Int;
overload selector(static #"timeZoneWithAbbreviation:") = Id, NSString;
overload selector(static #"timeZoneWithName:") = Id, NSString;
overload selector(static #"timeZoneWithName:data:") = Id, NSString, NSData;
overload selector(static #"timeoutInterval") = Double;
overload selector(static #"timerWithTimeInterval:invocation:repeats:") = NSTimer, Double, NSInvocation, Bool;
overload selector(static #"timerWithTimeInterval:target:selector:userInfo:repeats:") = NSTimer, Double, Id, SelectorHandle, Id, Bool;
overload selector(static #"totalCostLimit") = UInt;
overload selector(static #"transformedValue:") = Id, Id;
overload selector(static #"transformedValueClass") = Id;
overload selector(static #"transitInformationCheckingResultWithRange:components:") = NSTextCheckingResult, NSRange, NSDictionary;
overload selector(static #"truncateFileAtOffset:") = Void, UInt64;
overload selector(static #"tryLock") = Bool;
overload selector(static #"tryLockWhenCondition:") = Bool, Int;
overload selector(static #"twoDigitStartDate") = NSDate;
overload selector(static #"type") = NSString;
overload selector(static #"unarchiveObjectWithData:") = Id, NSData;
overload selector(static #"unarchiveObjectWithFile:") = Id, NSString;
overload selector(static #"unarchiver:cannotDecodeObjectOfClassName:originalClasses:") = Id, NSKeyedUnarchiver, NSString, NSArray;
overload selector(static #"unarchiver:didDecodeObject:") = Id, NSKeyedUnarchiver, Id;
overload selector(static #"unarchiver:willReplaceObject:withObject:") = Void, NSKeyedUnarchiver, Id, Id;
overload selector(static #"unarchiverDidFinish:") = Void, NSKeyedUnarchiver;
overload selector(static #"unarchiverWillFinish:") = Void, NSKeyedUnarchiver;
overload selector(static #"undo") = Void;
overload selector(static #"undoActionName") = NSString;
overload selector(static #"undoMenuItemTitle") = NSString;
overload selector(static #"undoMenuTitleForUndoActionName:") = NSString, NSString;
overload selector(static #"undoNestedGroup") = Void;
overload selector(static #"unionSet:") = Void, NSSet;
overload selector(static #"unload") = Bool;
overload selector(static #"unlock") = Void;
overload selector(static #"unlockWithCondition:") = Void, Int;
overload selector(static #"unregisterClass:") = Void, Id;
overload selector(static #"unscheduleFromRunLoop:forMode:") = Void, NSRunLoop, NSString;
overload selector(static #"unsignedCharValue") = CUChar;
overload selector(static #"unsignedIntValue") = UInt;
overload selector(static #"unsignedIntegerValue") = UInt;
overload selector(static #"unsignedLongLongValue") = UInt64;
overload selector(static #"unsignedLongValue") = CULong;
overload selector(static #"unsignedShortValue") = UShort;
overload selector(static #"updateFromPath:") = Bool, NSString;
overload selector(static #"uppercaseLetterCharacterSet") = Id;
overload selector(static #"uppercaseString") = NSString;
overload selector(static #"useCredential:forAuthenticationChallenge:") = Void, NSURLCredential, NSURLAuthenticationChallenge;
overload selector(static #"user") = NSString;
overload selector(static #"userInfo") = Id;
overload selector(static #"usesGroupingSeparator") = Bool;
overload selector(static #"usesSignificantDigits") = Bool;
overload selector(static #"validateValue:forKey:error:") = Bool, Pointer[Id], NSString, Pointer[NSError];
overload selector(static #"validateValue:forKeyPath:error:") = Bool, Pointer[Id], NSString, Pointer[NSError];
overload selector(static #"value") = NSString;
overload selector(static #"value:withObjCType:") = NSValue, RawPointer, Pointer[CChar];
overload selector(static #"valueForHTTPHeaderField:") = NSString, NSString;
overload selector(static #"valueForKey:") = Id, NSString;
overload selector(static #"valueForKeyPath:") = Id, NSString;
overload selector(static #"valueForUndefinedKey:") = Id, NSString;
overload selector(static #"valueTransformerForName:") = NSValueTransformer, NSString;
overload selector(static #"valueTransformerNames") = NSArray;
overload selector(static #"valueWithBytes:objCType:") = NSValue, RawPointer, Pointer[CChar];
overload selector(static #"valueWithNonretainedObject:") = NSValue, Id;
overload selector(static #"valueWithPointer:") = NSValue, RawPointer;
overload selector(static #"valueWithRange:") = NSValue, NSRange;
overload selector(static #"variable") = NSString;
overload selector(static #"version") = Int;
overload selector(static #"versionForClassName:") = Int, NSString;
overload selector(static #"veryShortMonthSymbols") = NSArray;
overload selector(static #"veryShortStandaloneMonthSymbols") = NSArray;
overload selector(static #"veryShortStandaloneWeekdaySymbols") = NSArray;
overload selector(static #"veryShortWeekdaySymbols") = NSArray;
overload selector(static #"volatileDomainForName:") = NSDictionary, NSString;
overload selector(static #"volatileDomainNames") = NSArray;
overload selector(static #"wait") = Void;
overload selector(static #"waitForDataInBackgroundAndNotify") = Void;
overload selector(static #"waitForDataInBackgroundAndNotifyForModes:") = Void, NSArray;
overload selector(static #"waitUntilAllOperationsAreFinished") = Void;
overload selector(static #"waitUntilDate:") = Bool, NSDate;
overload selector(static #"waitUntilFinished") = Void;
overload selector(static #"week") = Int;
overload selector(static #"weekday") = Int;
overload selector(static #"weekdayOrdinal") = Int;
overload selector(static #"weekdaySymbols") = NSArray;
overload selector(static #"whitespaceAndNewlineCharacterSet") = Id;
overload selector(static #"whitespaceCharacterSet") = Id;
overload selector(static #"willChange:valuesAtIndexes:forKey:") = Void, UInt, NSIndexSet, NSString;
overload selector(static #"willChangeValueForKey:") = Void, NSString;
overload selector(static #"willChangeValueForKey:withSetMutation:usingObjects:") = Void, NSString, UInt, NSSet;
overload selector(static #"windowsLocaleCodeFromLocaleIdentifier:") = UInt, NSString;
overload selector(static #"write:maxLength:") = Int, Pointer[CUChar], UInt;
overload selector(static #"writeBookmarkData:toURL:options:error:") = Bool, NSData, NSURL, UInt, Pointer[NSError];
overload selector(static #"writeData:") = Void, NSData;
overload selector(static #"writePropertyList:toStream:format:options:error:") = Int, Id, NSOutputStream, UInt, UInt, Pointer[NSError];
overload selector(static #"writeToFile:atomically:") = Bool, NSString, Bool;
overload selector(static #"writeToFile:atomically:encoding:error:") = Bool, NSString, Bool, UInt, Pointer[NSError];
overload selector(static #"writeToFile:atomically:updateFilenames:") = Bool, NSString, Bool, Bool;
overload selector(static #"writeToFile:options:error:") = Bool, NSString, UInt, Pointer[NSError];
overload selector(static #"writeToURL:atomically:") = Bool, NSURL, Bool;
overload selector(static #"writeToURL:atomically:encoding:error:") = Bool, NSURL, Bool, UInt, Pointer[NSError];
overload selector(static #"writeToURL:options:error:") = Bool, NSURL, UInt, Pointer[NSError];
overload selector(static #"writeToURL:options:originalContentsURL:error:") = Bool, NSURL, UInt, NSURL, Pointer[NSError];
overload selector(static #"year") = Int;
overload selector(static #"zero") = NSDecimalNumber;
overload selector(static #"zeroSymbol") = NSString;
overload selector(static #"zone") = Pointer[NSZone];

record NSArray = externalClass(NSObject);
overload externalInstanceMethod(static NSArray, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSArray, static #"mutableCopyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSArray, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSArray, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSArray, static #"countByEnumeratingWithState:objects:count:") = UInt, Pointer[NSFastEnumerationState], Pointer[Id], UInt;
overload externalInstanceMethod(static NSArray, static #"count") = UInt;
overload externalInstanceMethod(static NSArray, static #"objectAtIndex:") = Id, UInt;
overload externalInstanceMethod(static NSArray, static #"arrayByAddingObject:") = NSArray, Id;
overload externalInstanceMethod(static NSArray, static #"arrayByAddingObjectsFromArray:") = NSArray, NSArray;
overload externalInstanceMethod(static NSArray, static #"componentsJoinedByString:") = NSString, NSString;
overload externalInstanceMethod(static NSArray, static #"containsObject:") = Bool, Id;
overload externalInstanceMethod(static NSArray, static #"description") = NSString;
overload externalInstanceMethod(static NSArray, static #"descriptionWithLocale:") = NSString, Id;
overload externalInstanceMethod(static NSArray, static #"descriptionWithLocale:indent:") = NSString, Id, UInt;
overload externalInstanceMethod(static NSArray, static #"firstObjectCommonWithArray:") = Id, NSArray;
overload externalInstanceMethod(static NSArray, static #"getObjects:range:") = Void, Pointer[Id], NSRange;
overload externalInstanceMethod(static NSArray, static #"indexOfObject:") = UInt, Id;
overload externalInstanceMethod(static NSArray, static #"indexOfObject:inRange:") = UInt, Id, NSRange;
overload externalInstanceMethod(static NSArray, static #"indexOfObjectIdenticalTo:") = UInt, Id;
overload externalInstanceMethod(static NSArray, static #"indexOfObjectIdenticalTo:inRange:") = UInt, Id, NSRange;
overload externalInstanceMethod(static NSArray, static #"isEqualToArray:") = Bool, NSArray;
overload externalInstanceMethod(static NSArray, static #"lastObject") = Id;
overload externalInstanceMethod(static NSArray, static #"objectEnumerator") = NSEnumerator;
overload externalInstanceMethod(static NSArray, static #"reverseObjectEnumerator") = NSEnumerator;
overload externalInstanceMethod(static NSArray, static #"sortedArrayHint") = NSData;
overload externalInstanceMethod(static NSArray, static #"sortedArrayUsingFunction:context:") = NSArray, CCodePointer[[Id,Id,RawPointer],[Int]], RawPointer;
overload externalInstanceMethod(static NSArray, static #"sortedArrayUsingFunction:context:hint:") = NSArray, CCodePointer[[Id,Id,RawPointer],[Int]], RawPointer, NSData;
overload externalInstanceMethod(static NSArray, static #"sortedArrayUsingSelector:") = NSArray, SelectorHandle;
overload externalInstanceMethod(static NSArray, static #"subarrayWithRange:") = NSArray, NSRange;
overload externalInstanceMethod(static NSArray, static #"writeToFile:atomically:") = Bool, NSString, Bool;
overload externalInstanceMethod(static NSArray, static #"writeToURL:atomically:") = Bool, NSURL, Bool;
overload externalInstanceMethod(static NSArray, static #"makeObjectsPerformSelector:") = Void, SelectorHandle;
overload externalInstanceMethod(static NSArray, static #"makeObjectsPerformSelector:withObject:") = Void, SelectorHandle, Id;
overload externalInstanceMethod(static NSArray, static #"objectsAtIndexes:") = NSArray, NSIndexSet;
overload externalInstanceMethod(static NSArray, static #"enumerateObjectsUsingBlock:") = Void, UnknownType;
overload externalInstanceMethod(static NSArray, static #"enumerateObjectsWithOptions:usingBlock:") = Void, UInt, UnknownType;
overload externalInstanceMethod(static NSArray, static #"enumerateObjectsAtIndexes:options:usingBlock:") = Void, NSIndexSet, UInt, UnknownType;
overload externalInstanceMethod(static NSArray, static #"indexOfObjectPassingTest:") = UInt, UnknownType;
overload externalInstanceMethod(static NSArray, static #"indexOfObjectWithOptions:passingTest:") = UInt, UInt, UnknownType;
overload externalInstanceMethod(static NSArray, static #"indexOfObjectAtIndexes:options:passingTest:") = UInt, NSIndexSet, UInt, UnknownType;
overload externalInstanceMethod(static NSArray, static #"indexesOfObjectsPassingTest:") = NSIndexSet, UnknownType;
overload externalInstanceMethod(static NSArray, static #"indexesOfObjectsWithOptions:passingTest:") = NSIndexSet, UInt, UnknownType;
overload externalInstanceMethod(static NSArray, static #"indexesOfObjectsAtIndexes:options:passingTest:") = NSIndexSet, NSIndexSet, UInt, UnknownType;
overload externalInstanceMethod(static NSArray, static #"sortedArrayUsingComparator:") = NSArray, NSComparator;
overload externalInstanceMethod(static NSArray, static #"sortedArrayWithOptions:usingComparator:") = NSArray, UInt, NSComparator;
overload externalInstanceMethod(static NSArray, static #"indexOfObject:inSortedRange:options:usingComparator:") = UInt, Id, NSRange, UInt, NSComparator;
overload externalClassMethod(static NSArray, static #"array") = Id;
overload externalClassMethod(static NSArray, static #"arrayWithObject:") = Id, Id;
overload externalClassMethod(static NSArray, static #"arrayWithObjects:count:") = Id, Pointer[Id], UInt;
overload externalVarargClassMethod(static NSArray, static #"arrayWithObjects:") = Id, Id;
overload externalClassMethod(static NSArray, static #"arrayWithArray:") = Id, NSArray;
overload externalInstanceMethod(static NSArray, static #"initWithObjects:count:") = Id, Pointer[Id], UInt;
overload externalVarargInstanceMethod(static NSArray, static #"initWithObjects:") = Id, Id;
overload externalInstanceMethod(static NSArray, static #"initWithArray:") = Id, NSArray;
overload externalInstanceMethod(static NSArray, static #"initWithArray:copyItems:") = Id, NSArray, Bool;
overload externalClassMethod(static NSArray, static #"arrayWithContentsOfFile:") = Id, NSString;
overload externalClassMethod(static NSArray, static #"arrayWithContentsOfURL:") = Id, NSURL;
overload externalInstanceMethod(static NSArray, static #"initWithContentsOfFile:") = Id, NSString;
overload externalInstanceMethod(static NSArray, static #"initWithContentsOfURL:") = Id, NSURL;
overload externalInstanceMethod(static NSArray, static #"getObjects:") = Void, Pointer[Id];
overload externalInstanceMethod(static NSArray, static #"pathsMatchingExtensions:") = NSArray, NSArray;
overload externalInstanceMethod(static NSArray, static #"valueForKey:") = Id, NSString;
overload externalInstanceMethod(static NSArray, static #"setValue:forKey:") = Void, Id, NSString;
overload externalInstanceMethod(static NSArray, static #"addObserver:toObjectsAtIndexes:forKeyPath:options:context:") = Void, NSObject, NSIndexSet, NSString, UInt, RawPointer;
overload externalInstanceMethod(static NSArray, static #"removeObserver:fromObjectsAtIndexes:forKeyPath:") = Void, NSObject, NSIndexSet, NSString;
overload externalInstanceMethod(static NSArray, static #"addObserver:forKeyPath:options:context:") = Void, NSObject, NSString, UInt, RawPointer;
overload externalInstanceMethod(static NSArray, static #"removeObserver:forKeyPath:") = Void, NSObject, NSString;
overload externalInstanceMethod(static NSArray, static #"sortedArrayUsingDescriptors:") = NSArray, NSArray;
overload externalInstanceMethod(static NSArray, static #"filteredArrayUsingPredicate:") = NSArray, NSPredicate;

record NSAssertionHandler = externalClass(NSObject);
overload externalClassMethod(static NSAssertionHandler, static #"currentHandler") = NSAssertionHandler;
overload externalVarargInstanceMethod(static NSAssertionHandler, static #"handleFailureInMethod:object:file:lineNumber:description:") = Void, SelectorHandle, Id, NSString, Int, NSString;
overload externalVarargInstanceMethod(static NSAssertionHandler, static #"handleFailureInFunction:file:lineNumber:description:") = Void, NSString, NSString, Int, NSString;

record NSAttributedString = externalClass(NSObject);
overload externalInstanceMethod(static NSAttributedString, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSAttributedString, static #"mutableCopyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSAttributedString, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSAttributedString, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSAttributedString, static #"string") = NSString;
overload externalInstanceMethod(static NSAttributedString, static #"attributesAtIndex:effectiveRange:") = NSDictionary, UInt, NSRangePointer;
overload externalInstanceMethod(static NSAttributedString, static #"length") = UInt;
overload externalInstanceMethod(static NSAttributedString, static #"attribute:atIndex:effectiveRange:") = Id, NSString, UInt, NSRangePointer;
overload externalInstanceMethod(static NSAttributedString, static #"attributedSubstringFromRange:") = NSAttributedString, NSRange;
overload externalInstanceMethod(static NSAttributedString, static #"attributesAtIndex:longestEffectiveRange:inRange:") = NSDictionary, UInt, NSRangePointer, NSRange;
overload externalInstanceMethod(static NSAttributedString, static #"attribute:atIndex:longestEffectiveRange:inRange:") = Id, NSString, UInt, NSRangePointer, NSRange;
overload externalInstanceMethod(static NSAttributedString, static #"isEqualToAttributedString:") = Bool, NSAttributedString;
overload externalInstanceMethod(static NSAttributedString, static #"initWithString:") = Id, NSString;
overload externalInstanceMethod(static NSAttributedString, static #"initWithString:attributes:") = Id, NSString, NSDictionary;
overload externalInstanceMethod(static NSAttributedString, static #"initWithAttributedString:") = Id, NSAttributedString;
overload externalInstanceMethod(static NSAttributedString, static #"enumerateAttributesInRange:options:usingBlock:") = Void, NSRange, UInt, UnknownType;
overload externalInstanceMethod(static NSAttributedString, static #"enumerateAttribute:inRange:options:usingBlock:") = Void, NSString, NSRange, UInt, UnknownType;

record NSAutoreleasePool = externalClass(NSObject);
overload externalClassMethod(static NSAutoreleasePool, static #"addObject:") = Void, Id;
overload externalInstanceMethod(static NSAutoreleasePool, static #"addObject:") = Void, Id;
overload externalInstanceMethod(static NSAutoreleasePool, static #"drain") = Void;

record NSBlockOperation = externalClass(NSOperation);
overload externalClassMethod(static NSBlockOperation, static #"blockOperationWithBlock:") = Id, UnknownType;
overload externalInstanceMethod(static NSBlockOperation, static #"addExecutionBlock:") = Void, UnknownType;
overload externalInstanceMethod(static NSBlockOperation, static #"executionBlocks") = NSArray;

record NSBundle = externalClass(NSObject);
overload externalClassMethod(static NSBundle, static #"mainBundle") = NSBundle;
overload externalClassMethod(static NSBundle, static #"bundleWithPath:") = NSBundle, NSString;
overload externalInstanceMethod(static NSBundle, static #"initWithPath:") = Id, NSString;
overload externalClassMethod(static NSBundle, static #"bundleWithURL:") = NSBundle, NSURL;
overload externalInstanceMethod(static NSBundle, static #"initWithURL:") = Id, NSURL;
overload externalClassMethod(static NSBundle, static #"bundleForClass:") = NSBundle, Id;
overload externalClassMethod(static NSBundle, static #"bundleWithIdentifier:") = NSBundle, NSString;
overload externalClassMethod(static NSBundle, static #"allBundles") = NSArray;
overload externalClassMethod(static NSBundle, static #"allFrameworks") = NSArray;
overload externalInstanceMethod(static NSBundle, static #"load") = Bool;
overload externalInstanceMethod(static NSBundle, static #"isLoaded") = Bool;
overload externalInstanceMethod(static NSBundle, static #"unload") = Bool;
overload externalInstanceMethod(static NSBundle, static #"preflightAndReturnError:") = Bool, Pointer[NSError];
overload externalInstanceMethod(static NSBundle, static #"loadAndReturnError:") = Bool, Pointer[NSError];
overload externalInstanceMethod(static NSBundle, static #"bundleURL") = NSURL;
overload externalInstanceMethod(static NSBundle, static #"resourceURL") = NSURL;
overload externalInstanceMethod(static NSBundle, static #"executableURL") = NSURL;
overload externalInstanceMethod(static NSBundle, static #"URLForAuxiliaryExecutable:") = NSURL, NSString;
overload externalInstanceMethod(static NSBundle, static #"privateFrameworksURL") = NSURL;
overload externalInstanceMethod(static NSBundle, static #"sharedFrameworksURL") = NSURL;
overload externalInstanceMethod(static NSBundle, static #"sharedSupportURL") = NSURL;
overload externalInstanceMethod(static NSBundle, static #"builtInPlugInsURL") = NSURL;
overload externalInstanceMethod(static NSBundle, static #"bundlePath") = NSString;
overload externalInstanceMethod(static NSBundle, static #"resourcePath") = NSString;
overload externalInstanceMethod(static NSBundle, static #"executablePath") = NSString;
overload externalInstanceMethod(static NSBundle, static #"pathForAuxiliaryExecutable:") = NSString, NSString;
overload externalInstanceMethod(static NSBundle, static #"privateFrameworksPath") = NSString;
overload externalInstanceMethod(static NSBundle, static #"sharedFrameworksPath") = NSString;
overload externalInstanceMethod(static NSBundle, static #"sharedSupportPath") = NSString;
overload externalInstanceMethod(static NSBundle, static #"builtInPlugInsPath") = NSString;
overload externalClassMethod(static NSBundle, static #"URLForResource:withExtension:subdirectory:inBundleWithURL:") = NSURL, NSString, NSString, NSString, NSURL;
overload externalClassMethod(static NSBundle, static #"URLsForResourcesWithExtension:subdirectory:inBundleWithURL:") = NSArray, NSString, NSString, NSURL;
overload externalInstanceMethod(static NSBundle, static #"URLForResource:withExtension:") = NSURL, NSString, NSString;
overload externalInstanceMethod(static NSBundle, static #"URLForResource:withExtension:subdirectory:") = NSURL, NSString, NSString, NSString;
overload externalInstanceMethod(static NSBundle, static #"URLForResource:withExtension:subdirectory:localization:") = NSURL, NSString, NSString, NSString, NSString;
overload externalInstanceMethod(static NSBundle, static #"URLsForResourcesWithExtension:subdirectory:") = NSArray, NSString, NSString;
overload externalInstanceMethod(static NSBundle, static #"URLsForResourcesWithExtension:subdirectory:localization:") = NSArray, NSString, NSString, NSString;
overload externalClassMethod(static NSBundle, static #"pathForResource:ofType:inDirectory:") = NSString, NSString, NSString, NSString;
overload externalClassMethod(static NSBundle, static #"pathsForResourcesOfType:inDirectory:") = NSArray, NSString, NSString;
overload externalInstanceMethod(static NSBundle, static #"pathForResource:ofType:") = NSString, NSString, NSString;
overload externalInstanceMethod(static NSBundle, static #"pathForResource:ofType:inDirectory:") = NSString, NSString, NSString, NSString;
overload externalInstanceMethod(static NSBundle, static #"pathForResource:ofType:inDirectory:forLocalization:") = NSString, NSString, NSString, NSString, NSString;
overload externalInstanceMethod(static NSBundle, static #"pathsForResourcesOfType:inDirectory:") = NSArray, NSString, NSString;
overload externalInstanceMethod(static NSBundle, static #"pathsForResourcesOfType:inDirectory:forLocalization:") = NSArray, NSString, NSString, NSString;
overload externalInstanceMethod(static NSBundle, static #"localizedStringForKey:value:table:") = NSString, NSString, NSString, NSString;
overload externalInstanceMethod(static NSBundle, static #"bundleIdentifier") = NSString;
overload externalInstanceMethod(static NSBundle, static #"infoDictionary") = NSDictionary;
overload externalInstanceMethod(static NSBundle, static #"localizedInfoDictionary") = NSDictionary;
overload externalInstanceMethod(static NSBundle, static #"objectForInfoDictionaryKey:") = Id, NSString;
overload externalInstanceMethod(static NSBundle, static #"classNamed:") = Id, NSString;
overload externalInstanceMethod(static NSBundle, static #"principalClass") = Id;
overload externalInstanceMethod(static NSBundle, static #"localizations") = NSArray;
overload externalInstanceMethod(static NSBundle, static #"preferredLocalizations") = NSArray;
overload externalInstanceMethod(static NSBundle, static #"developmentLocalization") = NSString;
overload externalClassMethod(static NSBundle, static #"preferredLocalizationsFromArray:") = NSArray, NSArray;
overload externalClassMethod(static NSBundle, static #"preferredLocalizationsFromArray:forPreferences:") = NSArray, NSArray, NSArray;
overload externalInstanceMethod(static NSBundle, static #"executableArchitectures") = NSArray;

record NSCache = externalClass(NSObject);
overload externalInstanceMethod(static NSCache, static #"setName:") = Void, NSString;
overload externalInstanceMethod(static NSCache, static #"name") = NSString;
overload externalInstanceMethod(static NSCache, static #"setDelegate:") = Void, Id;
overload externalInstanceMethod(static NSCache, static #"delegate") = Id;
overload externalInstanceMethod(static NSCache, static #"objectForKey:") = Id, Id;
overload externalInstanceMethod(static NSCache, static #"setObject:forKey:") = Void, Id, Id;
overload externalInstanceMethod(static NSCache, static #"setObject:forKey:cost:") = Void, Id, Id, UInt;
overload externalInstanceMethod(static NSCache, static #"removeObjectForKey:") = Void, Id;
overload externalInstanceMethod(static NSCache, static #"removeAllObjects") = Void;
overload externalInstanceMethod(static NSCache, static #"setTotalCostLimit:") = Void, UInt;
overload externalInstanceMethod(static NSCache, static #"totalCostLimit") = UInt;
overload externalInstanceMethod(static NSCache, static #"setCountLimit:") = Void, UInt;
overload externalInstanceMethod(static NSCache, static #"countLimit") = UInt;
overload externalInstanceMethod(static NSCache, static #"evictsObjectsWithDiscardedContent") = Bool;
overload externalInstanceMethod(static NSCache, static #"setEvictsObjectsWithDiscardedContent:") = Void, Bool;

record NSCachedURLResponse = externalClass(NSObject);
overload externalInstanceMethod(static NSCachedURLResponse, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSCachedURLResponse, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSCachedURLResponse, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSCachedURLResponse, static #"initWithResponse:data:") = Id, NSURLResponse, NSData;
overload externalInstanceMethod(static NSCachedURLResponse, static #"initWithResponse:data:userInfo:storagePolicy:") = Id, NSURLResponse, NSData, NSDictionary, UInt;
overload externalInstanceMethod(static NSCachedURLResponse, static #"response") = NSURLResponse;
overload externalInstanceMethod(static NSCachedURLResponse, static #"data") = NSData;
overload externalInstanceMethod(static NSCachedURLResponse, static #"userInfo") = NSDictionary;
overload externalInstanceMethod(static NSCachedURLResponse, static #"storagePolicy") = UInt;

record NSCalendar = externalClass(NSObject);
overload externalInstanceMethod(static NSCalendar, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSCalendar, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSCalendar, static #"initWithCoder:") = Id, NSCoder;
overload externalClassMethod(static NSCalendar, static #"currentCalendar") = Id;
overload externalClassMethod(static NSCalendar, static #"autoupdatingCurrentCalendar") = Id;
overload externalInstanceMethod(static NSCalendar, static #"initWithCalendarIdentifier:") = Id, NSString;
overload externalInstanceMethod(static NSCalendar, static #"calendarIdentifier") = NSString;
overload externalInstanceMethod(static NSCalendar, static #"setLocale:") = Void, NSLocale;
overload externalInstanceMethod(static NSCalendar, static #"locale") = NSLocale;
overload externalInstanceMethod(static NSCalendar, static #"setTimeZone:") = Void, NSTimeZone;
overload externalInstanceMethod(static NSCalendar, static #"timeZone") = NSTimeZone;
overload externalInstanceMethod(static NSCalendar, static #"setFirstWeekday:") = Void, UInt;
overload externalInstanceMethod(static NSCalendar, static #"firstWeekday") = UInt;
overload externalInstanceMethod(static NSCalendar, static #"setMinimumDaysInFirstWeek:") = Void, UInt;
overload externalInstanceMethod(static NSCalendar, static #"minimumDaysInFirstWeek") = UInt;
overload externalInstanceMethod(static NSCalendar, static #"minimumRangeOfUnit:") = NSRange, UInt;
overload externalInstanceMethod(static NSCalendar, static #"maximumRangeOfUnit:") = NSRange, UInt;
overload externalInstanceMethod(static NSCalendar, static #"rangeOfUnit:inUnit:forDate:") = NSRange, UInt, UInt, NSDate;
overload externalInstanceMethod(static NSCalendar, static #"ordinalityOfUnit:inUnit:forDate:") = UInt, UInt, UInt, NSDate;
overload externalInstanceMethod(static NSCalendar, static #"rangeOfUnit:startDate:interval:forDate:") = Bool, UInt, Pointer[NSDate], Pointer[Double], NSDate;
overload externalInstanceMethod(static NSCalendar, static #"dateFromComponents:") = NSDate, NSDateComponents;
overload externalInstanceMethod(static NSCalendar, static #"components:fromDate:") = NSDateComponents, UInt, NSDate;
overload externalInstanceMethod(static NSCalendar, static #"dateByAddingComponents:toDate:options:") = NSDate, NSDateComponents, NSDate, UInt;
overload externalInstanceMethod(static NSCalendar, static #"components:fromDate:toDate:options:") = NSDateComponents, UInt, NSDate, NSDate, UInt;

record NSCharacterSet = externalClass(NSObject);
overload externalInstanceMethod(static NSCharacterSet, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSCharacterSet, static #"mutableCopyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSCharacterSet, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSCharacterSet, static #"initWithCoder:") = Id, NSCoder;
overload externalClassMethod(static NSCharacterSet, static #"controlCharacterSet") = Id;
overload externalClassMethod(static NSCharacterSet, static #"whitespaceCharacterSet") = Id;
overload externalClassMethod(static NSCharacterSet, static #"whitespaceAndNewlineCharacterSet") = Id;
overload externalClassMethod(static NSCharacterSet, static #"decimalDigitCharacterSet") = Id;
overload externalClassMethod(static NSCharacterSet, static #"letterCharacterSet") = Id;
overload externalClassMethod(static NSCharacterSet, static #"lowercaseLetterCharacterSet") = Id;
overload externalClassMethod(static NSCharacterSet, static #"uppercaseLetterCharacterSet") = Id;
overload externalClassMethod(static NSCharacterSet, static #"nonBaseCharacterSet") = Id;
overload externalClassMethod(static NSCharacterSet, static #"alphanumericCharacterSet") = Id;
overload externalClassMethod(static NSCharacterSet, static #"decomposableCharacterSet") = Id;
overload externalClassMethod(static NSCharacterSet, static #"illegalCharacterSet") = Id;
overload externalClassMethod(static NSCharacterSet, static #"punctuationCharacterSet") = Id;
overload externalClassMethod(static NSCharacterSet, static #"capitalizedLetterCharacterSet") = Id;
overload externalClassMethod(static NSCharacterSet, static #"symbolCharacterSet") = Id;
overload externalClassMethod(static NSCharacterSet, static #"newlineCharacterSet") = Id;
overload externalClassMethod(static NSCharacterSet, static #"characterSetWithRange:") = Id, NSRange;
overload externalClassMethod(static NSCharacterSet, static #"characterSetWithCharactersInString:") = Id, NSString;
overload externalClassMethod(static NSCharacterSet, static #"characterSetWithBitmapRepresentation:") = Id, NSData;
overload externalClassMethod(static NSCharacterSet, static #"characterSetWithContentsOfFile:") = Id, NSString;
overload externalInstanceMethod(static NSCharacterSet, static #"characterIsMember:") = Bool, UShort;
overload externalInstanceMethod(static NSCharacterSet, static #"bitmapRepresentation") = NSData;
overload externalInstanceMethod(static NSCharacterSet, static #"invertedSet") = NSCharacterSet;
overload externalInstanceMethod(static NSCharacterSet, static #"longCharacterIsMember:") = Bool, CULong;
overload externalInstanceMethod(static NSCharacterSet, static #"isSupersetOfSet:") = Bool, NSCharacterSet;
overload externalInstanceMethod(static NSCharacterSet, static #"hasMemberInPlane:") = Bool, CUChar;

record NSCoder = externalClass(NSObject);
overload externalInstanceMethod(static NSCoder, static #"encodeValueOfObjCType:at:") = Void, Pointer[CChar], RawPointer;
overload externalInstanceMethod(static NSCoder, static #"encodeDataObject:") = Void, NSData;
overload externalInstanceMethod(static NSCoder, static #"decodeValueOfObjCType:at:") = Void, Pointer[CChar], RawPointer;
overload externalInstanceMethod(static NSCoder, static #"decodeDataObject") = NSData;
overload externalInstanceMethod(static NSCoder, static #"versionForClassName:") = Int, NSString;
overload externalInstanceMethod(static NSCoder, static #"encodeObject:") = Void, Id;
overload externalInstanceMethod(static NSCoder, static #"encodeRootObject:") = Void, Id;
overload externalInstanceMethod(static NSCoder, static #"encodeBycopyObject:") = Void, Id;
overload externalInstanceMethod(static NSCoder, static #"encodeByrefObject:") = Void, Id;
overload externalInstanceMethod(static NSCoder, static #"encodeConditionalObject:") = Void, Id;
overload externalVarargInstanceMethod(static NSCoder, static #"encodeValuesOfObjCTypes:") = Void, Pointer[CChar];
overload externalInstanceMethod(static NSCoder, static #"encodeArrayOfObjCType:count:at:") = Void, Pointer[CChar], UInt, RawPointer;
overload externalInstanceMethod(static NSCoder, static #"encodeBytes:length:") = Void, RawPointer, UInt;
overload externalInstanceMethod(static NSCoder, static #"decodeObject") = Id;
overload externalVarargInstanceMethod(static NSCoder, static #"decodeValuesOfObjCTypes:") = Void, Pointer[CChar];
overload externalInstanceMethod(static NSCoder, static #"decodeArrayOfObjCType:count:at:") = Void, Pointer[CChar], UInt, RawPointer;
overload externalInstanceMethod(static NSCoder, static #"decodeBytesWithReturnedLength:") = RawPointer, Pointer[UInt];
overload externalInstanceMethod(static NSCoder, static #"setObjectZone:") = Void, Pointer[NSZone];
overload externalInstanceMethod(static NSCoder, static #"objectZone") = Pointer[NSZone];
overload externalInstanceMethod(static NSCoder, static #"systemVersion") = UInt;
overload externalInstanceMethod(static NSCoder, static #"allowsKeyedCoding") = Bool;
overload externalInstanceMethod(static NSCoder, static #"encodeObject:forKey:") = Void, Id, NSString;
overload externalInstanceMethod(static NSCoder, static #"encodeConditionalObject:forKey:") = Void, Id, NSString;
overload externalInstanceMethod(static NSCoder, static #"encodeBool:forKey:") = Void, Bool, NSString;
overload externalInstanceMethod(static NSCoder, static #"encodeInt:forKey:") = Void, Int, NSString;
overload externalInstanceMethod(static NSCoder, static #"encodeInt32:forKey:") = Void, Int, NSString;
overload externalInstanceMethod(static NSCoder, static #"encodeInt64:forKey:") = Void, Int64, NSString;
overload externalInstanceMethod(static NSCoder, static #"encodeFloat:forKey:") = Void, Float, NSString;
overload externalInstanceMethod(static NSCoder, static #"encodeDouble:forKey:") = Void, Double, NSString;
overload externalInstanceMethod(static NSCoder, static #"encodeBytes:length:forKey:") = Void, Pointer[CUChar], UInt, NSString;
overload externalInstanceMethod(static NSCoder, static #"containsValueForKey:") = Bool, NSString;
overload externalInstanceMethod(static NSCoder, static #"decodeObjectForKey:") = Id, NSString;
overload externalInstanceMethod(static NSCoder, static #"decodeBoolForKey:") = Bool, NSString;
overload externalInstanceMethod(static NSCoder, static #"decodeIntForKey:") = Int, NSString;
overload externalInstanceMethod(static NSCoder, static #"decodeInt32ForKey:") = Int, NSString;
overload externalInstanceMethod(static NSCoder, static #"decodeInt64ForKey:") = Int64, NSString;
overload externalInstanceMethod(static NSCoder, static #"decodeFloatForKey:") = Float, NSString;
overload externalInstanceMethod(static NSCoder, static #"decodeDoubleForKey:") = Double, NSString;
overload externalInstanceMethod(static NSCoder, static #"decodeBytesForKey:returnedLength:") = Pointer[CUChar], NSString, Pointer[UInt];
overload externalInstanceMethod(static NSCoder, static #"encodeInteger:forKey:") = Void, Int, NSString;
overload externalInstanceMethod(static NSCoder, static #"decodeIntegerForKey:") = Int, NSString;

record NSComparisonPredicate = externalClass(NSPredicate);
overload externalClassMethod(static NSComparisonPredicate, static #"predicateWithLeftExpression:rightExpression:modifier:type:options:") = NSPredicate, NSExpression, NSExpression, UInt, UInt, UInt;
overload externalClassMethod(static NSComparisonPredicate, static #"predicateWithLeftExpression:rightExpression:customSelector:") = NSPredicate, NSExpression, NSExpression, SelectorHandle;
overload externalInstanceMethod(static NSComparisonPredicate, static #"initWithLeftExpression:rightExpression:modifier:type:options:") = Id, NSExpression, NSExpression, UInt, UInt, UInt;
overload externalInstanceMethod(static NSComparisonPredicate, static #"initWithLeftExpression:rightExpression:customSelector:") = Id, NSExpression, NSExpression, SelectorHandle;
overload externalInstanceMethod(static NSComparisonPredicate, static #"predicateOperatorType") = UInt;
overload externalInstanceMethod(static NSComparisonPredicate, static #"comparisonPredicateModifier") = UInt;
overload externalInstanceMethod(static NSComparisonPredicate, static #"leftExpression") = NSExpression;
overload externalInstanceMethod(static NSComparisonPredicate, static #"rightExpression") = NSExpression;
overload externalInstanceMethod(static NSComparisonPredicate, static #"customSelector") = SelectorHandle;
overload externalInstanceMethod(static NSComparisonPredicate, static #"options") = UInt;

record NSCompoundPredicate = externalClass(NSPredicate);
overload externalInstanceMethod(static NSCompoundPredicate, static #"initWithType:subpredicates:") = Id, UInt, NSArray;
overload externalInstanceMethod(static NSCompoundPredicate, static #"compoundPredicateType") = UInt;
overload externalInstanceMethod(static NSCompoundPredicate, static #"subpredicates") = NSArray;
overload externalClassMethod(static NSCompoundPredicate, static #"andPredicateWithSubpredicates:") = NSPredicate, NSArray;
overload externalClassMethod(static NSCompoundPredicate, static #"orPredicateWithSubpredicates:") = NSPredicate, NSArray;
overload externalClassMethod(static NSCompoundPredicate, static #"notPredicateWithSubpredicate:") = NSPredicate, NSPredicate;

record NSCondition = externalClass(NSObject);
overload externalInstanceMethod(static NSCondition, static #"lock") = Void;
overload externalInstanceMethod(static NSCondition, static #"unlock") = Void;
overload externalInstanceMethod(static NSCondition, static #"wait") = Void;
overload externalInstanceMethod(static NSCondition, static #"waitUntilDate:") = Bool, NSDate;
overload externalInstanceMethod(static NSCondition, static #"signal") = Void;
overload externalInstanceMethod(static NSCondition, static #"broadcast") = Void;
overload externalInstanceMethod(static NSCondition, static #"setName:") = Void, NSString;
overload externalInstanceMethod(static NSCondition, static #"name") = NSString;

record NSConditionLock = externalClass(NSObject);
overload externalInstanceMethod(static NSConditionLock, static #"lock") = Void;
overload externalInstanceMethod(static NSConditionLock, static #"unlock") = Void;
overload externalInstanceMethod(static NSConditionLock, static #"initWithCondition:") = Id, Int;
overload externalInstanceMethod(static NSConditionLock, static #"condition") = Int;
overload externalInstanceMethod(static NSConditionLock, static #"lockWhenCondition:") = Void, Int;
overload externalInstanceMethod(static NSConditionLock, static #"tryLock") = Bool;
overload externalInstanceMethod(static NSConditionLock, static #"tryLockWhenCondition:") = Bool, Int;
overload externalInstanceMethod(static NSConditionLock, static #"unlockWithCondition:") = Void, Int;
overload externalInstanceMethod(static NSConditionLock, static #"lockBeforeDate:") = Bool, NSDate;
overload externalInstanceMethod(static NSConditionLock, static #"lockWhenCondition:beforeDate:") = Bool, Int, NSDate;
overload externalInstanceMethod(static NSConditionLock, static #"setName:") = Void, NSString;
overload externalInstanceMethod(static NSConditionLock, static #"name") = NSString;

record NSConstantString = externalClass(NSSimpleCString);

record NSCountedSet = externalClass(NSMutableSet);
overload externalInstanceMethod(static NSCountedSet, static #"initWithCapacity:") = Id, UInt;
overload externalInstanceMethod(static NSCountedSet, static #"initWithArray:") = Id, NSArray;
overload externalInstanceMethod(static NSCountedSet, static #"initWithSet:") = Id, NSSet;
overload externalInstanceMethod(static NSCountedSet, static #"countForObject:") = UInt, Id;
overload externalInstanceMethod(static NSCountedSet, static #"objectEnumerator") = NSEnumerator;
overload externalInstanceMethod(static NSCountedSet, static #"addObject:") = Void, Id;
overload externalInstanceMethod(static NSCountedSet, static #"removeObject:") = Void, Id;

record NSData = externalClass(NSObject);
overload externalInstanceMethod(static NSData, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSData, static #"mutableCopyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSData, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSData, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSData, static #"length") = UInt;
overload externalInstanceMethod(static NSData, static #"bytes") = RawPointer;
overload externalInstanceMethod(static NSData, static #"description") = NSString;
overload externalInstanceMethod(static NSData, static #"getBytes:length:") = Void, RawPointer, UInt;
overload externalInstanceMethod(static NSData, static #"getBytes:range:") = Void, RawPointer, NSRange;
overload externalInstanceMethod(static NSData, static #"isEqualToData:") = Bool, NSData;
overload externalInstanceMethod(static NSData, static #"subdataWithRange:") = NSData, NSRange;
overload externalInstanceMethod(static NSData, static #"writeToFile:atomically:") = Bool, NSString, Bool;
overload externalInstanceMethod(static NSData, static #"writeToURL:atomically:") = Bool, NSURL, Bool;
overload externalInstanceMethod(static NSData, static #"writeToFile:options:error:") = Bool, NSString, UInt, Pointer[NSError];
overload externalInstanceMethod(static NSData, static #"writeToURL:options:error:") = Bool, NSURL, UInt, Pointer[NSError];
overload externalInstanceMethod(static NSData, static #"rangeOfData:options:range:") = NSRange, NSData, UInt, NSRange;
overload externalClassMethod(static NSData, static #"data") = Id;
overload externalClassMethod(static NSData, static #"dataWithBytes:length:") = Id, RawPointer, UInt;
overload externalClassMethod(static NSData, static #"dataWithBytesNoCopy:length:") = Id, RawPointer, UInt;
overload externalClassMethod(static NSData, static #"dataWithBytesNoCopy:length:freeWhenDone:") = Id, RawPointer, UInt, Bool;
overload externalClassMethod(static NSData, static #"dataWithContentsOfFile:options:error:") = Id, NSString, UInt, Pointer[NSError];
overload externalClassMethod(static NSData, static #"dataWithContentsOfURL:options:error:") = Id, NSURL, UInt, Pointer[NSError];
overload externalClassMethod(static NSData, static #"dataWithContentsOfFile:") = Id, NSString;
overload externalClassMethod(static NSData, static #"dataWithContentsOfURL:") = Id, NSURL;
overload externalClassMethod(static NSData, static #"dataWithContentsOfMappedFile:") = Id, NSString;
overload externalInstanceMethod(static NSData, static #"initWithBytes:length:") = Id, RawPointer, UInt;
overload externalInstanceMethod(static NSData, static #"initWithBytesNoCopy:length:") = Id, RawPointer, UInt;
overload externalInstanceMethod(static NSData, static #"initWithBytesNoCopy:length:freeWhenDone:") = Id, RawPointer, UInt, Bool;
overload externalInstanceMethod(static NSData, static #"initWithContentsOfFile:options:error:") = Id, NSString, UInt, Pointer[NSError];
overload externalInstanceMethod(static NSData, static #"initWithContentsOfURL:options:error:") = Id, NSURL, UInt, Pointer[NSError];
overload externalInstanceMethod(static NSData, static #"initWithContentsOfFile:") = Id, NSString;
overload externalInstanceMethod(static NSData, static #"initWithContentsOfURL:") = Id, NSURL;
overload externalInstanceMethod(static NSData, static #"initWithContentsOfMappedFile:") = Id, NSString;
overload externalInstanceMethod(static NSData, static #"initWithData:") = Id, NSData;
overload externalClassMethod(static NSData, static #"dataWithData:") = Id, NSData;
overload externalInstanceMethod(static NSData, static #"getBytes:") = Void, RawPointer;

record NSDataDetector = externalClass(NSRegularExpression);
overload externalClassMethod(static NSDataDetector, static #"dataDetectorWithTypes:error:") = NSDataDetector, UInt64, Pointer[NSError];
overload externalInstanceMethod(static NSDataDetector, static #"initWithTypes:error:") = Id, UInt64, Pointer[NSError];
overload externalInstanceMethod(static NSDataDetector, static #"checkingTypes") = UInt64;

record NSDate = externalClass(NSObject);
overload externalInstanceMethod(static NSDate, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSDate, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSDate, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSDate, static #"timeIntervalSinceReferenceDate") = Double;
overload externalInstanceMethod(static NSDate, static #"timeIntervalSinceDate:") = Double, NSDate;
overload externalInstanceMethod(static NSDate, static #"timeIntervalSinceNow") = Double;
overload externalInstanceMethod(static NSDate, static #"timeIntervalSince1970") = Double;
overload externalInstanceMethod(static NSDate, static #"addTimeInterval:") = Id, Double;
overload externalInstanceMethod(static NSDate, static #"dateByAddingTimeInterval:") = Id, Double;
overload externalInstanceMethod(static NSDate, static #"earlierDate:") = NSDate, NSDate;
overload externalInstanceMethod(static NSDate, static #"laterDate:") = NSDate, NSDate;
overload externalInstanceMethod(static NSDate, static #"compare:") = Int, NSDate;
overload externalInstanceMethod(static NSDate, static #"isEqualToDate:") = Bool, NSDate;
overload externalInstanceMethod(static NSDate, static #"description") = NSString;
overload externalInstanceMethod(static NSDate, static #"descriptionWithLocale:") = NSString, Id;
overload externalClassMethod(static NSDate, static #"timeIntervalSinceReferenceDate") = Double;
overload externalClassMethod(static NSDate, static #"date") = Id;
overload externalClassMethod(static NSDate, static #"dateWithTimeIntervalSinceNow:") = Id, Double;
overload externalClassMethod(static NSDate, static #"dateWithTimeIntervalSinceReferenceDate:") = Id, Double;
overload externalClassMethod(static NSDate, static #"dateWithTimeIntervalSince1970:") = Id, Double;
overload externalClassMethod(static NSDate, static #"dateWithTimeInterval:sinceDate:") = Id, Double, NSDate;
overload externalClassMethod(static NSDate, static #"distantFuture") = Id;
overload externalClassMethod(static NSDate, static #"distantPast") = Id;
overload externalInstanceMethod(static NSDate, static #"init") = Id;
overload externalInstanceMethod(static NSDate, static #"initWithTimeIntervalSinceNow:") = Id, Double;
overload externalInstanceMethod(static NSDate, static #"initWithTimeIntervalSinceReferenceDate:") = Id, Double;
overload externalInstanceMethod(static NSDate, static #"initWithTimeIntervalSince1970:") = Id, Double;
overload externalInstanceMethod(static NSDate, static #"initWithTimeInterval:sinceDate:") = Id, Double, NSDate;

record NSDateComponents = externalClass(NSObject);
overload externalInstanceMethod(static NSDateComponents, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSDateComponents, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSDateComponents, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSDateComponents, static #"calendar") = NSCalendar;
overload externalInstanceMethod(static NSDateComponents, static #"timeZone") = NSTimeZone;
overload externalInstanceMethod(static NSDateComponents, static #"era") = Int;
overload externalInstanceMethod(static NSDateComponents, static #"year") = Int;
overload externalInstanceMethod(static NSDateComponents, static #"month") = Int;
overload externalInstanceMethod(static NSDateComponents, static #"day") = Int;
overload externalInstanceMethod(static NSDateComponents, static #"hour") = Int;
overload externalInstanceMethod(static NSDateComponents, static #"minute") = Int;
overload externalInstanceMethod(static NSDateComponents, static #"second") = Int;
overload externalInstanceMethod(static NSDateComponents, static #"week") = Int;
overload externalInstanceMethod(static NSDateComponents, static #"weekday") = Int;
overload externalInstanceMethod(static NSDateComponents, static #"weekdayOrdinal") = Int;
overload externalInstanceMethod(static NSDateComponents, static #"quarter") = Int;
overload externalInstanceMethod(static NSDateComponents, static #"setCalendar:") = Void, NSCalendar;
overload externalInstanceMethod(static NSDateComponents, static #"setTimeZone:") = Void, NSTimeZone;
overload externalInstanceMethod(static NSDateComponents, static #"setEra:") = Void, Int;
overload externalInstanceMethod(static NSDateComponents, static #"setYear:") = Void, Int;
overload externalInstanceMethod(static NSDateComponents, static #"setMonth:") = Void, Int;
overload externalInstanceMethod(static NSDateComponents, static #"setDay:") = Void, Int;
overload externalInstanceMethod(static NSDateComponents, static #"setHour:") = Void, Int;
overload externalInstanceMethod(static NSDateComponents, static #"setMinute:") = Void, Int;
overload externalInstanceMethod(static NSDateComponents, static #"setSecond:") = Void, Int;
overload externalInstanceMethod(static NSDateComponents, static #"setWeek:") = Void, Int;
overload externalInstanceMethod(static NSDateComponents, static #"setWeekday:") = Void, Int;
overload externalInstanceMethod(static NSDateComponents, static #"setWeekdayOrdinal:") = Void, Int;
overload externalInstanceMethod(static NSDateComponents, static #"setQuarter:") = Void, Int;
overload externalInstanceMethod(static NSDateComponents, static #"date") = NSDate;

record NSDateFormatter = externalClass(NSFormatter);
overload externalInstanceMethod(static NSDateFormatter, static #"getObjectValue:forString:range:error:") = Bool, Pointer[Id], NSString, Pointer[NSRange], Pointer[NSError];
overload externalInstanceMethod(static NSDateFormatter, static #"stringFromDate:") = NSString, NSDate;
overload externalInstanceMethod(static NSDateFormatter, static #"dateFromString:") = NSDate, NSString;
overload externalClassMethod(static NSDateFormatter, static #"localizedStringFromDate:dateStyle:timeStyle:") = NSString, NSDate, UInt, UInt;
overload externalClassMethod(static NSDateFormatter, static #"dateFormatFromTemplate:options:locale:") = NSString, NSString, UInt, NSLocale;
overload externalInstanceMethod(static NSDateFormatter, static #"dateFormat") = NSString;
overload externalInstanceMethod(static NSDateFormatter, static #"dateStyle") = UInt;
overload externalInstanceMethod(static NSDateFormatter, static #"setDateStyle:") = Void, UInt;
overload externalInstanceMethod(static NSDateFormatter, static #"timeStyle") = UInt;
overload externalInstanceMethod(static NSDateFormatter, static #"setTimeStyle:") = Void, UInt;
overload externalInstanceMethod(static NSDateFormatter, static #"locale") = NSLocale;
overload externalInstanceMethod(static NSDateFormatter, static #"setLocale:") = Void, NSLocale;
overload externalInstanceMethod(static NSDateFormatter, static #"generatesCalendarDates") = Bool;
overload externalInstanceMethod(static NSDateFormatter, static #"setGeneratesCalendarDates:") = Void, Bool;
overload externalInstanceMethod(static NSDateFormatter, static #"formatterBehavior") = UInt;
overload externalInstanceMethod(static NSDateFormatter, static #"setFormatterBehavior:") = Void, UInt;
overload externalClassMethod(static NSDateFormatter, static #"defaultFormatterBehavior") = UInt;
overload externalClassMethod(static NSDateFormatter, static #"setDefaultFormatterBehavior:") = Void, UInt;
overload externalInstanceMethod(static NSDateFormatter, static #"setDateFormat:") = Void, NSString;
overload externalInstanceMethod(static NSDateFormatter, static #"timeZone") = NSTimeZone;
overload externalInstanceMethod(static NSDateFormatter, static #"setTimeZone:") = Void, NSTimeZone;
overload externalInstanceMethod(static NSDateFormatter, static #"calendar") = NSCalendar;
overload externalInstanceMethod(static NSDateFormatter, static #"setCalendar:") = Void, NSCalendar;
overload externalInstanceMethod(static NSDateFormatter, static #"isLenient") = Bool;
overload externalInstanceMethod(static NSDateFormatter, static #"setLenient:") = Void, Bool;
overload externalInstanceMethod(static NSDateFormatter, static #"twoDigitStartDate") = NSDate;
overload externalInstanceMethod(static NSDateFormatter, static #"setTwoDigitStartDate:") = Void, NSDate;
overload externalInstanceMethod(static NSDateFormatter, static #"defaultDate") = NSDate;
overload externalInstanceMethod(static NSDateFormatter, static #"setDefaultDate:") = Void, NSDate;
overload externalInstanceMethod(static NSDateFormatter, static #"eraSymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setEraSymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"monthSymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setMonthSymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"shortMonthSymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setShortMonthSymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"weekdaySymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setWeekdaySymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"shortWeekdaySymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setShortWeekdaySymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"AMSymbol") = NSString;
overload externalInstanceMethod(static NSDateFormatter, static #"setAMSymbol:") = Void, NSString;
overload externalInstanceMethod(static NSDateFormatter, static #"PMSymbol") = NSString;
overload externalInstanceMethod(static NSDateFormatter, static #"setPMSymbol:") = Void, NSString;
overload externalInstanceMethod(static NSDateFormatter, static #"longEraSymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setLongEraSymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"veryShortMonthSymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setVeryShortMonthSymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"standaloneMonthSymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setStandaloneMonthSymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"shortStandaloneMonthSymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setShortStandaloneMonthSymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"veryShortStandaloneMonthSymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setVeryShortStandaloneMonthSymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"veryShortWeekdaySymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setVeryShortWeekdaySymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"standaloneWeekdaySymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setStandaloneWeekdaySymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"shortStandaloneWeekdaySymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setShortStandaloneWeekdaySymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"veryShortStandaloneWeekdaySymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setVeryShortStandaloneWeekdaySymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"quarterSymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setQuarterSymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"shortQuarterSymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setShortQuarterSymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"standaloneQuarterSymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setStandaloneQuarterSymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"shortStandaloneQuarterSymbols") = NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"setShortStandaloneQuarterSymbols:") = Void, NSArray;
overload externalInstanceMethod(static NSDateFormatter, static #"gregorianStartDate") = NSDate;
overload externalInstanceMethod(static NSDateFormatter, static #"setGregorianStartDate:") = Void, NSDate;
overload externalInstanceMethod(static NSDateFormatter, static #"doesRelativeDateFormatting") = Bool;
overload externalInstanceMethod(static NSDateFormatter, static #"setDoesRelativeDateFormatting:") = Void, Bool;

record NSDecimalNumber = externalClass(NSNumber);
overload externalInstanceMethod(static NSDecimalNumber, static #"initWithMantissa:exponent:isNegative:") = Id, UInt64, Short, Bool;
overload externalInstanceMethod(static NSDecimalNumber, static #"initWithDecimal:") = Id, NSDecimal;
overload externalInstanceMethod(static NSDecimalNumber, static #"initWithString:") = Id, NSString;
overload externalInstanceMethod(static NSDecimalNumber, static #"initWithString:locale:") = Id, NSString, Id;
overload externalInstanceMethod(static NSDecimalNumber, static #"descriptionWithLocale:") = NSString, Id;
overload externalInstanceMethod(static NSDecimalNumber, static #"decimalValue") = NSDecimal;
overload externalClassMethod(static NSDecimalNumber, static #"decimalNumberWithMantissa:exponent:isNegative:") = NSDecimalNumber, UInt64, Short, Bool;
overload externalClassMethod(static NSDecimalNumber, static #"decimalNumberWithDecimal:") = NSDecimalNumber, NSDecimal;
overload externalClassMethod(static NSDecimalNumber, static #"decimalNumberWithString:") = NSDecimalNumber, NSString;
overload externalClassMethod(static NSDecimalNumber, static #"decimalNumberWithString:locale:") = NSDecimalNumber, NSString, Id;
overload externalClassMethod(static NSDecimalNumber, static #"zero") = NSDecimalNumber;
overload externalClassMethod(static NSDecimalNumber, static #"one") = NSDecimalNumber;
overload externalClassMethod(static NSDecimalNumber, static #"minimumDecimalNumber") = NSDecimalNumber;
overload externalClassMethod(static NSDecimalNumber, static #"maximumDecimalNumber") = NSDecimalNumber;
overload externalClassMethod(static NSDecimalNumber, static #"notANumber") = NSDecimalNumber;
overload externalInstanceMethod(static NSDecimalNumber, static #"decimalNumberByAdding:") = NSDecimalNumber, NSDecimalNumber;
overload externalInstanceMethod(static NSDecimalNumber, static #"decimalNumberByAdding:withBehavior:") = NSDecimalNumber, NSDecimalNumber, Id;
overload externalInstanceMethod(static NSDecimalNumber, static #"decimalNumberBySubtracting:") = NSDecimalNumber, NSDecimalNumber;
overload externalInstanceMethod(static NSDecimalNumber, static #"decimalNumberBySubtracting:withBehavior:") = NSDecimalNumber, NSDecimalNumber, Id;
overload externalInstanceMethod(static NSDecimalNumber, static #"decimalNumberByMultiplyingBy:") = NSDecimalNumber, NSDecimalNumber;
overload externalInstanceMethod(static NSDecimalNumber, static #"decimalNumberByMultiplyingBy:withBehavior:") = NSDecimalNumber, NSDecimalNumber, Id;
overload externalInstanceMethod(static NSDecimalNumber, static #"decimalNumberByDividingBy:") = NSDecimalNumber, NSDecimalNumber;
overload externalInstanceMethod(static NSDecimalNumber, static #"decimalNumberByDividingBy:withBehavior:") = NSDecimalNumber, NSDecimalNumber, Id;
overload externalInstanceMethod(static NSDecimalNumber, static #"decimalNumberByRaisingToPower:") = NSDecimalNumber, UInt;
overload externalInstanceMethod(static NSDecimalNumber, static #"decimalNumberByRaisingToPower:withBehavior:") = NSDecimalNumber, UInt, Id;
overload externalInstanceMethod(static NSDecimalNumber, static #"decimalNumberByMultiplyingByPowerOf10:") = NSDecimalNumber, Short;
overload externalInstanceMethod(static NSDecimalNumber, static #"decimalNumberByMultiplyingByPowerOf10:withBehavior:") = NSDecimalNumber, Short, Id;
overload externalInstanceMethod(static NSDecimalNumber, static #"decimalNumberByRoundingAccordingToBehavior:") = NSDecimalNumber, Id;
overload externalInstanceMethod(static NSDecimalNumber, static #"compare:") = Int, NSNumber;
overload externalClassMethod(static NSDecimalNumber, static #"setDefaultBehavior:") = Void, Id;
overload externalClassMethod(static NSDecimalNumber, static #"defaultBehavior") = Id;
overload externalInstanceMethod(static NSDecimalNumber, static #"objCType") = Pointer[CChar];
overload externalInstanceMethod(static NSDecimalNumber, static #"doubleValue") = Double;

record NSDecimalNumberHandler = externalClass(NSObject);
overload externalInstanceMethod(static NSDecimalNumberHandler, static #"roundingMode") = UInt;
overload externalInstanceMethod(static NSDecimalNumberHandler, static #"scale") = Short;
overload externalInstanceMethod(static NSDecimalNumberHandler, static #"exceptionDuringOperation:error:leftOperand:rightOperand:") = NSDecimalNumber, SelectorHandle, UInt, NSDecimalNumber, NSDecimalNumber;
overload externalInstanceMethod(static NSDecimalNumberHandler, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSDecimalNumberHandler, static #"initWithCoder:") = Id, NSCoder;
overload externalClassMethod(static NSDecimalNumberHandler, static #"defaultDecimalNumberHandler") = Id;
overload externalInstanceMethod(static NSDecimalNumberHandler, static #"initWithRoundingMode:scale:raiseOnExactness:raiseOnOverflow:raiseOnUnderflow:raiseOnDivideByZero:") = Id, UInt, Short, Bool, Bool, Bool, Bool;
overload externalClassMethod(static NSDecimalNumberHandler, static #"decimalNumberHandlerWithRoundingMode:scale:raiseOnExactness:raiseOnOverflow:raiseOnUnderflow:raiseOnDivideByZero:") = Id, UInt, Short, Bool, Bool, Bool, Bool;

record NSDictionary = externalClass(NSObject);
overload externalInstanceMethod(static NSDictionary, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSDictionary, static #"mutableCopyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSDictionary, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSDictionary, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSDictionary, static #"countByEnumeratingWithState:objects:count:") = UInt, Pointer[NSFastEnumerationState], Pointer[Id], UInt;
overload externalInstanceMethod(static NSDictionary, static #"count") = UInt;
overload externalInstanceMethod(static NSDictionary, static #"objectForKey:") = Id, Id;
overload externalInstanceMethod(static NSDictionary, static #"keyEnumerator") = NSEnumerator;
overload externalInstanceMethod(static NSDictionary, static #"allKeys") = NSArray;
overload externalInstanceMethod(static NSDictionary, static #"allKeysForObject:") = NSArray, Id;
overload externalInstanceMethod(static NSDictionary, static #"allValues") = NSArray;
overload externalInstanceMethod(static NSDictionary, static #"description") = NSString;
overload externalInstanceMethod(static NSDictionary, static #"descriptionInStringsFileFormat") = NSString;
overload externalInstanceMethod(static NSDictionary, static #"descriptionWithLocale:") = NSString, Id;
overload externalInstanceMethod(static NSDictionary, static #"descriptionWithLocale:indent:") = NSString, Id, UInt;
overload externalInstanceMethod(static NSDictionary, static #"isEqualToDictionary:") = Bool, NSDictionary;
overload externalInstanceMethod(static NSDictionary, static #"objectEnumerator") = NSEnumerator;
overload externalInstanceMethod(static NSDictionary, static #"objectsForKeys:notFoundMarker:") = NSArray, NSArray, Id;
overload externalInstanceMethod(static NSDictionary, static #"writeToFile:atomically:") = Bool, NSString, Bool;
overload externalInstanceMethod(static NSDictionary, static #"writeToURL:atomically:") = Bool, NSURL, Bool;
overload externalInstanceMethod(static NSDictionary, static #"keysSortedByValueUsingSelector:") = NSArray, SelectorHandle;
overload externalInstanceMethod(static NSDictionary, static #"getObjects:andKeys:") = Void, Pointer[Id], Pointer[Id];
overload externalInstanceMethod(static NSDictionary, static #"enumerateKeysAndObjectsUsingBlock:") = Void, UnknownType;
overload externalInstanceMethod(static NSDictionary, static #"enumerateKeysAndObjectsWithOptions:usingBlock:") = Void, UInt, UnknownType;
overload externalInstanceMethod(static NSDictionary, static #"keysSortedByValueUsingComparator:") = NSArray, NSComparator;
overload externalInstanceMethod(static NSDictionary, static #"keysSortedByValueWithOptions:usingComparator:") = NSArray, UInt, NSComparator;
overload externalInstanceMethod(static NSDictionary, static #"keysOfEntriesPassingTest:") = NSSet, UnknownType;
overload externalInstanceMethod(static NSDictionary, static #"keysOfEntriesWithOptions:passingTest:") = NSSet, UInt, UnknownType;
overload externalClassMethod(static NSDictionary, static #"dictionary") = Id;
overload externalClassMethod(static NSDictionary, static #"dictionaryWithObject:forKey:") = Id, Id, Id;
overload externalClassMethod(static NSDictionary, static #"dictionaryWithObjects:forKeys:count:") = Id, Pointer[Id], Pointer[Id], UInt;
overload externalVarargClassMethod(static NSDictionary, static #"dictionaryWithObjectsAndKeys:") = Id, Id;
overload externalClassMethod(static NSDictionary, static #"dictionaryWithDictionary:") = Id, NSDictionary;
overload externalClassMethod(static NSDictionary, static #"dictionaryWithObjects:forKeys:") = Id, NSArray, NSArray;
overload externalInstanceMethod(static NSDictionary, static #"initWithObjects:forKeys:count:") = Id, Pointer[Id], Pointer[Id], UInt;
overload externalVarargInstanceMethod(static NSDictionary, static #"initWithObjectsAndKeys:") = Id, Id;
overload externalInstanceMethod(static NSDictionary, static #"initWithDictionary:") = Id, NSDictionary;
overload externalInstanceMethod(static NSDictionary, static #"initWithDictionary:copyItems:") = Id, NSDictionary, Bool;
overload externalInstanceMethod(static NSDictionary, static #"initWithObjects:forKeys:") = Id, NSArray, NSArray;
overload externalClassMethod(static NSDictionary, static #"dictionaryWithContentsOfFile:") = Id, NSString;
overload externalClassMethod(static NSDictionary, static #"dictionaryWithContentsOfURL:") = Id, NSURL;
overload externalInstanceMethod(static NSDictionary, static #"initWithContentsOfFile:") = Id, NSString;
overload externalInstanceMethod(static NSDictionary, static #"initWithContentsOfURL:") = Id, NSURL;
overload externalInstanceMethod(static NSDictionary, static #"fileSize") = UInt64;
overload externalInstanceMethod(static NSDictionary, static #"fileModificationDate") = NSDate;
overload externalInstanceMethod(static NSDictionary, static #"fileType") = NSString;
overload externalInstanceMethod(static NSDictionary, static #"filePosixPermissions") = UInt;
overload externalInstanceMethod(static NSDictionary, static #"fileOwnerAccountName") = NSString;
overload externalInstanceMethod(static NSDictionary, static #"fileGroupOwnerAccountName") = NSString;
overload externalInstanceMethod(static NSDictionary, static #"fileSystemNumber") = Int;
overload externalInstanceMethod(static NSDictionary, static #"fileSystemFileNumber") = UInt;
overload externalInstanceMethod(static NSDictionary, static #"fileExtensionHidden") = Bool;
overload externalInstanceMethod(static NSDictionary, static #"fileHFSCreatorCode") = CULong;
overload externalInstanceMethod(static NSDictionary, static #"fileHFSTypeCode") = CULong;
overload externalInstanceMethod(static NSDictionary, static #"fileIsImmutable") = Bool;
overload externalInstanceMethod(static NSDictionary, static #"fileIsAppendOnly") = Bool;
overload externalInstanceMethod(static NSDictionary, static #"fileCreationDate") = NSDate;
overload externalInstanceMethod(static NSDictionary, static #"fileOwnerAccountID") = NSNumber;
overload externalInstanceMethod(static NSDictionary, static #"fileGroupOwnerAccountID") = NSNumber;
overload externalInstanceMethod(static NSDictionary, static #"valueForKey:") = Id, NSString;

record NSDirectoryEnumerator = externalClass(NSEnumerator);
overload externalInstanceMethod(static NSDirectoryEnumerator, static #"fileAttributes") = NSDictionary;
overload externalInstanceMethod(static NSDirectoryEnumerator, static #"directoryAttributes") = NSDictionary;
overload externalInstanceMethod(static NSDirectoryEnumerator, static #"skipDescendents") = Void;
overload externalInstanceMethod(static NSDirectoryEnumerator, static #"level") = UInt;
overload externalInstanceMethod(static NSDirectoryEnumerator, static #"skipDescendants") = Void;

record NSEnumerator = externalClass(NSObject);
overload externalInstanceMethod(static NSEnumerator, static #"countByEnumeratingWithState:objects:count:") = UInt, Pointer[NSFastEnumerationState], Pointer[Id], UInt;
overload externalInstanceMethod(static NSEnumerator, static #"nextObject") = Id;
overload externalInstanceMethod(static NSEnumerator, static #"allObjects") = NSArray;

record NSError = externalClass(NSObject);
overload externalInstanceMethod(static NSError, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSError, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSError, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSError, static #"initWithDomain:code:userInfo:") = Id, NSString, Int, NSDictionary;
overload externalClassMethod(static NSError, static #"errorWithDomain:code:userInfo:") = Id, NSString, Int, NSDictionary;
overload externalInstanceMethod(static NSError, static #"domain") = NSString;
overload externalInstanceMethod(static NSError, static #"code") = Int;
overload externalInstanceMethod(static NSError, static #"userInfo") = NSDictionary;
overload externalInstanceMethod(static NSError, static #"localizedDescription") = NSString;
overload externalInstanceMethod(static NSError, static #"localizedFailureReason") = NSString;
overload externalInstanceMethod(static NSError, static #"localizedRecoverySuggestion") = NSString;
overload externalInstanceMethod(static NSError, static #"localizedRecoveryOptions") = NSArray;
overload externalInstanceMethod(static NSError, static #"recoveryAttempter") = Id;
overload externalInstanceMethod(static NSError, static #"helpAnchor") = NSString;

record NSException = externalClass(NSObject);
overload externalInstanceMethod(static NSException, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSException, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSException, static #"initWithCoder:") = Id, NSCoder;
overload externalClassMethod(static NSException, static #"exceptionWithName:reason:userInfo:") = NSException, NSString, NSString, NSDictionary;
overload externalInstanceMethod(static NSException, static #"initWithName:reason:userInfo:") = Id, NSString, NSString, NSDictionary;
overload externalInstanceMethod(static NSException, static #"name") = NSString;
overload externalInstanceMethod(static NSException, static #"reason") = NSString;
overload externalInstanceMethod(static NSException, static #"userInfo") = NSDictionary;
overload externalInstanceMethod(static NSException, static #"callStackReturnAddresses") = NSArray;
overload externalInstanceMethod(static NSException, static #"callStackSymbols") = NSArray;
overload externalInstanceMethod(static NSException, static #"raise") = Void;
overload externalVarargClassMethod(static NSException, static #"raise:format:") = Void, NSString, NSString;
overload externalClassMethod(static NSException, static #"raise:format:arguments:") = Void, NSString, NSString, va_list;

record NSExpression = externalClass(NSObject);
overload externalInstanceMethod(static NSExpression, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSExpression, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSExpression, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalClassMethod(static NSExpression, static #"expressionForConstantValue:") = NSExpression, Id;
overload externalClassMethod(static NSExpression, static #"expressionForEvaluatedObject") = NSExpression;
overload externalClassMethod(static NSExpression, static #"expressionForVariable:") = NSExpression, NSString;
overload externalClassMethod(static NSExpression, static #"expressionForKeyPath:") = NSExpression, NSString;
overload externalClassMethod(static NSExpression, static #"expressionForFunction:arguments:") = NSExpression, NSString, NSArray;
overload externalClassMethod(static NSExpression, static #"expressionForAggregate:") = NSExpression, NSArray;
overload externalClassMethod(static NSExpression, static #"expressionForUnionSet:with:") = NSExpression, NSExpression, NSExpression;
overload externalClassMethod(static NSExpression, static #"expressionForIntersectSet:with:") = NSExpression, NSExpression, NSExpression;
overload externalClassMethod(static NSExpression, static #"expressionForMinusSet:with:") = NSExpression, NSExpression, NSExpression;
overload externalClassMethod(static NSExpression, static #"expressionForSubquery:usingIteratorVariable:predicate:") = NSExpression, NSExpression, NSString, Id;
overload externalClassMethod(static NSExpression, static #"expressionForFunction:selectorName:arguments:") = NSExpression, NSExpression, NSString, NSArray;
overload externalClassMethod(static NSExpression, static #"expressionForBlock:arguments:") = NSExpression, UnknownType, NSArray;
overload externalInstanceMethod(static NSExpression, static #"initWithExpressionType:") = Id, UInt;
overload externalInstanceMethod(static NSExpression, static #"expressionType") = UInt;
overload externalInstanceMethod(static NSExpression, static #"constantValue") = Id;
overload externalInstanceMethod(static NSExpression, static #"keyPath") = NSString;
overload externalInstanceMethod(static NSExpression, static #"function") = NSString;
overload externalInstanceMethod(static NSExpression, static #"variable") = NSString;
overload externalInstanceMethod(static NSExpression, static #"operand") = NSExpression;
overload externalInstanceMethod(static NSExpression, static #"arguments") = NSArray;
overload externalInstanceMethod(static NSExpression, static #"collection") = Id;
overload externalInstanceMethod(static NSExpression, static #"predicate") = NSPredicate;
overload externalInstanceMethod(static NSExpression, static #"leftExpression") = NSExpression;
overload externalInstanceMethod(static NSExpression, static #"rightExpression") = NSExpression;
overload externalInstanceMethod(static NSExpression, static #"expressionBlock") = UnknownType;
overload externalInstanceMethod(static NSExpression, static #"expressionValueWithObject:context:") = Id, Id, NSMutableDictionary;

record NSFileHandle = externalClass(NSObject);
overload externalInstanceMethod(static NSFileHandle, static #"availableData") = NSData;
overload externalInstanceMethod(static NSFileHandle, static #"readDataToEndOfFile") = NSData;
overload externalInstanceMethod(static NSFileHandle, static #"readDataOfLength:") = NSData, UInt;
overload externalInstanceMethod(static NSFileHandle, static #"writeData:") = Void, NSData;
overload externalInstanceMethod(static NSFileHandle, static #"offsetInFile") = UInt64;
overload externalInstanceMethod(static NSFileHandle, static #"seekToEndOfFile") = UInt64;
overload externalInstanceMethod(static NSFileHandle, static #"seekToFileOffset:") = Void, UInt64;
overload externalInstanceMethod(static NSFileHandle, static #"truncateFileAtOffset:") = Void, UInt64;
overload externalInstanceMethod(static NSFileHandle, static #"synchronizeFile") = Void;
overload externalInstanceMethod(static NSFileHandle, static #"closeFile") = Void;
overload externalClassMethod(static NSFileHandle, static #"fileHandleWithStandardInput") = Id;
overload externalClassMethod(static NSFileHandle, static #"fileHandleWithStandardOutput") = Id;
overload externalClassMethod(static NSFileHandle, static #"fileHandleWithStandardError") = Id;
overload externalClassMethod(static NSFileHandle, static #"fileHandleWithNullDevice") = Id;
overload externalClassMethod(static NSFileHandle, static #"fileHandleForReadingAtPath:") = Id, NSString;
overload externalClassMethod(static NSFileHandle, static #"fileHandleForWritingAtPath:") = Id, NSString;
overload externalClassMethod(static NSFileHandle, static #"fileHandleForUpdatingAtPath:") = Id, NSString;
overload externalClassMethod(static NSFileHandle, static #"fileHandleForReadingFromURL:error:") = Id, NSURL, Pointer[NSError];
overload externalClassMethod(static NSFileHandle, static #"fileHandleForWritingToURL:error:") = Id, NSURL, Pointer[NSError];
overload externalClassMethod(static NSFileHandle, static #"fileHandleForUpdatingURL:error:") = Id, NSURL, Pointer[NSError];
overload externalInstanceMethod(static NSFileHandle, static #"readInBackgroundAndNotifyForModes:") = Void, NSArray;
overload externalInstanceMethod(static NSFileHandle, static #"readInBackgroundAndNotify") = Void;
overload externalInstanceMethod(static NSFileHandle, static #"readToEndOfFileInBackgroundAndNotifyForModes:") = Void, NSArray;
overload externalInstanceMethod(static NSFileHandle, static #"readToEndOfFileInBackgroundAndNotify") = Void;
overload externalInstanceMethod(static NSFileHandle, static #"acceptConnectionInBackgroundAndNotifyForModes:") = Void, NSArray;
overload externalInstanceMethod(static NSFileHandle, static #"acceptConnectionInBackgroundAndNotify") = Void;
overload externalInstanceMethod(static NSFileHandle, static #"waitForDataInBackgroundAndNotifyForModes:") = Void, NSArray;
overload externalInstanceMethod(static NSFileHandle, static #"waitForDataInBackgroundAndNotify") = Void;
overload externalInstanceMethod(static NSFileHandle, static #"initWithFileDescriptor:closeOnDealloc:") = Id, Int, Bool;
overload externalInstanceMethod(static NSFileHandle, static #"initWithFileDescriptor:") = Id, Int;
overload externalInstanceMethod(static NSFileHandle, static #"fileDescriptor") = Int;

record NSFileManager = externalClass(NSObject);
overload externalClassMethod(static NSFileManager, static #"defaultManager") = NSFileManager;
overload externalInstanceMethod(static NSFileManager, static #"mountedVolumeURLsIncludingResourceValuesForKeys:options:") = NSArray, NSArray, UInt;
overload externalInstanceMethod(static NSFileManager, static #"contentsOfDirectoryAtURL:includingPropertiesForKeys:options:error:") = NSArray, NSURL, NSArray, UInt, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"URLsForDirectory:inDomains:") = NSArray, UInt, UInt;
overload externalInstanceMethod(static NSFileManager, static #"URLForDirectory:inDomain:appropriateForURL:create:error:") = NSURL, UInt, UInt, NSURL, Bool, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"setDelegate:") = Void, Id;
overload externalInstanceMethod(static NSFileManager, static #"delegate") = Id;
overload externalInstanceMethod(static NSFileManager, static #"setAttributes:ofItemAtPath:error:") = Bool, NSDictionary, NSString, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"createDirectoryAtPath:withIntermediateDirectories:attributes:error:") = Bool, NSString, Bool, NSDictionary, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"contentsOfDirectoryAtPath:error:") = NSArray, NSString, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"subpathsOfDirectoryAtPath:error:") = NSArray, NSString, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"attributesOfItemAtPath:error:") = NSDictionary, NSString, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"attributesOfFileSystemForPath:error:") = NSDictionary, NSString, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"createSymbolicLinkAtPath:withDestinationPath:error:") = Bool, NSString, NSString, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"destinationOfSymbolicLinkAtPath:error:") = NSString, NSString, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"copyItemAtPath:toPath:error:") = Bool, NSString, NSString, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"moveItemAtPath:toPath:error:") = Bool, NSString, NSString, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"linkItemAtPath:toPath:error:") = Bool, NSString, NSString, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"removeItemAtPath:error:") = Bool, NSString, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"copyItemAtURL:toURL:error:") = Bool, NSURL, NSURL, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"moveItemAtURL:toURL:error:") = Bool, NSURL, NSURL, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"linkItemAtURL:toURL:error:") = Bool, NSURL, NSURL, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"removeItemAtURL:error:") = Bool, NSURL, Pointer[NSError];
overload externalInstanceMethod(static NSFileManager, static #"fileAttributesAtPath:traverseLink:") = NSDictionary, NSString, Bool;
overload externalInstanceMethod(static NSFileManager, static #"changeFileAttributes:atPath:") = Bool, NSDictionary, NSString;
overload externalInstanceMethod(static NSFileManager, static #"directoryContentsAtPath:") = NSArray, NSString;
overload externalInstanceMethod(static NSFileManager, static #"fileSystemAttributesAtPath:") = NSDictionary, NSString;
overload externalInstanceMethod(static NSFileManager, static #"pathContentOfSymbolicLinkAtPath:") = NSString, NSString;
overload externalInstanceMethod(static NSFileManager, static #"createSymbolicLinkAtPath:pathContent:") = Bool, NSString, NSString;
overload externalInstanceMethod(static NSFileManager, static #"createDirectoryAtPath:attributes:") = Bool, NSString, NSDictionary;
overload externalInstanceMethod(static NSFileManager, static #"currentDirectoryPath") = NSString;
overload externalInstanceMethod(static NSFileManager, static #"changeCurrentDirectoryPath:") = Bool, NSString;
overload externalInstanceMethod(static NSFileManager, static #"fileExistsAtPath:") = Bool, NSString;
overload externalInstanceMethod(static NSFileManager, static #"fileExistsAtPath:isDirectory:") = Bool, NSString, Pointer[Bool];
overload externalInstanceMethod(static NSFileManager, static #"isReadableFileAtPath:") = Bool, NSString;
overload externalInstanceMethod(static NSFileManager, static #"isWritableFileAtPath:") = Bool, NSString;
overload externalInstanceMethod(static NSFileManager, static #"isExecutableFileAtPath:") = Bool, NSString;
overload externalInstanceMethod(static NSFileManager, static #"isDeletableFileAtPath:") = Bool, NSString;
overload externalInstanceMethod(static NSFileManager, static #"contentsEqualAtPath:andPath:") = Bool, NSString, NSString;
overload externalInstanceMethod(static NSFileManager, static #"displayNameAtPath:") = NSString, NSString;
overload externalInstanceMethod(static NSFileManager, static #"componentsToDisplayForPath:") = NSArray, NSString;
overload externalInstanceMethod(static NSFileManager, static #"enumeratorAtPath:") = NSDirectoryEnumerator, NSString;
overload externalInstanceMethod(static NSFileManager, static #"enumeratorAtURL:includingPropertiesForKeys:options:errorHandler:") = NSDirectoryEnumerator, NSURL, NSArray, UInt, UnknownType;
overload externalInstanceMethod(static NSFileManager, static #"subpathsAtPath:") = NSArray, NSString;
overload externalInstanceMethod(static NSFileManager, static #"contentsAtPath:") = NSData, NSString;
overload externalInstanceMethod(static NSFileManager, static #"createFileAtPath:contents:attributes:") = Bool, NSString, NSData, NSDictionary;
overload externalInstanceMethod(static NSFileManager, static #"fileSystemRepresentationWithPath:") = Pointer[CChar], NSString;
overload externalInstanceMethod(static NSFileManager, static #"stringWithFileSystemRepresentation:length:") = NSString, Pointer[CChar], UInt;
overload externalInstanceMethod(static NSFileManager, static #"replaceItemAtURL:withItemAtURL:backupItemName:options:resultingItemURL:error:") = Bool, NSURL, NSURL, NSString, UInt, Pointer[NSURL], Pointer[NSError];

record NSFileWrapper = externalClass(NSObject);
overload externalInstanceMethod(static NSFileWrapper, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSFileWrapper, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSFileWrapper, static #"initWithURL:options:error:") = Id, NSURL, UInt, Pointer[NSError];
overload externalInstanceMethod(static NSFileWrapper, static #"initDirectoryWithFileWrappers:") = Id, NSDictionary;
overload externalInstanceMethod(static NSFileWrapper, static #"initRegularFileWithContents:") = Id, NSData;
overload externalInstanceMethod(static NSFileWrapper, static #"initSymbolicLinkWithDestinationURL:") = Id, NSURL;
overload externalInstanceMethod(static NSFileWrapper, static #"initWithSerializedRepresentation:") = Id, NSData;
overload externalInstanceMethod(static NSFileWrapper, static #"isDirectory") = Bool;
overload externalInstanceMethod(static NSFileWrapper, static #"isRegularFile") = Bool;
overload externalInstanceMethod(static NSFileWrapper, static #"isSymbolicLink") = Bool;
overload externalInstanceMethod(static NSFileWrapper, static #"setPreferredFilename:") = Void, NSString;
overload externalInstanceMethod(static NSFileWrapper, static #"preferredFilename") = NSString;
overload externalInstanceMethod(static NSFileWrapper, static #"setFilename:") = Void, NSString;
overload externalInstanceMethod(static NSFileWrapper, static #"filename") = NSString;
overload externalInstanceMethod(static NSFileWrapper, static #"setFileAttributes:") = Void, NSDictionary;
overload externalInstanceMethod(static NSFileWrapper, static #"fileAttributes") = NSDictionary;
overload externalInstanceMethod(static NSFileWrapper, static #"matchesContentsOfURL:") = Bool, NSURL;
overload externalInstanceMethod(static NSFileWrapper, static #"readFromURL:options:error:") = Bool, NSURL, UInt, Pointer[NSError];
overload externalInstanceMethod(static NSFileWrapper, static #"writeToURL:options:originalContentsURL:error:") = Bool, NSURL, UInt, NSURL, Pointer[NSError];
overload externalInstanceMethod(static NSFileWrapper, static #"serializedRepresentation") = NSData;
overload externalInstanceMethod(static NSFileWrapper, static #"addFileWrapper:") = NSString, NSFileWrapper;
overload externalInstanceMethod(static NSFileWrapper, static #"addRegularFileWithContents:preferredFilename:") = NSString, NSData, NSString;
overload externalInstanceMethod(static NSFileWrapper, static #"removeFileWrapper:") = Void, NSFileWrapper;
overload externalInstanceMethod(static NSFileWrapper, static #"fileWrappers") = NSDictionary;
overload externalInstanceMethod(static NSFileWrapper, static #"keyForFileWrapper:") = NSString, NSFileWrapper;
overload externalInstanceMethod(static NSFileWrapper, static #"regularFileContents") = NSData;
overload externalInstanceMethod(static NSFileWrapper, static #"symbolicLinkDestinationURL") = NSURL;
overload externalInstanceMethod(static NSFileWrapper, static #"initWithPath:") = Id, NSString;
overload externalInstanceMethod(static NSFileWrapper, static #"initSymbolicLinkWithDestination:") = Id, NSString;
overload externalInstanceMethod(static NSFileWrapper, static #"needsToBeUpdatedFromPath:") = Bool, NSString;
overload externalInstanceMethod(static NSFileWrapper, static #"updateFromPath:") = Bool, NSString;
overload externalInstanceMethod(static NSFileWrapper, static #"writeToFile:atomically:updateFilenames:") = Bool, NSString, Bool, Bool;
overload externalInstanceMethod(static NSFileWrapper, static #"addFileWithPath:") = NSString, NSString;
overload externalInstanceMethod(static NSFileWrapper, static #"addSymbolicLinkWithDestination:preferredFilename:") = NSString, NSString, NSString;
overload externalInstanceMethod(static NSFileWrapper, static #"symbolicLinkDestination") = NSString;

record NSFormatter = externalClass(NSObject);
overload externalInstanceMethod(static NSFormatter, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSFormatter, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSFormatter, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSFormatter, static #"stringForObjectValue:") = NSString, Id;
overload externalInstanceMethod(static NSFormatter, static #"attributedStringForObjectValue:withDefaultAttributes:") = NSAttributedString, Id, NSDictionary;
overload externalInstanceMethod(static NSFormatter, static #"editingStringForObjectValue:") = NSString, Id;
overload externalInstanceMethod(static NSFormatter, static #"getObjectValue:forString:errorDescription:") = Bool, Pointer[Id], NSString, Pointer[NSString];
overload externalInstanceMethod(static NSFormatter, static #"isPartialStringValid:newEditingString:errorDescription:") = Bool, NSString, Pointer[NSString], Pointer[NSString];
overload externalInstanceMethod(static NSFormatter, static #"isPartialStringValid:proposedSelectedRange:originalString:originalSelectedRange:errorDescription:") = Bool, Pointer[NSString], NSRangePointer, NSString, NSRange, Pointer[NSString];

record NSHTTPCookie = externalClass(NSObject);
overload externalInstanceMethod(static NSHTTPCookie, static #"initWithProperties:") = Id, NSDictionary;
overload externalClassMethod(static NSHTTPCookie, static #"cookieWithProperties:") = Id, NSDictionary;
overload externalClassMethod(static NSHTTPCookie, static #"requestHeaderFieldsWithCookies:") = NSDictionary, NSArray;
overload externalClassMethod(static NSHTTPCookie, static #"cookiesWithResponseHeaderFields:forURL:") = NSArray, NSDictionary, NSURL;
overload externalInstanceMethod(static NSHTTPCookie, static #"properties") = NSDictionary;
overload externalInstanceMethod(static NSHTTPCookie, static #"version") = UInt;
overload externalInstanceMethod(static NSHTTPCookie, static #"name") = NSString;
overload externalInstanceMethod(static NSHTTPCookie, static #"value") = NSString;
overload externalInstanceMethod(static NSHTTPCookie, static #"expiresDate") = NSDate;
overload externalInstanceMethod(static NSHTTPCookie, static #"isSessionOnly") = Bool;
overload externalInstanceMethod(static NSHTTPCookie, static #"domain") = NSString;
overload externalInstanceMethod(static NSHTTPCookie, static #"path") = NSString;
overload externalInstanceMethod(static NSHTTPCookie, static #"isSecure") = Bool;
overload externalInstanceMethod(static NSHTTPCookie, static #"isHTTPOnly") = Bool;
overload externalInstanceMethod(static NSHTTPCookie, static #"comment") = NSString;
overload externalInstanceMethod(static NSHTTPCookie, static #"commentURL") = NSURL;
overload externalInstanceMethod(static NSHTTPCookie, static #"portList") = NSArray;

record NSHTTPCookieStorage = externalClass(NSObject);
overload externalClassMethod(static NSHTTPCookieStorage, static #"sharedHTTPCookieStorage") = NSHTTPCookieStorage;
overload externalInstanceMethod(static NSHTTPCookieStorage, static #"initWithStorageLocation:") = Id, NSURL;
overload externalInstanceMethod(static NSHTTPCookieStorage, static #"cookies") = NSArray;
overload externalInstanceMethod(static NSHTTPCookieStorage, static #"setCookie:") = Void, NSHTTPCookie;
overload externalInstanceMethod(static NSHTTPCookieStorage, static #"deleteCookie:") = Void, NSHTTPCookie;
overload externalInstanceMethod(static NSHTTPCookieStorage, static #"cookiesForURL:") = NSArray, NSURL;
overload externalInstanceMethod(static NSHTTPCookieStorage, static #"setCookies:forURL:mainDocumentURL:") = Void, NSArray, NSURL, NSURL;
overload externalInstanceMethod(static NSHTTPCookieStorage, static #"cookieAcceptPolicy") = UInt;
overload externalInstanceMethod(static NSHTTPCookieStorage, static #"setCookieAcceptPolicy:") = Void, UInt;

record NSHTTPURLResponse = externalClass(NSURLResponse);
overload externalInstanceMethod(static NSHTTPURLResponse, static #"statusCode") = Int;
overload externalInstanceMethod(static NSHTTPURLResponse, static #"allHeaderFields") = NSDictionary;
overload externalClassMethod(static NSHTTPURLResponse, static #"localizedStringForStatusCode:") = NSString, Int;

record NSIndexPath = externalClass(NSObject);
overload externalInstanceMethod(static NSIndexPath, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSIndexPath, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSIndexPath, static #"initWithCoder:") = Id, NSCoder;
overload externalClassMethod(static NSIndexPath, static #"indexPathWithIndex:") = Id, UInt;
overload externalClassMethod(static NSIndexPath, static #"indexPathWithIndexes:length:") = Id, Pointer[UInt], UInt;
overload externalInstanceMethod(static NSIndexPath, static #"initWithIndex:") = Id, UInt;
overload externalInstanceMethod(static NSIndexPath, static #"initWithIndexes:length:") = Id, Pointer[UInt], UInt;
overload externalInstanceMethod(static NSIndexPath, static #"indexPathByAddingIndex:") = NSIndexPath, UInt;
overload externalInstanceMethod(static NSIndexPath, static #"indexPathByRemovingLastIndex") = NSIndexPath;
overload externalInstanceMethod(static NSIndexPath, static #"indexAtPosition:") = UInt, UInt;
overload externalInstanceMethod(static NSIndexPath, static #"length") = UInt;
overload externalInstanceMethod(static NSIndexPath, static #"getIndexes:") = Void, Pointer[UInt];
overload externalInstanceMethod(static NSIndexPath, static #"compare:") = Int, NSIndexPath;

record NSIndexSet = externalClass(NSObject);
overload externalInstanceMethod(static NSIndexSet, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSIndexSet, static #"mutableCopyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSIndexSet, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSIndexSet, static #"initWithCoder:") = Id, NSCoder;
overload externalClassMethod(static NSIndexSet, static #"indexSet") = Id;
overload externalClassMethod(static NSIndexSet, static #"indexSetWithIndex:") = Id, UInt;
overload externalClassMethod(static NSIndexSet, static #"indexSetWithIndexesInRange:") = Id, NSRange;
overload externalInstanceMethod(static NSIndexSet, static #"init") = Id;
overload externalInstanceMethod(static NSIndexSet, static #"initWithIndex:") = Id, UInt;
overload externalInstanceMethod(static NSIndexSet, static #"initWithIndexesInRange:") = Id, NSRange;
overload externalInstanceMethod(static NSIndexSet, static #"initWithIndexSet:") = Id, NSIndexSet;
overload externalInstanceMethod(static NSIndexSet, static #"isEqualToIndexSet:") = Bool, NSIndexSet;
overload externalInstanceMethod(static NSIndexSet, static #"count") = UInt;
overload externalInstanceMethod(static NSIndexSet, static #"firstIndex") = UInt;
overload externalInstanceMethod(static NSIndexSet, static #"lastIndex") = UInt;
overload externalInstanceMethod(static NSIndexSet, static #"indexGreaterThanIndex:") = UInt, UInt;
overload externalInstanceMethod(static NSIndexSet, static #"indexLessThanIndex:") = UInt, UInt;
overload externalInstanceMethod(static NSIndexSet, static #"indexGreaterThanOrEqualToIndex:") = UInt, UInt;
overload externalInstanceMethod(static NSIndexSet, static #"indexLessThanOrEqualToIndex:") = UInt, UInt;
overload externalInstanceMethod(static NSIndexSet, static #"getIndexes:maxCount:inIndexRange:") = UInt, Pointer[UInt], UInt, NSRangePointer;
overload externalInstanceMethod(static NSIndexSet, static #"countOfIndexesInRange:") = UInt, NSRange;
overload externalInstanceMethod(static NSIndexSet, static #"containsIndex:") = Bool, UInt;
overload externalInstanceMethod(static NSIndexSet, static #"containsIndexesInRange:") = Bool, NSRange;
overload externalInstanceMethod(static NSIndexSet, static #"containsIndexes:") = Bool, NSIndexSet;
overload externalInstanceMethod(static NSIndexSet, static #"intersectsIndexesInRange:") = Bool, NSRange;
overload externalInstanceMethod(static NSIndexSet, static #"enumerateIndexesUsingBlock:") = Void, UnknownType;
overload externalInstanceMethod(static NSIndexSet, static #"enumerateIndexesWithOptions:usingBlock:") = Void, UInt, UnknownType;
overload externalInstanceMethod(static NSIndexSet, static #"enumerateIndexesInRange:options:usingBlock:") = Void, NSRange, UInt, UnknownType;
overload externalInstanceMethod(static NSIndexSet, static #"indexPassingTest:") = UInt, UnknownType;
overload externalInstanceMethod(static NSIndexSet, static #"indexWithOptions:passingTest:") = UInt, UInt, UnknownType;
overload externalInstanceMethod(static NSIndexSet, static #"indexInRange:options:passingTest:") = UInt, NSRange, UInt, UnknownType;
overload externalInstanceMethod(static NSIndexSet, static #"indexesPassingTest:") = NSIndexSet, UnknownType;
overload externalInstanceMethod(static NSIndexSet, static #"indexesWithOptions:passingTest:") = NSIndexSet, UInt, UnknownType;
overload externalInstanceMethod(static NSIndexSet, static #"indexesInRange:options:passingTest:") = NSIndexSet, NSRange, UInt, UnknownType;

record NSInputStream = externalClass(NSStream);
overload externalInstanceMethod(static NSInputStream, static #"read:maxLength:") = Int, Pointer[CUChar], UInt;
overload externalInstanceMethod(static NSInputStream, static #"getBuffer:length:") = Bool, Pointer[Pointer[CUChar]], Pointer[UInt];
overload externalInstanceMethod(static NSInputStream, static #"hasBytesAvailable") = Bool;
overload externalInstanceMethod(static NSInputStream, static #"initWithData:") = Id, NSData;
overload externalInstanceMethod(static NSInputStream, static #"initWithFileAtPath:") = Id, NSString;
overload externalInstanceMethod(static NSInputStream, static #"initWithURL:") = Id, NSURL;
overload externalClassMethod(static NSInputStream, static #"inputStreamWithData:") = Id, NSData;
overload externalClassMethod(static NSInputStream, static #"inputStreamWithFileAtPath:") = Id, NSString;
overload externalClassMethod(static NSInputStream, static #"inputStreamWithURL:") = Id, NSURL;

record NSInvocation = externalClass(NSObject);
overload externalClassMethod(static NSInvocation, static #"invocationWithMethodSignature:") = NSInvocation, NSMethodSignature;
overload externalInstanceMethod(static NSInvocation, static #"methodSignature") = NSMethodSignature;
overload externalInstanceMethod(static NSInvocation, static #"retainArguments") = Void;
overload externalInstanceMethod(static NSInvocation, static #"argumentsRetained") = Bool;
overload externalInstanceMethod(static NSInvocation, static #"target") = Id;
overload externalInstanceMethod(static NSInvocation, static #"setTarget:") = Void, Id;
overload externalInstanceMethod(static NSInvocation, static #"selector") = SelectorHandle;
overload externalInstanceMethod(static NSInvocation, static #"setSelector:") = Void, SelectorHandle;
overload externalInstanceMethod(static NSInvocation, static #"getReturnValue:") = Void, RawPointer;
overload externalInstanceMethod(static NSInvocation, static #"setReturnValue:") = Void, RawPointer;
overload externalInstanceMethod(static NSInvocation, static #"getArgument:atIndex:") = Void, RawPointer, Int;
overload externalInstanceMethod(static NSInvocation, static #"setArgument:atIndex:") = Void, RawPointer, Int;
overload externalInstanceMethod(static NSInvocation, static #"invoke") = Void;
overload externalInstanceMethod(static NSInvocation, static #"invokeWithTarget:") = Void, Id;

record NSInvocationOperation = externalClass(NSOperation);
overload externalInstanceMethod(static NSInvocationOperation, static #"initWithTarget:selector:object:") = Id, Id, SelectorHandle, Id;
overload externalInstanceMethod(static NSInvocationOperation, static #"initWithInvocation:") = Id, NSInvocation;
overload externalInstanceMethod(static NSInvocationOperation, static #"invocation") = NSInvocation;
overload externalInstanceMethod(static NSInvocationOperation, static #"result") = Id;

record NSKeyedArchiver = externalClass(NSCoder);
overload externalClassMethod(static NSKeyedArchiver, static #"archivedDataWithRootObject:") = NSData, Id;
overload externalClassMethod(static NSKeyedArchiver, static #"archiveRootObject:toFile:") = Bool, Id, NSString;
overload externalInstanceMethod(static NSKeyedArchiver, static #"initForWritingWithMutableData:") = Id, NSMutableData;
overload externalInstanceMethod(static NSKeyedArchiver, static #"setDelegate:") = Void, Id;
overload externalInstanceMethod(static NSKeyedArchiver, static #"delegate") = Id;
overload externalInstanceMethod(static NSKeyedArchiver, static #"setOutputFormat:") = Void, UInt;
overload externalInstanceMethod(static NSKeyedArchiver, static #"outputFormat") = UInt;
overload externalInstanceMethod(static NSKeyedArchiver, static #"finishEncoding") = Void;
overload externalClassMethod(static NSKeyedArchiver, static #"setClassName:forClass:") = Void, NSString, Id;
overload externalInstanceMethod(static NSKeyedArchiver, static #"setClassName:forClass:") = Void, NSString, Id;
overload externalClassMethod(static NSKeyedArchiver, static #"classNameForClass:") = NSString, Id;
overload externalInstanceMethod(static NSKeyedArchiver, static #"classNameForClass:") = NSString, Id;
overload externalInstanceMethod(static NSKeyedArchiver, static #"encodeObject:forKey:") = Void, Id, NSString;
overload externalInstanceMethod(static NSKeyedArchiver, static #"encodeConditionalObject:forKey:") = Void, Id, NSString;
overload externalInstanceMethod(static NSKeyedArchiver, static #"encodeBool:forKey:") = Void, Bool, NSString;
overload externalInstanceMethod(static NSKeyedArchiver, static #"encodeInt:forKey:") = Void, Int, NSString;
overload externalInstanceMethod(static NSKeyedArchiver, static #"encodeInt32:forKey:") = Void, Int, NSString;
overload externalInstanceMethod(static NSKeyedArchiver, static #"encodeInt64:forKey:") = Void, Int64, NSString;
overload externalInstanceMethod(static NSKeyedArchiver, static #"encodeFloat:forKey:") = Void, Float, NSString;
overload externalInstanceMethod(static NSKeyedArchiver, static #"encodeDouble:forKey:") = Void, Double, NSString;
overload externalInstanceMethod(static NSKeyedArchiver, static #"encodeBytes:length:forKey:") = Void, Pointer[CUChar], UInt, NSString;

record NSKeyedUnarchiver = externalClass(NSCoder);
overload externalClassMethod(static NSKeyedUnarchiver, static #"unarchiveObjectWithData:") = Id, NSData;
overload externalClassMethod(static NSKeyedUnarchiver, static #"unarchiveObjectWithFile:") = Id, NSString;
overload externalInstanceMethod(static NSKeyedUnarchiver, static #"initForReadingWithData:") = Id, NSData;
overload externalInstanceMethod(static NSKeyedUnarchiver, static #"setDelegate:") = Void, Id;
overload externalInstanceMethod(static NSKeyedUnarchiver, static #"delegate") = Id;
overload externalInstanceMethod(static NSKeyedUnarchiver, static #"finishDecoding") = Void;
overload externalClassMethod(static NSKeyedUnarchiver, static #"setClass:forClassName:") = Void, Id, NSString;
overload externalInstanceMethod(static NSKeyedUnarchiver, static #"setClass:forClassName:") = Void, Id, NSString;
overload externalClassMethod(static NSKeyedUnarchiver, static #"classForClassName:") = Id, NSString;
overload externalInstanceMethod(static NSKeyedUnarchiver, static #"classForClassName:") = Id, NSString;
overload externalInstanceMethod(static NSKeyedUnarchiver, static #"containsValueForKey:") = Bool, NSString;
overload externalInstanceMethod(static NSKeyedUnarchiver, static #"decodeObjectForKey:") = Id, NSString;
overload externalInstanceMethod(static NSKeyedUnarchiver, static #"decodeBoolForKey:") = Bool, NSString;
overload externalInstanceMethod(static NSKeyedUnarchiver, static #"decodeIntForKey:") = Int, NSString;
overload externalInstanceMethod(static NSKeyedUnarchiver, static #"decodeInt32ForKey:") = Int, NSString;
overload externalInstanceMethod(static NSKeyedUnarchiver, static #"decodeInt64ForKey:") = Int64, NSString;
overload externalInstanceMethod(static NSKeyedUnarchiver, static #"decodeFloatForKey:") = Float, NSString;
overload externalInstanceMethod(static NSKeyedUnarchiver, static #"decodeDoubleForKey:") = Double, NSString;
overload externalInstanceMethod(static NSKeyedUnarchiver, static #"decodeBytesForKey:returnedLength:") = Pointer[CUChar], NSString, Pointer[UInt];

record NSLocale = externalClass(NSObject);
overload externalInstanceMethod(static NSLocale, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSLocale, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSLocale, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSLocale, static #"objectForKey:") = Id, Id;
overload externalInstanceMethod(static NSLocale, static #"displayNameForKey:value:") = NSString, Id, Id;
overload externalInstanceMethod(static NSLocale, static #"localeIdentifier") = NSString;
overload externalClassMethod(static NSLocale, static #"systemLocale") = Id;
overload externalClassMethod(static NSLocale, static #"currentLocale") = Id;
overload externalClassMethod(static NSLocale, static #"autoupdatingCurrentLocale") = Id;
overload externalInstanceMethod(static NSLocale, static #"initWithLocaleIdentifier:") = Id, NSString;
overload externalClassMethod(static NSLocale, static #"availableLocaleIdentifiers") = NSArray;
overload externalClassMethod(static NSLocale, static #"ISOLanguageCodes") = NSArray;
overload externalClassMethod(static NSLocale, static #"ISOCountryCodes") = NSArray;
overload externalClassMethod(static NSLocale, static #"ISOCurrencyCodes") = NSArray;
overload externalClassMethod(static NSLocale, static #"commonISOCurrencyCodes") = NSArray;
overload externalClassMethod(static NSLocale, static #"preferredLanguages") = NSArray;
overload externalClassMethod(static NSLocale, static #"componentsFromLocaleIdentifier:") = NSDictionary, NSString;
overload externalClassMethod(static NSLocale, static #"localeIdentifierFromComponents:") = NSString, NSDictionary;
overload externalClassMethod(static NSLocale, static #"canonicalLocaleIdentifierFromString:") = NSString, NSString;
overload externalClassMethod(static NSLocale, static #"canonicalLanguageIdentifierFromString:") = NSString, NSString;
overload externalClassMethod(static NSLocale, static #"localeIdentifierFromWindowsLocaleCode:") = NSString, UInt;
overload externalClassMethod(static NSLocale, static #"windowsLocaleCodeFromLocaleIdentifier:") = UInt, NSString;
overload externalClassMethod(static NSLocale, static #"characterDirectionForLanguage:") = UInt, NSString;
overload externalClassMethod(static NSLocale, static #"lineDirectionForLanguage:") = UInt, NSString;

record NSLock = externalClass(NSObject);
overload externalInstanceMethod(static NSLock, static #"lock") = Void;
overload externalInstanceMethod(static NSLock, static #"unlock") = Void;
overload externalInstanceMethod(static NSLock, static #"tryLock") = Bool;
overload externalInstanceMethod(static NSLock, static #"lockBeforeDate:") = Bool, NSDate;
overload externalInstanceMethod(static NSLock, static #"setName:") = Void, NSString;
overload externalInstanceMethod(static NSLock, static #"name") = NSString;

record NSMachPort = externalClass(NSPort);
overload externalClassMethod(static NSMachPort, static #"portWithMachPort:") = NSPort, UInt;
overload externalInstanceMethod(static NSMachPort, static #"initWithMachPort:") = Id, UInt;
overload externalInstanceMethod(static NSMachPort, static #"setDelegate:") = Void, Id;
overload externalInstanceMethod(static NSMachPort, static #"delegate") = Id;
overload externalClassMethod(static NSMachPort, static #"portWithMachPort:options:") = NSPort, UInt, UInt;
overload externalInstanceMethod(static NSMachPort, static #"initWithMachPort:options:") = Id, UInt, UInt;
overload externalInstanceMethod(static NSMachPort, static #"machPort") = UInt;
overload externalInstanceMethod(static NSMachPort, static #"scheduleInRunLoop:forMode:") = Void, NSRunLoop, NSString;
overload externalInstanceMethod(static NSMachPort, static #"removeFromRunLoop:forMode:") = Void, NSRunLoop, NSString;

record NSMessagePort = externalClass(NSPort);

record NSMethodSignature = externalClass(NSObject);
overload externalClassMethod(static NSMethodSignature, static #"signatureWithObjCTypes:") = NSMethodSignature, Pointer[CChar];
overload externalInstanceMethod(static NSMethodSignature, static #"numberOfArguments") = UInt;
overload externalInstanceMethod(static NSMethodSignature, static #"getArgumentTypeAtIndex:") = Pointer[CChar], UInt;
overload externalInstanceMethod(static NSMethodSignature, static #"frameLength") = UInt;
overload externalInstanceMethod(static NSMethodSignature, static #"isOneway") = Bool;
overload externalInstanceMethod(static NSMethodSignature, static #"methodReturnType") = Pointer[CChar];
overload externalInstanceMethod(static NSMethodSignature, static #"methodReturnLength") = UInt;

record NSMutableArray = externalClass(NSArray);
overload externalInstanceMethod(static NSMutableArray, static #"addObject:") = Void, Id;
overload externalInstanceMethod(static NSMutableArray, static #"insertObject:atIndex:") = Void, Id, UInt;
overload externalInstanceMethod(static NSMutableArray, static #"removeLastObject") = Void;
overload externalInstanceMethod(static NSMutableArray, static #"removeObjectAtIndex:") = Void, UInt;
overload externalInstanceMethod(static NSMutableArray, static #"replaceObjectAtIndex:withObject:") = Void, UInt, Id;
overload externalInstanceMethod(static NSMutableArray, static #"addObjectsFromArray:") = Void, NSArray;
overload externalInstanceMethod(static NSMutableArray, static #"exchangeObjectAtIndex:withObjectAtIndex:") = Void, UInt, UInt;
overload externalInstanceMethod(static NSMutableArray, static #"removeAllObjects") = Void;
overload externalInstanceMethod(static NSMutableArray, static #"removeObject:inRange:") = Void, Id, NSRange;
overload externalInstanceMethod(static NSMutableArray, static #"removeObject:") = Void, Id;
overload externalInstanceMethod(static NSMutableArray, static #"removeObjectIdenticalTo:inRange:") = Void, Id, NSRange;
overload externalInstanceMethod(static NSMutableArray, static #"removeObjectIdenticalTo:") = Void, Id;
overload externalInstanceMethod(static NSMutableArray, static #"removeObjectsFromIndices:numIndices:") = Void, Pointer[UInt], UInt;
overload externalInstanceMethod(static NSMutableArray, static #"removeObjectsInArray:") = Void, NSArray;
overload externalInstanceMethod(static NSMutableArray, static #"removeObjectsInRange:") = Void, NSRange;
overload externalInstanceMethod(static NSMutableArray, static #"replaceObjectsInRange:withObjectsFromArray:range:") = Void, NSRange, NSArray, NSRange;
overload externalInstanceMethod(static NSMutableArray, static #"replaceObjectsInRange:withObjectsFromArray:") = Void, NSRange, NSArray;
overload externalInstanceMethod(static NSMutableArray, static #"setArray:") = Void, NSArray;
overload externalInstanceMethod(static NSMutableArray, static #"sortUsingFunction:context:") = Void, CCodePointer[[Id,Id,RawPointer],[Int]], RawPointer;
overload externalInstanceMethod(static NSMutableArray, static #"sortUsingSelector:") = Void, SelectorHandle;
overload externalInstanceMethod(static NSMutableArray, static #"insertObjects:atIndexes:") = Void, NSArray, NSIndexSet;
overload externalInstanceMethod(static NSMutableArray, static #"removeObjectsAtIndexes:") = Void, NSIndexSet;
overload externalInstanceMethod(static NSMutableArray, static #"replaceObjectsAtIndexes:withObjects:") = Void, NSIndexSet, NSArray;
overload externalInstanceMethod(static NSMutableArray, static #"sortUsingComparator:") = Void, NSComparator;
overload externalInstanceMethod(static NSMutableArray, static #"sortWithOptions:usingComparator:") = Void, UInt, NSComparator;
overload externalClassMethod(static NSMutableArray, static #"arrayWithCapacity:") = Id, UInt;
overload externalInstanceMethod(static NSMutableArray, static #"initWithCapacity:") = Id, UInt;
overload externalInstanceMethod(static NSMutableArray, static #"sortUsingDescriptors:") = Void, NSArray;
overload externalInstanceMethod(static NSMutableArray, static #"filterUsingPredicate:") = Void, NSPredicate;

record NSMutableAttributedString = externalClass(NSAttributedString);
overload externalInstanceMethod(static NSMutableAttributedString, static #"replaceCharactersInRange:withString:") = Void, NSRange, NSString;
overload externalInstanceMethod(static NSMutableAttributedString, static #"setAttributes:range:") = Void, NSDictionary, NSRange;
overload externalInstanceMethod(static NSMutableAttributedString, static #"mutableString") = NSMutableString;
overload externalInstanceMethod(static NSMutableAttributedString, static #"addAttribute:value:range:") = Void, NSString, Id, NSRange;
overload externalInstanceMethod(static NSMutableAttributedString, static #"addAttributes:range:") = Void, NSDictionary, NSRange;
overload externalInstanceMethod(static NSMutableAttributedString, static #"removeAttribute:range:") = Void, NSString, NSRange;
overload externalInstanceMethod(static NSMutableAttributedString, static #"replaceCharactersInRange:withAttributedString:") = Void, NSRange, NSAttributedString;
overload externalInstanceMethod(static NSMutableAttributedString, static #"insertAttributedString:atIndex:") = Void, NSAttributedString, UInt;
overload externalInstanceMethod(static NSMutableAttributedString, static #"appendAttributedString:") = Void, NSAttributedString;
overload externalInstanceMethod(static NSMutableAttributedString, static #"deleteCharactersInRange:") = Void, NSRange;
overload externalInstanceMethod(static NSMutableAttributedString, static #"setAttributedString:") = Void, NSAttributedString;
overload externalInstanceMethod(static NSMutableAttributedString, static #"beginEditing") = Void;
overload externalInstanceMethod(static NSMutableAttributedString, static #"endEditing") = Void;

record NSMutableCharacterSet = externalClass(NSCharacterSet);
overload externalInstanceMethod(static NSMutableCharacterSet, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSMutableCharacterSet, static #"mutableCopyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSMutableCharacterSet, static #"addCharactersInRange:") = Void, NSRange;
overload externalInstanceMethod(static NSMutableCharacterSet, static #"removeCharactersInRange:") = Void, NSRange;
overload externalInstanceMethod(static NSMutableCharacterSet, static #"addCharactersInString:") = Void, NSString;
overload externalInstanceMethod(static NSMutableCharacterSet, static #"removeCharactersInString:") = Void, NSString;
overload externalInstanceMethod(static NSMutableCharacterSet, static #"formUnionWithCharacterSet:") = Void, NSCharacterSet;
overload externalInstanceMethod(static NSMutableCharacterSet, static #"formIntersectionWithCharacterSet:") = Void, NSCharacterSet;
overload externalInstanceMethod(static NSMutableCharacterSet, static #"invert") = Void;

record NSMutableData = externalClass(NSData);
overload externalInstanceMethod(static NSMutableData, static #"mutableBytes") = RawPointer;
overload externalInstanceMethod(static NSMutableData, static #"setLength:") = Void, UInt;
overload externalInstanceMethod(static NSMutableData, static #"appendBytes:length:") = Void, RawPointer, UInt;
overload externalInstanceMethod(static NSMutableData, static #"appendData:") = Void, NSData;
overload externalInstanceMethod(static NSMutableData, static #"increaseLengthBy:") = Void, UInt;
overload externalInstanceMethod(static NSMutableData, static #"replaceBytesInRange:withBytes:") = Void, NSRange, RawPointer;
overload externalInstanceMethod(static NSMutableData, static #"resetBytesInRange:") = Void, NSRange;
overload externalInstanceMethod(static NSMutableData, static #"setData:") = Void, NSData;
overload externalInstanceMethod(static NSMutableData, static #"replaceBytesInRange:withBytes:length:") = Void, NSRange, RawPointer, UInt;
overload externalClassMethod(static NSMutableData, static #"dataWithCapacity:") = Id, UInt;
overload externalClassMethod(static NSMutableData, static #"dataWithLength:") = Id, UInt;
overload externalInstanceMethod(static NSMutableData, static #"initWithCapacity:") = Id, UInt;
overload externalInstanceMethod(static NSMutableData, static #"initWithLength:") = Id, UInt;

record NSMutableDictionary = externalClass(NSDictionary);
overload externalInstanceMethod(static NSMutableDictionary, static #"removeObjectForKey:") = Void, Id;
overload externalInstanceMethod(static NSMutableDictionary, static #"setObject:forKey:") = Void, Id, Id;
overload externalInstanceMethod(static NSMutableDictionary, static #"addEntriesFromDictionary:") = Void, NSDictionary;
overload externalInstanceMethod(static NSMutableDictionary, static #"removeAllObjects") = Void;
overload externalInstanceMethod(static NSMutableDictionary, static #"removeObjectsForKeys:") = Void, NSArray;
overload externalInstanceMethod(static NSMutableDictionary, static #"setDictionary:") = Void, NSDictionary;
overload externalClassMethod(static NSMutableDictionary, static #"dictionaryWithCapacity:") = Id, UInt;
overload externalInstanceMethod(static NSMutableDictionary, static #"initWithCapacity:") = Id, UInt;
overload externalInstanceMethod(static NSMutableDictionary, static #"setValue:forKey:") = Void, Id, NSString;

record NSMutableIndexSet = externalClass(NSIndexSet);
overload externalInstanceMethod(static NSMutableIndexSet, static #"addIndexes:") = Void, NSIndexSet;
overload externalInstanceMethod(static NSMutableIndexSet, static #"removeIndexes:") = Void, NSIndexSet;
overload externalInstanceMethod(static NSMutableIndexSet, static #"removeAllIndexes") = Void;
overload externalInstanceMethod(static NSMutableIndexSet, static #"addIndex:") = Void, UInt;
overload externalInstanceMethod(static NSMutableIndexSet, static #"removeIndex:") = Void, UInt;
overload externalInstanceMethod(static NSMutableIndexSet, static #"addIndexesInRange:") = Void, NSRange;
overload externalInstanceMethod(static NSMutableIndexSet, static #"removeIndexesInRange:") = Void, NSRange;
overload externalInstanceMethod(static NSMutableIndexSet, static #"shiftIndexesStartingAtIndex:by:") = Void, UInt, Int;

record NSMutableSet = externalClass(NSSet);
overload externalInstanceMethod(static NSMutableSet, static #"addObject:") = Void, Id;
overload externalInstanceMethod(static NSMutableSet, static #"removeObject:") = Void, Id;
overload externalInstanceMethod(static NSMutableSet, static #"addObjectsFromArray:") = Void, NSArray;
overload externalInstanceMethod(static NSMutableSet, static #"intersectSet:") = Void, NSSet;
overload externalInstanceMethod(static NSMutableSet, static #"minusSet:") = Void, NSSet;
overload externalInstanceMethod(static NSMutableSet, static #"removeAllObjects") = Void;
overload externalInstanceMethod(static NSMutableSet, static #"unionSet:") = Void, NSSet;
overload externalInstanceMethod(static NSMutableSet, static #"setSet:") = Void, NSSet;
overload externalClassMethod(static NSMutableSet, static #"setWithCapacity:") = Id, UInt;
overload externalInstanceMethod(static NSMutableSet, static #"initWithCapacity:") = Id, UInt;
overload externalInstanceMethod(static NSMutableSet, static #"filterUsingPredicate:") = Void, NSPredicate;

record NSMutableString = externalClass(NSString);
overload externalInstanceMethod(static NSMutableString, static #"replaceCharactersInRange:withString:") = Void, NSRange, NSString;
overload externalInstanceMethod(static NSMutableString, static #"insertString:atIndex:") = Void, NSString, UInt;
overload externalInstanceMethod(static NSMutableString, static #"deleteCharactersInRange:") = Void, NSRange;
overload externalInstanceMethod(static NSMutableString, static #"appendString:") = Void, NSString;
overload externalVarargInstanceMethod(static NSMutableString, static #"appendFormat:") = Void, NSString;
overload externalInstanceMethod(static NSMutableString, static #"setString:") = Void, NSString;
overload externalInstanceMethod(static NSMutableString, static #"initWithCapacity:") = Id, UInt;
overload externalClassMethod(static NSMutableString, static #"stringWithCapacity:") = Id, UInt;
overload externalInstanceMethod(static NSMutableString, static #"replaceOccurrencesOfString:withString:options:range:") = UInt, NSString, NSString, UInt, NSRange;

record NSMutableURLRequest = externalClass(NSURLRequest);
overload externalInstanceMethod(static NSMutableURLRequest, static #"setURL:") = Void, NSURL;
overload externalInstanceMethod(static NSMutableURLRequest, static #"setCachePolicy:") = Void, UInt;
overload externalInstanceMethod(static NSMutableURLRequest, static #"setTimeoutInterval:") = Void, Double;
overload externalInstanceMethod(static NSMutableURLRequest, static #"setMainDocumentURL:") = Void, NSURL;
overload externalInstanceMethod(static NSMutableURLRequest, static #"setNetworkServiceType:") = Void, UInt;
overload externalInstanceMethod(static NSMutableURLRequest, static #"setHTTPMethod:") = Void, NSString;
overload externalInstanceMethod(static NSMutableURLRequest, static #"setAllHTTPHeaderFields:") = Void, NSDictionary;
overload externalInstanceMethod(static NSMutableURLRequest, static #"setValue:forHTTPHeaderField:") = Void, NSString, NSString;
overload externalInstanceMethod(static NSMutableURLRequest, static #"addValue:forHTTPHeaderField:") = Void, NSString, NSString;
overload externalInstanceMethod(static NSMutableURLRequest, static #"setHTTPBody:") = Void, NSData;
overload externalInstanceMethod(static NSMutableURLRequest, static #"setHTTPBodyStream:") = Void, NSInputStream;
overload externalInstanceMethod(static NSMutableURLRequest, static #"setHTTPShouldHandleCookies:") = Void, Bool;
overload externalInstanceMethod(static NSMutableURLRequest, static #"setHTTPShouldUsePipelining:") = Void, Bool;

record NSNetService = externalClass(NSObject);
overload externalInstanceMethod(static NSNetService, static #"initWithDomain:type:name:port:") = Id, NSString, NSString, NSString, Int;
overload externalInstanceMethod(static NSNetService, static #"initWithDomain:type:name:") = Id, NSString, NSString, NSString;
overload externalInstanceMethod(static NSNetService, static #"delegate") = Id;
overload externalInstanceMethod(static NSNetService, static #"setDelegate:") = Void, Id;
overload externalInstanceMethod(static NSNetService, static #"scheduleInRunLoop:forMode:") = Void, NSRunLoop, NSString;
overload externalInstanceMethod(static NSNetService, static #"removeFromRunLoop:forMode:") = Void, NSRunLoop, NSString;
overload externalInstanceMethod(static NSNetService, static #"domain") = NSString;
overload externalInstanceMethod(static NSNetService, static #"type") = NSString;
overload externalInstanceMethod(static NSNetService, static #"name") = NSString;
overload externalInstanceMethod(static NSNetService, static #"addresses") = NSArray;
overload externalInstanceMethod(static NSNetService, static #"port") = Int;
overload externalInstanceMethod(static NSNetService, static #"publish") = Void;
overload externalInstanceMethod(static NSNetService, static #"publishWithOptions:") = Void, UInt;
overload externalInstanceMethod(static NSNetService, static #"resolve") = Void;
overload externalInstanceMethod(static NSNetService, static #"stop") = Void;
overload externalClassMethod(static NSNetService, static #"dictionaryFromTXTRecordData:") = NSDictionary, NSData;
overload externalClassMethod(static NSNetService, static #"dataFromTXTRecordDictionary:") = NSData, NSDictionary;
overload externalInstanceMethod(static NSNetService, static #"hostName") = NSString;
overload externalInstanceMethod(static NSNetService, static #"resolveWithTimeout:") = Void, Double;
overload externalInstanceMethod(static NSNetService, static #"getInputStream:outputStream:") = Bool, Pointer[NSInputStream], Pointer[NSOutputStream];
overload externalInstanceMethod(static NSNetService, static #"setTXTRecordData:") = Bool, NSData;
overload externalInstanceMethod(static NSNetService, static #"TXTRecordData") = NSData;
overload externalInstanceMethod(static NSNetService, static #"startMonitoring") = Void;
overload externalInstanceMethod(static NSNetService, static #"stopMonitoring") = Void;

record NSNetServiceBrowser = externalClass(NSObject);
overload externalInstanceMethod(static NSNetServiceBrowser, static #"init") = Id;
overload externalInstanceMethod(static NSNetServiceBrowser, static #"delegate") = Id;
overload externalInstanceMethod(static NSNetServiceBrowser, static #"setDelegate:") = Void, Id;
overload externalInstanceMethod(static NSNetServiceBrowser, static #"scheduleInRunLoop:forMode:") = Void, NSRunLoop, NSString;
overload externalInstanceMethod(static NSNetServiceBrowser, static #"removeFromRunLoop:forMode:") = Void, NSRunLoop, NSString;
overload externalInstanceMethod(static NSNetServiceBrowser, static #"searchForBrowsableDomains") = Void;
overload externalInstanceMethod(static NSNetServiceBrowser, static #"searchForRegistrationDomains") = Void;
overload externalInstanceMethod(static NSNetServiceBrowser, static #"searchForServicesOfType:inDomain:") = Void, NSString, NSString;
overload externalInstanceMethod(static NSNetServiceBrowser, static #"stop") = Void;

record NSNotification = externalClass(NSObject);
overload externalInstanceMethod(static NSNotification, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSNotification, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSNotification, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSNotification, static #"name") = NSString;
overload externalInstanceMethod(static NSNotification, static #"object") = Id;
overload externalInstanceMethod(static NSNotification, static #"userInfo") = NSDictionary;
overload externalClassMethod(static NSNotification, static #"notificationWithName:object:") = Id, NSString, Id;
overload externalClassMethod(static NSNotification, static #"notificationWithName:object:userInfo:") = Id, NSString, Id, NSDictionary;

record NSNotificationCenter = externalClass(NSObject);
overload externalClassMethod(static NSNotificationCenter, static #"defaultCenter") = Id;
overload externalInstanceMethod(static NSNotificationCenter, static #"addObserver:selector:name:object:") = Void, Id, SelectorHandle, NSString, Id;
overload externalInstanceMethod(static NSNotificationCenter, static #"postNotification:") = Void, NSNotification;
overload externalInstanceMethod(static NSNotificationCenter, static #"postNotificationName:object:") = Void, NSString, Id;
overload externalInstanceMethod(static NSNotificationCenter, static #"postNotificationName:object:userInfo:") = Void, NSString, Id, NSDictionary;
overload externalInstanceMethod(static NSNotificationCenter, static #"removeObserver:") = Void, Id;
overload externalInstanceMethod(static NSNotificationCenter, static #"removeObserver:name:object:") = Void, Id, NSString, Id;
overload externalInstanceMethod(static NSNotificationCenter, static #"addObserverForName:object:queue:usingBlock:") = Id, NSString, Id, NSOperationQueue, UnknownType;

record NSNotificationQueue = externalClass(NSObject);
overload externalClassMethod(static NSNotificationQueue, static #"defaultQueue") = Id;
overload externalInstanceMethod(static NSNotificationQueue, static #"initWithNotificationCenter:") = Id, NSNotificationCenter;
overload externalInstanceMethod(static NSNotificationQueue, static #"enqueueNotification:postingStyle:") = Void, NSNotification, UInt;
overload externalInstanceMethod(static NSNotificationQueue, static #"enqueueNotification:postingStyle:coalesceMask:forModes:") = Void, NSNotification, UInt, UInt, NSArray;
overload externalInstanceMethod(static NSNotificationQueue, static #"dequeueNotificationsMatching:coalesceMask:") = Void, NSNotification, UInt;

record NSNull = externalClass(NSObject);
overload externalInstanceMethod(static NSNull, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSNull, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSNull, static #"initWithCoder:") = Id, NSCoder;
overload externalClassMethod(static NSNull, static #"null") = NSNull;

record NSNumber = externalClass(NSValue);
overload externalInstanceMethod(static NSNumber, static #"charValue") = CChar;
overload externalInstanceMethod(static NSNumber, static #"unsignedCharValue") = CUChar;
overload externalInstanceMethod(static NSNumber, static #"shortValue") = Short;
overload externalInstanceMethod(static NSNumber, static #"unsignedShortValue") = UShort;
overload externalInstanceMethod(static NSNumber, static #"intValue") = Int;
overload externalInstanceMethod(static NSNumber, static #"unsignedIntValue") = UInt;
overload externalInstanceMethod(static NSNumber, static #"longValue") = CLong;
overload externalInstanceMethod(static NSNumber, static #"unsignedLongValue") = CULong;
overload externalInstanceMethod(static NSNumber, static #"longLongValue") = Int64;
overload externalInstanceMethod(static NSNumber, static #"unsignedLongLongValue") = UInt64;
overload externalInstanceMethod(static NSNumber, static #"floatValue") = Float;
overload externalInstanceMethod(static NSNumber, static #"doubleValue") = Double;
overload externalInstanceMethod(static NSNumber, static #"boolValue") = Bool;
overload externalInstanceMethod(static NSNumber, static #"integerValue") = Int;
overload externalInstanceMethod(static NSNumber, static #"unsignedIntegerValue") = UInt;
overload externalInstanceMethod(static NSNumber, static #"stringValue") = NSString;
overload externalInstanceMethod(static NSNumber, static #"compare:") = Int, NSNumber;
overload externalInstanceMethod(static NSNumber, static #"isEqualToNumber:") = Bool, NSNumber;
overload externalInstanceMethod(static NSNumber, static #"descriptionWithLocale:") = NSString, Id;
overload externalInstanceMethod(static NSNumber, static #"initWithChar:") = Id, CChar;
overload externalInstanceMethod(static NSNumber, static #"initWithUnsignedChar:") = Id, CUChar;
overload externalInstanceMethod(static NSNumber, static #"initWithShort:") = Id, Short;
overload externalInstanceMethod(static NSNumber, static #"initWithUnsignedShort:") = Id, UShort;
overload externalInstanceMethod(static NSNumber, static #"initWithInt:") = Id, Int;
overload externalInstanceMethod(static NSNumber, static #"initWithUnsignedInt:") = Id, UInt;
overload externalInstanceMethod(static NSNumber, static #"initWithLong:") = Id, CLong;
overload externalInstanceMethod(static NSNumber, static #"initWithUnsignedLong:") = Id, CULong;
overload externalInstanceMethod(static NSNumber, static #"initWithLongLong:") = Id, Int64;
overload externalInstanceMethod(static NSNumber, static #"initWithUnsignedLongLong:") = Id, UInt64;
overload externalInstanceMethod(static NSNumber, static #"initWithFloat:") = Id, Float;
overload externalInstanceMethod(static NSNumber, static #"initWithDouble:") = Id, Double;
overload externalInstanceMethod(static NSNumber, static #"initWithBool:") = Id, Bool;
overload externalInstanceMethod(static NSNumber, static #"initWithInteger:") = Id, Int;
overload externalInstanceMethod(static NSNumber, static #"initWithUnsignedInteger:") = Id, UInt;
overload externalClassMethod(static NSNumber, static #"numberWithChar:") = NSNumber, CChar;
overload externalClassMethod(static NSNumber, static #"numberWithUnsignedChar:") = NSNumber, CUChar;
overload externalClassMethod(static NSNumber, static #"numberWithShort:") = NSNumber, Short;
overload externalClassMethod(static NSNumber, static #"numberWithUnsignedShort:") = NSNumber, UShort;
overload externalClassMethod(static NSNumber, static #"numberWithInt:") = NSNumber, Int;
overload externalClassMethod(static NSNumber, static #"numberWithUnsignedInt:") = NSNumber, UInt;
overload externalClassMethod(static NSNumber, static #"numberWithLong:") = NSNumber, CLong;
overload externalClassMethod(static NSNumber, static #"numberWithUnsignedLong:") = NSNumber, CULong;
overload externalClassMethod(static NSNumber, static #"numberWithLongLong:") = NSNumber, Int64;
overload externalClassMethod(static NSNumber, static #"numberWithUnsignedLongLong:") = NSNumber, UInt64;
overload externalClassMethod(static NSNumber, static #"numberWithFloat:") = NSNumber, Float;
overload externalClassMethod(static NSNumber, static #"numberWithDouble:") = NSNumber, Double;
overload externalClassMethod(static NSNumber, static #"numberWithBool:") = NSNumber, Bool;
overload externalClassMethod(static NSNumber, static #"numberWithInteger:") = NSNumber, Int;
overload externalClassMethod(static NSNumber, static #"numberWithUnsignedInteger:") = NSNumber, UInt;
overload externalInstanceMethod(static NSNumber, static #"decimalValue") = NSDecimal;

record NSNumberFormatter = externalClass(NSFormatter);
overload externalInstanceMethod(static NSNumberFormatter, static #"getObjectValue:forString:range:error:") = Bool, Pointer[Id], NSString, Pointer[NSRange], Pointer[NSError];
overload externalInstanceMethod(static NSNumberFormatter, static #"stringFromNumber:") = NSString, NSNumber;
overload externalInstanceMethod(static NSNumberFormatter, static #"numberFromString:") = NSNumber, NSString;
overload externalClassMethod(static NSNumberFormatter, static #"localizedStringFromNumber:numberStyle:") = NSString, NSNumber, UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"numberStyle") = UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"setNumberStyle:") = Void, UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"locale") = NSLocale;
overload externalInstanceMethod(static NSNumberFormatter, static #"setLocale:") = Void, NSLocale;
overload externalInstanceMethod(static NSNumberFormatter, static #"generatesDecimalNumbers") = Bool;
overload externalInstanceMethod(static NSNumberFormatter, static #"setGeneratesDecimalNumbers:") = Void, Bool;
overload externalInstanceMethod(static NSNumberFormatter, static #"formatterBehavior") = UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"setFormatterBehavior:") = Void, UInt;
overload externalClassMethod(static NSNumberFormatter, static #"defaultFormatterBehavior") = UInt;
overload externalClassMethod(static NSNumberFormatter, static #"setDefaultFormatterBehavior:") = Void, UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"negativeFormat") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setNegativeFormat:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"textAttributesForNegativeValues") = NSDictionary;
overload externalInstanceMethod(static NSNumberFormatter, static #"setTextAttributesForNegativeValues:") = Void, NSDictionary;
overload externalInstanceMethod(static NSNumberFormatter, static #"positiveFormat") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setPositiveFormat:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"textAttributesForPositiveValues") = NSDictionary;
overload externalInstanceMethod(static NSNumberFormatter, static #"setTextAttributesForPositiveValues:") = Void, NSDictionary;
overload externalInstanceMethod(static NSNumberFormatter, static #"allowsFloats") = Bool;
overload externalInstanceMethod(static NSNumberFormatter, static #"setAllowsFloats:") = Void, Bool;
overload externalInstanceMethod(static NSNumberFormatter, static #"decimalSeparator") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setDecimalSeparator:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"alwaysShowsDecimalSeparator") = Bool;
overload externalInstanceMethod(static NSNumberFormatter, static #"setAlwaysShowsDecimalSeparator:") = Void, Bool;
overload externalInstanceMethod(static NSNumberFormatter, static #"currencyDecimalSeparator") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setCurrencyDecimalSeparator:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"usesGroupingSeparator") = Bool;
overload externalInstanceMethod(static NSNumberFormatter, static #"setUsesGroupingSeparator:") = Void, Bool;
overload externalInstanceMethod(static NSNumberFormatter, static #"groupingSeparator") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setGroupingSeparator:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"zeroSymbol") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setZeroSymbol:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"textAttributesForZero") = NSDictionary;
overload externalInstanceMethod(static NSNumberFormatter, static #"setTextAttributesForZero:") = Void, NSDictionary;
overload externalInstanceMethod(static NSNumberFormatter, static #"nilSymbol") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setNilSymbol:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"textAttributesForNil") = NSDictionary;
overload externalInstanceMethod(static NSNumberFormatter, static #"setTextAttributesForNil:") = Void, NSDictionary;
overload externalInstanceMethod(static NSNumberFormatter, static #"notANumberSymbol") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setNotANumberSymbol:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"textAttributesForNotANumber") = NSDictionary;
overload externalInstanceMethod(static NSNumberFormatter, static #"setTextAttributesForNotANumber:") = Void, NSDictionary;
overload externalInstanceMethod(static NSNumberFormatter, static #"positiveInfinitySymbol") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setPositiveInfinitySymbol:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"textAttributesForPositiveInfinity") = NSDictionary;
overload externalInstanceMethod(static NSNumberFormatter, static #"setTextAttributesForPositiveInfinity:") = Void, NSDictionary;
overload externalInstanceMethod(static NSNumberFormatter, static #"negativeInfinitySymbol") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setNegativeInfinitySymbol:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"textAttributesForNegativeInfinity") = NSDictionary;
overload externalInstanceMethod(static NSNumberFormatter, static #"setTextAttributesForNegativeInfinity:") = Void, NSDictionary;
overload externalInstanceMethod(static NSNumberFormatter, static #"positivePrefix") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setPositivePrefix:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"positiveSuffix") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setPositiveSuffix:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"negativePrefix") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setNegativePrefix:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"negativeSuffix") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setNegativeSuffix:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"currencyCode") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setCurrencyCode:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"currencySymbol") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setCurrencySymbol:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"internationalCurrencySymbol") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setInternationalCurrencySymbol:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"percentSymbol") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setPercentSymbol:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"perMillSymbol") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setPerMillSymbol:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"minusSign") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setMinusSign:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"plusSign") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setPlusSign:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"exponentSymbol") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setExponentSymbol:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"groupingSize") = UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"setGroupingSize:") = Void, UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"secondaryGroupingSize") = UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"setSecondaryGroupingSize:") = Void, UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"multiplier") = NSNumber;
overload externalInstanceMethod(static NSNumberFormatter, static #"setMultiplier:") = Void, NSNumber;
overload externalInstanceMethod(static NSNumberFormatter, static #"formatWidth") = UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"setFormatWidth:") = Void, UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"paddingCharacter") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setPaddingCharacter:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"paddingPosition") = UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"setPaddingPosition:") = Void, UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"roundingMode") = UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"setRoundingMode:") = Void, UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"roundingIncrement") = NSNumber;
overload externalInstanceMethod(static NSNumberFormatter, static #"setRoundingIncrement:") = Void, NSNumber;
overload externalInstanceMethod(static NSNumberFormatter, static #"minimumIntegerDigits") = UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"setMinimumIntegerDigits:") = Void, UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"maximumIntegerDigits") = UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"setMaximumIntegerDigits:") = Void, UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"minimumFractionDigits") = UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"setMinimumFractionDigits:") = Void, UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"maximumFractionDigits") = UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"setMaximumFractionDigits:") = Void, UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"minimum") = NSNumber;
overload externalInstanceMethod(static NSNumberFormatter, static #"setMinimum:") = Void, NSNumber;
overload externalInstanceMethod(static NSNumberFormatter, static #"maximum") = NSNumber;
overload externalInstanceMethod(static NSNumberFormatter, static #"setMaximum:") = Void, NSNumber;
overload externalInstanceMethod(static NSNumberFormatter, static #"currencyGroupingSeparator") = NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"setCurrencyGroupingSeparator:") = Void, NSString;
overload externalInstanceMethod(static NSNumberFormatter, static #"isLenient") = Bool;
overload externalInstanceMethod(static NSNumberFormatter, static #"setLenient:") = Void, Bool;
overload externalInstanceMethod(static NSNumberFormatter, static #"usesSignificantDigits") = Bool;
overload externalInstanceMethod(static NSNumberFormatter, static #"setUsesSignificantDigits:") = Void, Bool;
overload externalInstanceMethod(static NSNumberFormatter, static #"minimumSignificantDigits") = UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"setMinimumSignificantDigits:") = Void, UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"maximumSignificantDigits") = UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"setMaximumSignificantDigits:") = Void, UInt;
overload externalInstanceMethod(static NSNumberFormatter, static #"isPartialStringValidationEnabled") = Bool;
overload externalInstanceMethod(static NSNumberFormatter, static #"setPartialStringValidationEnabled:") = Void, Bool;

record NSObject = externalClass(Void);
overload externalInstanceMethod(static NSObject, static #"isEqual:") = Bool, Id;
overload externalInstanceMethod(static NSObject, static #"hash") = UInt;
overload externalInstanceMethod(static NSObject, static #"superclass") = Id;
overload externalInstanceMethod(static NSObject, static #"class") = Id;
overload externalInstanceMethod(static NSObject, static #"self") = Id;
overload externalInstanceMethod(static NSObject, static #"zone") = Pointer[NSZone];
overload externalInstanceMethod(static NSObject, static #"performSelector:") = Id, SelectorHandle;
overload externalInstanceMethod(static NSObject, static #"performSelector:withObject:") = Id, SelectorHandle, Id;
overload externalInstanceMethod(static NSObject, static #"performSelector:withObject:withObject:") = Id, SelectorHandle, Id, Id;
overload externalInstanceMethod(static NSObject, static #"isProxy") = Bool;
overload externalInstanceMethod(static NSObject, static #"isKindOfClass:") = Bool, Id;
overload externalInstanceMethod(static NSObject, static #"isMemberOfClass:") = Bool, Id;
overload externalInstanceMethod(static NSObject, static #"conformsToProtocol:") = Bool, Id;
overload externalInstanceMethod(static NSObject, static #"respondsToSelector:") = Bool, SelectorHandle;
overload externalInstanceMethod(static NSObject, static #"retain") = Id;
overload externalInstanceMethod(static NSObject, static #"release") = Void;
overload externalInstanceMethod(static NSObject, static #"autorelease") = Id;
overload externalInstanceMethod(static NSObject, static #"retainCount") = UInt;
overload externalInstanceMethod(static NSObject, static #"description") = NSString;
overload externalClassMethod(static NSObject, static #"load") = Void;
overload externalClassMethod(static NSObject, static #"initialize") = Void;
overload externalInstanceMethod(static NSObject, static #"init") = Id;
overload externalClassMethod(static NSObject, static #"new") = Id;
overload externalClassMethod(static NSObject, static #"allocWithZone:") = Id, Pointer[NSZone];
overload externalClassMethod(static NSObject, static #"alloc") = Id;
overload externalInstanceMethod(static NSObject, static #"dealloc") = Void;
overload externalInstanceMethod(static NSObject, static #"finalize") = Void;
overload externalInstanceMethod(static NSObject, static #"copy") = Id;
overload externalInstanceMethod(static NSObject, static #"mutableCopy") = Id;
overload externalClassMethod(static NSObject, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalClassMethod(static NSObject, static #"mutableCopyWithZone:") = Id, Pointer[NSZone];
overload externalClassMethod(static NSObject, static #"superclass") = Id;
overload externalClassMethod(static NSObject, static #"class") = Id;
overload externalClassMethod(static NSObject, static #"instancesRespondToSelector:") = Bool, SelectorHandle;
overload externalClassMethod(static NSObject, static #"conformsToProtocol:") = Bool, Id;
overload externalInstanceMethod(static NSObject, static #"methodForSelector:") = IMP, SelectorHandle;
overload externalClassMethod(static NSObject, static #"instanceMethodForSelector:") = IMP, SelectorHandle;
overload externalInstanceMethod(static NSObject, static #"doesNotRecognizeSelector:") = Void, SelectorHandle;
overload externalInstanceMethod(static NSObject, static #"forwardingTargetForSelector:") = Id, SelectorHandle;
overload externalInstanceMethod(static NSObject, static #"forwardInvocation:") = Void, NSInvocation;
overload externalInstanceMethod(static NSObject, static #"methodSignatureForSelector:") = NSMethodSignature, SelectorHandle;
overload externalClassMethod(static NSObject, static #"instanceMethodSignatureForSelector:") = NSMethodSignature, SelectorHandle;
overload externalClassMethod(static NSObject, static #"description") = NSString;
overload externalClassMethod(static NSObject, static #"isSubclassOfClass:") = Bool, Id;
overload externalClassMethod(static NSObject, static #"resolveClassMethod:") = Bool, SelectorHandle;
overload externalClassMethod(static NSObject, static #"resolveInstanceMethod:") = Bool, SelectorHandle;
overload externalClassMethod(static NSObject, static #"version") = Int;
overload externalClassMethod(static NSObject, static #"setVersion:") = Void, Int;
overload externalInstanceMethod(static NSObject, static #"classForCoder") = Id;
overload externalInstanceMethod(static NSObject, static #"replacementObjectForCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSObject, static #"awakeAfterUsingCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSObject, static #"autoContentAccessingProxy") = Id;
overload externalInstanceMethod(static NSObject, static #"attemptRecoveryFromError:optionIndex:delegate:didRecoverSelector:contextInfo:") = Void, NSError, UInt, Id, SelectorHandle, RawPointer;
overload externalInstanceMethod(static NSObject, static #"attemptRecoveryFromError:optionIndex:") = Bool, NSError, UInt;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldProceedAfterError:") = Bool, NSFileManager, NSDictionary;
overload externalInstanceMethod(static NSObject, static #"fileManager:willProcessPath:") = Void, NSFileManager, NSString;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldCopyItemAtPath:toPath:") = Bool, NSFileManager, NSString, NSString;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldCopyItemAtURL:toURL:") = Bool, NSFileManager, NSURL, NSURL;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldProceedAfterError:copyingItemAtPath:toPath:") = Bool, NSFileManager, NSError, NSString, NSString;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldProceedAfterError:copyingItemAtURL:toURL:") = Bool, NSFileManager, NSError, NSURL, NSURL;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldMoveItemAtPath:toPath:") = Bool, NSFileManager, NSString, NSString;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldMoveItemAtURL:toURL:") = Bool, NSFileManager, NSURL, NSURL;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldProceedAfterError:movingItemAtPath:toPath:") = Bool, NSFileManager, NSError, NSString, NSString;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldProceedAfterError:movingItemAtURL:toURL:") = Bool, NSFileManager, NSError, NSURL, NSURL;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldLinkItemAtPath:toPath:") = Bool, NSFileManager, NSString, NSString;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldLinkItemAtURL:toURL:") = Bool, NSFileManager, NSURL, NSURL;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldProceedAfterError:linkingItemAtPath:toPath:") = Bool, NSFileManager, NSError, NSString, NSString;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldProceedAfterError:linkingItemAtURL:toURL:") = Bool, NSFileManager, NSError, NSURL, NSURL;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldRemoveItemAtPath:") = Bool, NSFileManager, NSString;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldRemoveItemAtURL:") = Bool, NSFileManager, NSURL;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldProceedAfterError:removingItemAtPath:") = Bool, NSFileManager, NSError, NSString;
overload externalInstanceMethod(static NSObject, static #"fileManager:shouldProceedAfterError:removingItemAtURL:") = Bool, NSFileManager, NSError, NSURL;
overload externalClassMethod(static NSObject, static #"accessInstanceVariablesDirectly") = Bool;
overload externalInstanceMethod(static NSObject, static #"valueForKey:") = Id, NSString;
overload externalInstanceMethod(static NSObject, static #"setValue:forKey:") = Void, Id, NSString;
overload externalInstanceMethod(static NSObject, static #"validateValue:forKey:error:") = Bool, Pointer[Id], NSString, Pointer[NSError];
overload externalInstanceMethod(static NSObject, static #"mutableArrayValueForKey:") = NSMutableArray, NSString;
overload externalInstanceMethod(static NSObject, static #"mutableSetValueForKey:") = NSMutableSet, NSString;
overload externalInstanceMethod(static NSObject, static #"valueForKeyPath:") = Id, NSString;
overload externalInstanceMethod(static NSObject, static #"setValue:forKeyPath:") = Void, Id, NSString;
overload externalInstanceMethod(static NSObject, static #"validateValue:forKeyPath:error:") = Bool, Pointer[Id], NSString, Pointer[NSError];
overload externalInstanceMethod(static NSObject, static #"mutableArrayValueForKeyPath:") = NSMutableArray, NSString;
overload externalInstanceMethod(static NSObject, static #"mutableSetValueForKeyPath:") = NSMutableSet, NSString;
overload externalInstanceMethod(static NSObject, static #"valueForUndefinedKey:") = Id, NSString;
overload externalInstanceMethod(static NSObject, static #"setValue:forUndefinedKey:") = Void, Id, NSString;
overload externalInstanceMethod(static NSObject, static #"setNilValueForKey:") = Void, NSString;
overload externalInstanceMethod(static NSObject, static #"dictionaryWithValuesForKeys:") = NSDictionary, NSArray;
overload externalInstanceMethod(static NSObject, static #"setValuesForKeysWithDictionary:") = Void, NSDictionary;
overload externalInstanceMethod(static NSObject, static #"observeValueForKeyPath:ofObject:change:context:") = Void, NSString, Id, NSDictionary, RawPointer;
overload externalInstanceMethod(static NSObject, static #"addObserver:forKeyPath:options:context:") = Void, NSObject, NSString, UInt, RawPointer;
overload externalInstanceMethod(static NSObject, static #"removeObserver:forKeyPath:") = Void, NSObject, NSString;
overload externalInstanceMethod(static NSObject, static #"willChangeValueForKey:") = Void, NSString;
overload externalInstanceMethod(static NSObject, static #"didChangeValueForKey:") = Void, NSString;
overload externalInstanceMethod(static NSObject, static #"willChange:valuesAtIndexes:forKey:") = Void, UInt, NSIndexSet, NSString;
overload externalInstanceMethod(static NSObject, static #"didChange:valuesAtIndexes:forKey:") = Void, UInt, NSIndexSet, NSString;
overload externalInstanceMethod(static NSObject, static #"willChangeValueForKey:withSetMutation:usingObjects:") = Void, NSString, UInt, NSSet;
overload externalInstanceMethod(static NSObject, static #"didChangeValueForKey:withSetMutation:usingObjects:") = Void, NSString, UInt, NSSet;
overload externalClassMethod(static NSObject, static #"keyPathsForValuesAffectingValueForKey:") = NSSet, NSString;
overload externalClassMethod(static NSObject, static #"automaticallyNotifiesObserversForKey:") = Bool, NSString;
overload externalInstanceMethod(static NSObject, static #"setObservationInfo:") = Void, RawPointer;
overload externalInstanceMethod(static NSObject, static #"observationInfo") = RawPointer;
overload externalInstanceMethod(static NSObject, static #"classForKeyedArchiver") = Id;
overload externalInstanceMethod(static NSObject, static #"replacementObjectForKeyedArchiver:") = Id, NSKeyedArchiver;
overload externalClassMethod(static NSObject, static #"classFallbacksForKeyedArchiver") = NSArray;
overload externalClassMethod(static NSObject, static #"classForKeyedUnarchiver") = Id;
overload externalInstanceMethod(static NSObject, static #"performSelector:withObject:afterDelay:inModes:") = Void, SelectorHandle, Id, Double, NSArray;
overload externalInstanceMethod(static NSObject, static #"performSelector:withObject:afterDelay:") = Void, SelectorHandle, Id, Double;
overload externalClassMethod(static NSObject, static #"cancelPreviousPerformRequestsWithTarget:selector:object:") = Void, Id, SelectorHandle, Id;
overload externalClassMethod(static NSObject, static #"cancelPreviousPerformRequestsWithTarget:") = Void, Id;
overload externalInstanceMethod(static NSObject, static #"performSelectorOnMainThread:withObject:waitUntilDone:modes:") = Void, SelectorHandle, Id, Bool, NSArray;
overload externalInstanceMethod(static NSObject, static #"performSelectorOnMainThread:withObject:waitUntilDone:") = Void, SelectorHandle, Id, Bool;
overload externalInstanceMethod(static NSObject, static #"performSelector:onThread:withObject:waitUntilDone:modes:") = Void, SelectorHandle, NSThread, Id, Bool, NSArray;
overload externalInstanceMethod(static NSObject, static #"performSelector:onThread:withObject:waitUntilDone:") = Void, SelectorHandle, NSThread, Id, Bool;
overload externalInstanceMethod(static NSObject, static #"performSelectorInBackground:withObject:") = Void, SelectorHandle, Id;
overload externalInstanceMethod(static NSObject, static #"connection:willSendRequest:redirectResponse:") = NSURLRequest, NSURLConnection, NSURLRequest, NSURLResponse;
overload externalInstanceMethod(static NSObject, static #"connection:needNewBodyStream:") = NSInputStream, NSURLConnection, NSURLRequest;
overload externalInstanceMethod(static NSObject, static #"connection:canAuthenticateAgainstProtectionSpace:") = Bool, NSURLConnection, NSURLProtectionSpace;
overload externalInstanceMethod(static NSObject, static #"connection:didReceiveAuthenticationChallenge:") = Void, NSURLConnection, NSURLAuthenticationChallenge;
overload externalInstanceMethod(static NSObject, static #"connection:didCancelAuthenticationChallenge:") = Void, NSURLConnection, NSURLAuthenticationChallenge;
overload externalInstanceMethod(static NSObject, static #"connectionShouldUseCredentialStorage:") = Bool, NSURLConnection;
overload externalInstanceMethod(static NSObject, static #"connection:didReceiveResponse:") = Void, NSURLConnection, NSURLResponse;
overload externalInstanceMethod(static NSObject, static #"connection:didReceiveData:") = Void, NSURLConnection, NSData;
overload externalInstanceMethod(static NSObject, static #"connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:") = Void, NSURLConnection, Int, Int, Int;
overload externalInstanceMethod(static NSObject, static #"connectionDidFinishLoading:") = Void, NSURLConnection;
overload externalInstanceMethod(static NSObject, static #"connection:didFailWithError:") = Void, NSURLConnection, NSError;
overload externalInstanceMethod(static NSObject, static #"connection:willCacheResponse:") = NSCachedURLResponse, NSURLConnection, NSCachedURLResponse;

record NSOperation = externalClass(NSObject);
overload externalInstanceMethod(static NSOperation, static #"init") = Id;
overload externalInstanceMethod(static NSOperation, static #"start") = Void;
overload externalInstanceMethod(static NSOperation, static #"main") = Void;
overload externalInstanceMethod(static NSOperation, static #"isCancelled") = Bool;
overload externalInstanceMethod(static NSOperation, static #"cancel") = Void;
overload externalInstanceMethod(static NSOperation, static #"isExecuting") = Bool;
overload externalInstanceMethod(static NSOperation, static #"isFinished") = Bool;
overload externalInstanceMethod(static NSOperation, static #"isConcurrent") = Bool;
overload externalInstanceMethod(static NSOperation, static #"isReady") = Bool;
overload externalInstanceMethod(static NSOperation, static #"addDependency:") = Void, NSOperation;
overload externalInstanceMethod(static NSOperation, static #"removeDependency:") = Void, NSOperation;
overload externalInstanceMethod(static NSOperation, static #"dependencies") = NSArray;
overload externalInstanceMethod(static NSOperation, static #"queuePriority") = Int;
overload externalInstanceMethod(static NSOperation, static #"setQueuePriority:") = Void, Int;
overload externalInstanceMethod(static NSOperation, static #"completionBlock") = UnknownType;
overload externalInstanceMethod(static NSOperation, static #"setCompletionBlock:") = Void, UnknownType;
overload externalInstanceMethod(static NSOperation, static #"waitUntilFinished") = Void;
overload externalInstanceMethod(static NSOperation, static #"threadPriority") = Double;
overload externalInstanceMethod(static NSOperation, static #"setThreadPriority:") = Void, Double;

record NSOperationQueue = externalClass(NSObject);
overload externalInstanceMethod(static NSOperationQueue, static #"addOperation:") = Void, NSOperation;
overload externalInstanceMethod(static NSOperationQueue, static #"addOperations:waitUntilFinished:") = Void, NSArray, Bool;
overload externalInstanceMethod(static NSOperationQueue, static #"addOperationWithBlock:") = Void, UnknownType;
overload externalInstanceMethod(static NSOperationQueue, static #"operations") = NSArray;
overload externalInstanceMethod(static NSOperationQueue, static #"operationCount") = UInt;
overload externalInstanceMethod(static NSOperationQueue, static #"maxConcurrentOperationCount") = Int;
overload externalInstanceMethod(static NSOperationQueue, static #"setMaxConcurrentOperationCount:") = Void, Int;
overload externalInstanceMethod(static NSOperationQueue, static #"setSuspended:") = Void, Bool;
overload externalInstanceMethod(static NSOperationQueue, static #"isSuspended") = Bool;
overload externalInstanceMethod(static NSOperationQueue, static #"setName:") = Void, NSString;
overload externalInstanceMethod(static NSOperationQueue, static #"name") = NSString;
overload externalInstanceMethod(static NSOperationQueue, static #"cancelAllOperations") = Void;
overload externalInstanceMethod(static NSOperationQueue, static #"waitUntilAllOperationsAreFinished") = Void;
overload externalClassMethod(static NSOperationQueue, static #"currentQueue") = Id;
overload externalClassMethod(static NSOperationQueue, static #"mainQueue") = Id;

record NSOrthography = externalClass(NSObject);
overload externalInstanceMethod(static NSOrthography, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSOrthography, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSOrthography, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSOrthography, static #"dominantScript") = NSString;
overload externalInstanceMethod(static NSOrthography, static #"languageMap") = NSDictionary;
overload externalInstanceMethod(static NSOrthography, static #"languagesForScript:") = NSArray, NSString;
overload externalInstanceMethod(static NSOrthography, static #"dominantLanguageForScript:") = NSString, NSString;
overload externalInstanceMethod(static NSOrthography, static #"dominantLanguage") = NSString;
overload externalInstanceMethod(static NSOrthography, static #"allScripts") = NSArray;
overload externalInstanceMethod(static NSOrthography, static #"allLanguages") = NSArray;
overload externalClassMethod(static NSOrthography, static #"orthographyWithDominantScript:languageMap:") = Id, NSString, NSDictionary;
overload externalInstanceMethod(static NSOrthography, static #"initWithDominantScript:languageMap:") = Id, NSString, NSDictionary;

record NSOutputStream = externalClass(NSStream);
overload externalInstanceMethod(static NSOutputStream, static #"write:maxLength:") = Int, Pointer[CUChar], UInt;
overload externalInstanceMethod(static NSOutputStream, static #"hasSpaceAvailable") = Bool;
overload externalInstanceMethod(static NSOutputStream, static #"initToMemory") = Id;
overload externalInstanceMethod(static NSOutputStream, static #"initToBuffer:capacity:") = Id, Pointer[CUChar], UInt;
overload externalInstanceMethod(static NSOutputStream, static #"initToFileAtPath:append:") = Id, NSString, Bool;
overload externalInstanceMethod(static NSOutputStream, static #"initWithURL:append:") = Id, NSURL, Bool;
overload externalClassMethod(static NSOutputStream, static #"outputStreamToMemory") = Id;
overload externalClassMethod(static NSOutputStream, static #"outputStreamToBuffer:capacity:") = Id, Pointer[CUChar], UInt;
overload externalClassMethod(static NSOutputStream, static #"outputStreamToFileAtPath:append:") = Id, NSString, Bool;
overload externalClassMethod(static NSOutputStream, static #"outputStreamWithURL:append:") = Id, NSURL, Bool;

record NSPipe = externalClass(NSObject);
overload externalInstanceMethod(static NSPipe, static #"fileHandleForReading") = NSFileHandle;
overload externalInstanceMethod(static NSPipe, static #"fileHandleForWriting") = NSFileHandle;
overload externalInstanceMethod(static NSPipe, static #"init") = Id;
overload externalClassMethod(static NSPipe, static #"pipe") = Id;

record NSPort = externalClass(NSObject);
overload externalInstanceMethod(static NSPort, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSPort, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSPort, static #"initWithCoder:") = Id, NSCoder;
overload externalClassMethod(static NSPort, static #"allocWithZone:") = Id, Pointer[NSZone];
overload externalClassMethod(static NSPort, static #"port") = NSPort;
overload externalInstanceMethod(static NSPort, static #"invalidate") = Void;
overload externalInstanceMethod(static NSPort, static #"isValid") = Bool;
overload externalInstanceMethod(static NSPort, static #"setDelegate:") = Void, Id;
overload externalInstanceMethod(static NSPort, static #"delegate") = Id;
overload externalInstanceMethod(static NSPort, static #"scheduleInRunLoop:forMode:") = Void, NSRunLoop, NSString;
overload externalInstanceMethod(static NSPort, static #"removeFromRunLoop:forMode:") = Void, NSRunLoop, NSString;
overload externalInstanceMethod(static NSPort, static #"reservedSpaceLength") = UInt;
overload externalInstanceMethod(static NSPort, static #"sendBeforeDate:components:from:reserved:") = Bool, NSDate, NSMutableArray, NSPort, UInt;
overload externalInstanceMethod(static NSPort, static #"sendBeforeDate:msgid:components:from:reserved:") = Bool, NSDate, UInt, NSMutableArray, NSPort, UInt;

record NSPredicate = externalClass(NSObject);
overload externalInstanceMethod(static NSPredicate, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSPredicate, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSPredicate, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalClassMethod(static NSPredicate, static #"predicateWithFormat:argumentArray:") = NSPredicate, NSString, NSArray;
overload externalVarargClassMethod(static NSPredicate, static #"predicateWithFormat:") = NSPredicate, NSString;
overload externalClassMethod(static NSPredicate, static #"predicateWithFormat:arguments:") = NSPredicate, NSString, va_list;
overload externalClassMethod(static NSPredicate, static #"predicateWithValue:") = NSPredicate, Bool;
overload externalClassMethod(static NSPredicate, static #"predicateWithBlock:") = NSPredicate, UnknownType;
overload externalInstanceMethod(static NSPredicate, static #"predicateFormat") = NSString;
overload externalInstanceMethod(static NSPredicate, static #"predicateWithSubstitutionVariables:") = NSPredicate, NSDictionary;
overload externalInstanceMethod(static NSPredicate, static #"evaluateWithObject:") = Bool, Id;
overload externalInstanceMethod(static NSPredicate, static #"evaluateWithObject:substitutionVariables:") = Bool, Id, NSDictionary;

record NSProcessInfo = externalClass(NSObject);
overload externalClassMethod(static NSProcessInfo, static #"processInfo") = NSProcessInfo;
overload externalInstanceMethod(static NSProcessInfo, static #"environment") = NSDictionary;
overload externalInstanceMethod(static NSProcessInfo, static #"arguments") = NSArray;
overload externalInstanceMethod(static NSProcessInfo, static #"hostName") = NSString;
overload externalInstanceMethod(static NSProcessInfo, static #"processName") = NSString;
overload externalInstanceMethod(static NSProcessInfo, static #"processIdentifier") = Int;
overload externalInstanceMethod(static NSProcessInfo, static #"setProcessName:") = Void, NSString;
overload externalInstanceMethod(static NSProcessInfo, static #"globallyUniqueString") = NSString;
overload externalInstanceMethod(static NSProcessInfo, static #"operatingSystem") = UInt;
overload externalInstanceMethod(static NSProcessInfo, static #"operatingSystemName") = NSString;
overload externalInstanceMethod(static NSProcessInfo, static #"operatingSystemVersionString") = NSString;
overload externalInstanceMethod(static NSProcessInfo, static #"processorCount") = UInt;
overload externalInstanceMethod(static NSProcessInfo, static #"activeProcessorCount") = UInt;
overload externalInstanceMethod(static NSProcessInfo, static #"physicalMemory") = UInt64;
overload externalInstanceMethod(static NSProcessInfo, static #"systemUptime") = Double;

record NSPropertyListSerialization = externalClass(NSObject);
overload externalClassMethod(static NSPropertyListSerialization, static #"propertyList:isValidForFormat:") = Bool, Id, UInt;
overload externalClassMethod(static NSPropertyListSerialization, static #"dataWithPropertyList:format:options:error:") = NSData, Id, UInt, UInt, Pointer[NSError];
overload externalClassMethod(static NSPropertyListSerialization, static #"writePropertyList:toStream:format:options:error:") = Int, Id, NSOutputStream, UInt, UInt, Pointer[NSError];
overload externalClassMethod(static NSPropertyListSerialization, static #"propertyListWithData:options:format:error:") = Id, NSData, UInt, Pointer[UInt], Pointer[NSError];
overload externalClassMethod(static NSPropertyListSerialization, static #"propertyListWithStream:options:format:error:") = Id, NSInputStream, UInt, Pointer[UInt], Pointer[NSError];
overload externalClassMethod(static NSPropertyListSerialization, static #"dataFromPropertyList:format:errorDescription:") = NSData, Id, UInt, Pointer[NSString];
overload externalClassMethod(static NSPropertyListSerialization, static #"propertyListFromData:mutabilityOption:format:errorDescription:") = Id, NSData, UInt, Pointer[UInt], Pointer[NSString];

record NSProxy = externalClass(Void);
overload externalInstanceMethod(static NSProxy, static #"isEqual:") = Bool, Id;
overload externalInstanceMethod(static NSProxy, static #"hash") = UInt;
overload externalInstanceMethod(static NSProxy, static #"superclass") = Id;
overload externalInstanceMethod(static NSProxy, static #"class") = Id;
overload externalInstanceMethod(static NSProxy, static #"self") = Id;
overload externalInstanceMethod(static NSProxy, static #"zone") = Pointer[NSZone];
overload externalInstanceMethod(static NSProxy, static #"performSelector:") = Id, SelectorHandle;
overload externalInstanceMethod(static NSProxy, static #"performSelector:withObject:") = Id, SelectorHandle, Id;
overload externalInstanceMethod(static NSProxy, static #"performSelector:withObject:withObject:") = Id, SelectorHandle, Id, Id;
overload externalInstanceMethod(static NSProxy, static #"isProxy") = Bool;
overload externalInstanceMethod(static NSProxy, static #"isKindOfClass:") = Bool, Id;
overload externalInstanceMethod(static NSProxy, static #"isMemberOfClass:") = Bool, Id;
overload externalInstanceMethod(static NSProxy, static #"conformsToProtocol:") = Bool, Id;
overload externalInstanceMethod(static NSProxy, static #"respondsToSelector:") = Bool, SelectorHandle;
overload externalInstanceMethod(static NSProxy, static #"retain") = Id;
overload externalInstanceMethod(static NSProxy, static #"release") = Void;
overload externalInstanceMethod(static NSProxy, static #"autorelease") = Id;
overload externalInstanceMethod(static NSProxy, static #"retainCount") = UInt;
overload externalInstanceMethod(static NSProxy, static #"description") = NSString;
overload externalClassMethod(static NSProxy, static #"alloc") = Id;
overload externalClassMethod(static NSProxy, static #"allocWithZone:") = Id, Pointer[NSZone];
overload externalClassMethod(static NSProxy, static #"class") = Id;
overload externalInstanceMethod(static NSProxy, static #"forwardInvocation:") = Void, NSInvocation;
overload externalInstanceMethod(static NSProxy, static #"methodSignatureForSelector:") = NSMethodSignature, SelectorHandle;
overload externalInstanceMethod(static NSProxy, static #"dealloc") = Void;
overload externalInstanceMethod(static NSProxy, static #"finalize") = Void;
overload externalInstanceMethod(static NSProxy, static #"description") = NSString;
overload externalClassMethod(static NSProxy, static #"respondsToSelector:") = Bool, SelectorHandle;

record NSPurgeableData = externalClass(NSMutableData);
overload externalInstanceMethod(static NSPurgeableData, static #"beginContentAccess") = Bool;
overload externalInstanceMethod(static NSPurgeableData, static #"endContentAccess") = Void;
overload externalInstanceMethod(static NSPurgeableData, static #"discardContentIfPossible") = Void;
overload externalInstanceMethod(static NSPurgeableData, static #"isContentDiscarded") = Bool;

record NSRecursiveLock = externalClass(NSObject);
overload externalInstanceMethod(static NSRecursiveLock, static #"lock") = Void;
overload externalInstanceMethod(static NSRecursiveLock, static #"unlock") = Void;
overload externalInstanceMethod(static NSRecursiveLock, static #"tryLock") = Bool;
overload externalInstanceMethod(static NSRecursiveLock, static #"lockBeforeDate:") = Bool, NSDate;
overload externalInstanceMethod(static NSRecursiveLock, static #"setName:") = Void, NSString;
overload externalInstanceMethod(static NSRecursiveLock, static #"name") = NSString;

record NSRegularExpression = externalClass(NSObject);
overload externalInstanceMethod(static NSRegularExpression, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSRegularExpression, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSRegularExpression, static #"initWithCoder:") = Id, NSCoder;
overload externalClassMethod(static NSRegularExpression, static #"regularExpressionWithPattern:options:error:") = NSRegularExpression, NSString, UInt, Pointer[NSError];
overload externalInstanceMethod(static NSRegularExpression, static #"initWithPattern:options:error:") = Id, NSString, UInt, Pointer[NSError];
overload externalClassMethod(static NSRegularExpression, static #"escapedPatternForString:") = NSString, NSString;
overload externalInstanceMethod(static NSRegularExpression, static #"pattern") = NSString;
overload externalInstanceMethod(static NSRegularExpression, static #"options") = UInt;
overload externalInstanceMethod(static NSRegularExpression, static #"numberOfCaptureGroups") = UInt;
overload externalInstanceMethod(static NSRegularExpression, static #"enumerateMatchesInString:options:range:usingBlock:") = Void, NSString, UInt, NSRange, UnknownType;
overload externalInstanceMethod(static NSRegularExpression, static #"matchesInString:options:range:") = NSArray, NSString, UInt, NSRange;
overload externalInstanceMethod(static NSRegularExpression, static #"numberOfMatchesInString:options:range:") = UInt, NSString, UInt, NSRange;
overload externalInstanceMethod(static NSRegularExpression, static #"firstMatchInString:options:range:") = NSTextCheckingResult, NSString, UInt, NSRange;
overload externalInstanceMethod(static NSRegularExpression, static #"rangeOfFirstMatchInString:options:range:") = NSRange, NSString, UInt, NSRange;
overload externalInstanceMethod(static NSRegularExpression, static #"stringByReplacingMatchesInString:options:range:withTemplate:") = NSString, NSString, UInt, NSRange, NSString;
overload externalInstanceMethod(static NSRegularExpression, static #"replaceMatchesInString:options:range:withTemplate:") = UInt, NSMutableString, UInt, NSRange, NSString;
overload externalInstanceMethod(static NSRegularExpression, static #"replacementStringForResult:inString:offset:template:") = NSString, NSTextCheckingResult, NSString, Int, NSString;
overload externalClassMethod(static NSRegularExpression, static #"escapedTemplateForString:") = NSString, NSString;

record NSRunLoop = externalClass(NSObject);
overload externalClassMethod(static NSRunLoop, static #"currentRunLoop") = NSRunLoop;
overload externalClassMethod(static NSRunLoop, static #"mainRunLoop") = NSRunLoop;
overload externalInstanceMethod(static NSRunLoop, static #"currentMode") = NSString;
overload externalInstanceMethod(static NSRunLoop, static #"getCFRunLoop") = CFRunLoopRef;
overload externalInstanceMethod(static NSRunLoop, static #"addTimer:forMode:") = Void, NSTimer, NSString;
overload externalInstanceMethod(static NSRunLoop, static #"addPort:forMode:") = Void, NSPort, NSString;
overload externalInstanceMethod(static NSRunLoop, static #"removePort:forMode:") = Void, NSPort, NSString;
overload externalInstanceMethod(static NSRunLoop, static #"limitDateForMode:") = NSDate, NSString;
overload externalInstanceMethod(static NSRunLoop, static #"acceptInputForMode:beforeDate:") = Void, NSString, NSDate;
overload externalInstanceMethod(static NSRunLoop, static #"run") = Void;
overload externalInstanceMethod(static NSRunLoop, static #"runUntilDate:") = Void, NSDate;
overload externalInstanceMethod(static NSRunLoop, static #"runMode:beforeDate:") = Bool, NSString, NSDate;
overload externalInstanceMethod(static NSRunLoop, static #"performSelector:target:argument:order:modes:") = Void, SelectorHandle, Id, Id, UInt, NSArray;
overload externalInstanceMethod(static NSRunLoop, static #"cancelPerformSelector:target:argument:") = Void, SelectorHandle, Id, Id;
overload externalInstanceMethod(static NSRunLoop, static #"cancelPerformSelectorsWithTarget:") = Void, Id;

record NSScanner = externalClass(NSObject);
overload externalInstanceMethod(static NSScanner, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSScanner, static #"string") = NSString;
overload externalInstanceMethod(static NSScanner, static #"scanLocation") = UInt;
overload externalInstanceMethod(static NSScanner, static #"setScanLocation:") = Void, UInt;
overload externalInstanceMethod(static NSScanner, static #"setCharactersToBeSkipped:") = Void, NSCharacterSet;
overload externalInstanceMethod(static NSScanner, static #"setCaseSensitive:") = Void, Bool;
overload externalInstanceMethod(static NSScanner, static #"setLocale:") = Void, Id;
overload externalInstanceMethod(static NSScanner, static #"charactersToBeSkipped") = NSCharacterSet;
overload externalInstanceMethod(static NSScanner, static #"caseSensitive") = Bool;
overload externalInstanceMethod(static NSScanner, static #"locale") = Id;
overload externalInstanceMethod(static NSScanner, static #"scanInt:") = Bool, Pointer[Int];
overload externalInstanceMethod(static NSScanner, static #"scanInteger:") = Bool, Pointer[Int];
overload externalInstanceMethod(static NSScanner, static #"scanHexLongLong:") = Bool, Pointer[UInt64];
overload externalInstanceMethod(static NSScanner, static #"scanHexFloat:") = Bool, Pointer[Float];
overload externalInstanceMethod(static NSScanner, static #"scanHexDouble:") = Bool, Pointer[Double];
overload externalInstanceMethod(static NSScanner, static #"scanHexInt:") = Bool, Pointer[UInt];
overload externalInstanceMethod(static NSScanner, static #"scanLongLong:") = Bool, Pointer[Int64];
overload externalInstanceMethod(static NSScanner, static #"scanFloat:") = Bool, Pointer[Float];
overload externalInstanceMethod(static NSScanner, static #"scanDouble:") = Bool, Pointer[Double];
overload externalInstanceMethod(static NSScanner, static #"scanString:intoString:") = Bool, NSString, Pointer[NSString];
overload externalInstanceMethod(static NSScanner, static #"scanCharactersFromSet:intoString:") = Bool, NSCharacterSet, Pointer[NSString];
overload externalInstanceMethod(static NSScanner, static #"scanUpToString:intoString:") = Bool, NSString, Pointer[NSString];
overload externalInstanceMethod(static NSScanner, static #"scanUpToCharactersFromSet:intoString:") = Bool, NSCharacterSet, Pointer[NSString];
overload externalInstanceMethod(static NSScanner, static #"isAtEnd") = Bool;
overload externalInstanceMethod(static NSScanner, static #"initWithString:") = Id, NSString;
overload externalClassMethod(static NSScanner, static #"scannerWithString:") = Id, NSString;
overload externalClassMethod(static NSScanner, static #"localizedScannerWithString:") = Id, NSString;
overload externalInstanceMethod(static NSScanner, static #"scanDecimal:") = Bool, Pointer[NSDecimal];

record NSSet = externalClass(NSObject);
overload externalInstanceMethod(static NSSet, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSSet, static #"mutableCopyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSSet, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSSet, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSSet, static #"countByEnumeratingWithState:objects:count:") = UInt, Pointer[NSFastEnumerationState], Pointer[Id], UInt;
overload externalInstanceMethod(static NSSet, static #"count") = UInt;
overload externalInstanceMethod(static NSSet, static #"member:") = Id, Id;
overload externalInstanceMethod(static NSSet, static #"objectEnumerator") = NSEnumerator;
overload externalInstanceMethod(static NSSet, static #"allObjects") = NSArray;
overload externalInstanceMethod(static NSSet, static #"anyObject") = Id;
overload externalInstanceMethod(static NSSet, static #"containsObject:") = Bool, Id;
overload externalInstanceMethod(static NSSet, static #"description") = NSString;
overload externalInstanceMethod(static NSSet, static #"descriptionWithLocale:") = NSString, Id;
overload externalInstanceMethod(static NSSet, static #"intersectsSet:") = Bool, NSSet;
overload externalInstanceMethod(static NSSet, static #"isEqualToSet:") = Bool, NSSet;
overload externalInstanceMethod(static NSSet, static #"isSubsetOfSet:") = Bool, NSSet;
overload externalInstanceMethod(static NSSet, static #"makeObjectsPerformSelector:") = Void, SelectorHandle;
overload externalInstanceMethod(static NSSet, static #"makeObjectsPerformSelector:withObject:") = Void, SelectorHandle, Id;
overload externalInstanceMethod(static NSSet, static #"setByAddingObject:") = NSSet, Id;
overload externalInstanceMethod(static NSSet, static #"setByAddingObjectsFromSet:") = NSSet, NSSet;
overload externalInstanceMethod(static NSSet, static #"setByAddingObjectsFromArray:") = NSSet, NSArray;
overload externalInstanceMethod(static NSSet, static #"enumerateObjectsUsingBlock:") = Void, UnknownType;
overload externalInstanceMethod(static NSSet, static #"enumerateObjectsWithOptions:usingBlock:") = Void, UInt, UnknownType;
overload externalInstanceMethod(static NSSet, static #"objectsPassingTest:") = NSSet, UnknownType;
overload externalInstanceMethod(static NSSet, static #"objectsWithOptions:passingTest:") = NSSet, UInt, UnknownType;
overload externalClassMethod(static NSSet, static #"set") = Id;
overload externalClassMethod(static NSSet, static #"setWithObject:") = Id, Id;
overload externalClassMethod(static NSSet, static #"setWithObjects:count:") = Id, Pointer[Id], UInt;
overload externalVarargClassMethod(static NSSet, static #"setWithObjects:") = Id, Id;
overload externalClassMethod(static NSSet, static #"setWithSet:") = Id, NSSet;
overload externalClassMethod(static NSSet, static #"setWithArray:") = Id, NSArray;
overload externalInstanceMethod(static NSSet, static #"initWithObjects:count:") = Id, Pointer[Id], UInt;
overload externalVarargInstanceMethod(static NSSet, static #"initWithObjects:") = Id, Id;
overload externalInstanceMethod(static NSSet, static #"initWithSet:") = Id, NSSet;
overload externalInstanceMethod(static NSSet, static #"initWithSet:copyItems:") = Id, NSSet, Bool;
overload externalInstanceMethod(static NSSet, static #"initWithArray:") = Id, NSArray;
overload externalInstanceMethod(static NSSet, static #"valueForKey:") = Id, NSString;
overload externalInstanceMethod(static NSSet, static #"setValue:forKey:") = Void, Id, NSString;
overload externalInstanceMethod(static NSSet, static #"addObserver:forKeyPath:options:context:") = Void, NSObject, NSString, UInt, RawPointer;
overload externalInstanceMethod(static NSSet, static #"removeObserver:forKeyPath:") = Void, NSObject, NSString;
overload externalInstanceMethod(static NSSet, static #"sortedArrayUsingDescriptors:") = NSArray, NSArray;
overload externalInstanceMethod(static NSSet, static #"filteredSetUsingPredicate:") = NSSet, NSPredicate;

record NSSimpleCString = externalClass(NSString);

record NSSortDescriptor = externalClass(NSObject);
overload externalInstanceMethod(static NSSortDescriptor, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSSortDescriptor, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSSortDescriptor, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalClassMethod(static NSSortDescriptor, static #"sortDescriptorWithKey:ascending:") = Id, NSString, Bool;
overload externalClassMethod(static NSSortDescriptor, static #"sortDescriptorWithKey:ascending:selector:") = Id, NSString, Bool, SelectorHandle;
overload externalInstanceMethod(static NSSortDescriptor, static #"initWithKey:ascending:") = Id, NSString, Bool;
overload externalInstanceMethod(static NSSortDescriptor, static #"initWithKey:ascending:selector:") = Id, NSString, Bool, SelectorHandle;
overload externalInstanceMethod(static NSSortDescriptor, static #"key") = NSString;
overload externalInstanceMethod(static NSSortDescriptor, static #"ascending") = Bool;
overload externalInstanceMethod(static NSSortDescriptor, static #"selector") = SelectorHandle;
overload externalClassMethod(static NSSortDescriptor, static #"sortDescriptorWithKey:ascending:comparator:") = Id, NSString, Bool, NSComparator;
overload externalInstanceMethod(static NSSortDescriptor, static #"initWithKey:ascending:comparator:") = Id, NSString, Bool, NSComparator;
overload externalInstanceMethod(static NSSortDescriptor, static #"comparator") = NSComparator;
overload externalInstanceMethod(static NSSortDescriptor, static #"compareObject:toObject:") = Int, Id, Id;
overload externalInstanceMethod(static NSSortDescriptor, static #"reversedSortDescriptor") = Id;

record NSStream = externalClass(NSObject);
overload externalInstanceMethod(static NSStream, static #"open") = Void;
overload externalInstanceMethod(static NSStream, static #"close") = Void;
overload externalInstanceMethod(static NSStream, static #"delegate") = Id;
overload externalInstanceMethod(static NSStream, static #"setDelegate:") = Void, Id;
overload externalInstanceMethod(static NSStream, static #"propertyForKey:") = Id, NSString;
overload externalInstanceMethod(static NSStream, static #"setProperty:forKey:") = Bool, Id, NSString;
overload externalInstanceMethod(static NSStream, static #"scheduleInRunLoop:forMode:") = Void, NSRunLoop, NSString;
overload externalInstanceMethod(static NSStream, static #"removeFromRunLoop:forMode:") = Void, NSRunLoop, NSString;
overload externalInstanceMethod(static NSStream, static #"streamStatus") = UInt;
overload externalInstanceMethod(static NSStream, static #"streamError") = NSError;

record NSString = externalClass(NSObject);
overload externalInstanceMethod(static NSString, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSString, static #"mutableCopyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSString, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSString, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSString, static #"length") = UInt;
overload externalInstanceMethod(static NSString, static #"characterAtIndex:") = UShort, UInt;
overload externalInstanceMethod(static NSString, static #"getCharacters:range:") = Void, Pointer[UShort], NSRange;
overload externalInstanceMethod(static NSString, static #"substringFromIndex:") = NSString, UInt;
overload externalInstanceMethod(static NSString, static #"substringToIndex:") = NSString, UInt;
overload externalInstanceMethod(static NSString, static #"substringWithRange:") = NSString, NSRange;
overload externalInstanceMethod(static NSString, static #"compare:") = Int, NSString;
overload externalInstanceMethod(static NSString, static #"compare:options:") = Int, NSString, UInt;
overload externalInstanceMethod(static NSString, static #"compare:options:range:") = Int, NSString, UInt, NSRange;
overload externalInstanceMethod(static NSString, static #"compare:options:range:locale:") = Int, NSString, UInt, NSRange, Id;
overload externalInstanceMethod(static NSString, static #"caseInsensitiveCompare:") = Int, NSString;
overload externalInstanceMethod(static NSString, static #"localizedCompare:") = Int, NSString;
overload externalInstanceMethod(static NSString, static #"localizedCaseInsensitiveCompare:") = Int, NSString;
overload externalInstanceMethod(static NSString, static #"localizedStandardCompare:") = Int, NSString;
overload externalInstanceMethod(static NSString, static #"isEqualToString:") = Bool, NSString;
overload externalInstanceMethod(static NSString, static #"hasPrefix:") = Bool, NSString;
overload externalInstanceMethod(static NSString, static #"hasSuffix:") = Bool, NSString;
overload externalInstanceMethod(static NSString, static #"rangeOfString:") = NSRange, NSString;
overload externalInstanceMethod(static NSString, static #"rangeOfString:options:") = NSRange, NSString, UInt;
overload externalInstanceMethod(static NSString, static #"rangeOfString:options:range:") = NSRange, NSString, UInt, NSRange;
overload externalInstanceMethod(static NSString, static #"rangeOfString:options:range:locale:") = NSRange, NSString, UInt, NSRange, NSLocale;
overload externalInstanceMethod(static NSString, static #"rangeOfCharacterFromSet:") = NSRange, NSCharacterSet;
overload externalInstanceMethod(static NSString, static #"rangeOfCharacterFromSet:options:") = NSRange, NSCharacterSet, UInt;
overload externalInstanceMethod(static NSString, static #"rangeOfCharacterFromSet:options:range:") = NSRange, NSCharacterSet, UInt, NSRange;
overload externalInstanceMethod(static NSString, static #"rangeOfComposedCharacterSequenceAtIndex:") = NSRange, UInt;
overload externalInstanceMethod(static NSString, static #"rangeOfComposedCharacterSequencesForRange:") = NSRange, NSRange;
overload externalInstanceMethod(static NSString, static #"stringByAppendingString:") = NSString, NSString;
overload externalVarargInstanceMethod(static NSString, static #"stringByAppendingFormat:") = NSString, NSString;
overload externalInstanceMethod(static NSString, static #"doubleValue") = Double;
overload externalInstanceMethod(static NSString, static #"floatValue") = Float;
overload externalInstanceMethod(static NSString, static #"intValue") = Int;
overload externalInstanceMethod(static NSString, static #"integerValue") = Int;
overload externalInstanceMethod(static NSString, static #"longLongValue") = Int64;
overload externalInstanceMethod(static NSString, static #"boolValue") = Bool;
overload externalInstanceMethod(static NSString, static #"componentsSeparatedByString:") = NSArray, NSString;
overload externalInstanceMethod(static NSString, static #"componentsSeparatedByCharactersInSet:") = NSArray, NSCharacterSet;
overload externalInstanceMethod(static NSString, static #"commonPrefixWithString:options:") = NSString, NSString, UInt;
overload externalInstanceMethod(static NSString, static #"uppercaseString") = NSString;
overload externalInstanceMethod(static NSString, static #"lowercaseString") = NSString;
overload externalInstanceMethod(static NSString, static #"capitalizedString") = NSString;
overload externalInstanceMethod(static NSString, static #"stringByTrimmingCharactersInSet:") = NSString, NSCharacterSet;
overload externalInstanceMethod(static NSString, static #"stringByPaddingToLength:withString:startingAtIndex:") = NSString, UInt, NSString, UInt;
overload externalInstanceMethod(static NSString, static #"getLineStart:end:contentsEnd:forRange:") = Void, Pointer[UInt], Pointer[UInt], Pointer[UInt], NSRange;
overload externalInstanceMethod(static NSString, static #"lineRangeForRange:") = NSRange, NSRange;
overload externalInstanceMethod(static NSString, static #"getParagraphStart:end:contentsEnd:forRange:") = Void, Pointer[UInt], Pointer[UInt], Pointer[UInt], NSRange;
overload externalInstanceMethod(static NSString, static #"paragraphRangeForRange:") = NSRange, NSRange;
overload externalInstanceMethod(static NSString, static #"enumerateSubstringsInRange:options:usingBlock:") = Void, NSRange, UInt, UnknownType;
overload externalInstanceMethod(static NSString, static #"enumerateLinesUsingBlock:") = Void, UnknownType;
overload externalInstanceMethod(static NSString, static #"description") = NSString;
overload externalInstanceMethod(static NSString, static #"hash") = UInt;
overload externalInstanceMethod(static NSString, static #"fastestEncoding") = UInt;
overload externalInstanceMethod(static NSString, static #"smallestEncoding") = UInt;
overload externalInstanceMethod(static NSString, static #"dataUsingEncoding:allowLossyConversion:") = NSData, UInt, Bool;
overload externalInstanceMethod(static NSString, static #"dataUsingEncoding:") = NSData, UInt;
overload externalInstanceMethod(static NSString, static #"canBeConvertedToEncoding:") = Bool, UInt;
overload externalInstanceMethod(static NSString, static #"cStringUsingEncoding:") = Pointer[CChar], UInt;
overload externalInstanceMethod(static NSString, static #"getCString:maxLength:encoding:") = Bool, Pointer[CChar], UInt, UInt;
overload externalInstanceMethod(static NSString, static #"getBytes:maxLength:usedLength:encoding:options:range:remainingRange:") = Bool, RawPointer, UInt, Pointer[UInt], UInt, UInt, NSRange, NSRangePointer;
overload externalInstanceMethod(static NSString, static #"maximumLengthOfBytesUsingEncoding:") = UInt, UInt;
overload externalInstanceMethod(static NSString, static #"lengthOfBytesUsingEncoding:") = UInt, UInt;
overload externalInstanceMethod(static NSString, static #"decomposedStringWithCanonicalMapping") = NSString;
overload externalInstanceMethod(static NSString, static #"precomposedStringWithCanonicalMapping") = NSString;
overload externalInstanceMethod(static NSString, static #"decomposedStringWithCompatibilityMapping") = NSString;
overload externalInstanceMethod(static NSString, static #"precomposedStringWithCompatibilityMapping") = NSString;
overload externalInstanceMethod(static NSString, static #"stringByFoldingWithOptions:locale:") = NSString, UInt, NSLocale;
overload externalInstanceMethod(static NSString, static #"stringByReplacingOccurrencesOfString:withString:options:range:") = NSString, NSString, NSString, UInt, NSRange;
overload externalInstanceMethod(static NSString, static #"stringByReplacingOccurrencesOfString:withString:") = NSString, NSString, NSString;
overload externalInstanceMethod(static NSString, static #"stringByReplacingCharactersInRange:withString:") = NSString, NSRange, NSString;
overload externalInstanceMethod(static NSString, static #"UTF8String") = Pointer[CChar];
overload externalClassMethod(static NSString, static #"defaultCStringEncoding") = UInt;
overload externalClassMethod(static NSString, static #"availableStringEncodings") = Pointer[UInt];
overload externalClassMethod(static NSString, static #"localizedNameOfStringEncoding:") = NSString, UInt;
overload externalInstanceMethod(static NSString, static #"init") = Id;
overload externalInstanceMethod(static NSString, static #"initWithCharactersNoCopy:length:freeWhenDone:") = Id, Pointer[UShort], UInt, Bool;
overload externalInstanceMethod(static NSString, static #"initWithCharacters:length:") = Id, Pointer[UShort], UInt;
overload externalInstanceMethod(static NSString, static #"initWithUTF8String:") = Id, Pointer[CChar];
overload externalInstanceMethod(static NSString, static #"initWithString:") = Id, NSString;
overload externalVarargInstanceMethod(static NSString, static #"initWithFormat:") = Id, NSString;
overload externalInstanceMethod(static NSString, static #"initWithFormat:arguments:") = Id, NSString, va_list;
overload externalVarargInstanceMethod(static NSString, static #"initWithFormat:locale:") = Id, NSString, Id;
overload externalInstanceMethod(static NSString, static #"initWithFormat:locale:arguments:") = Id, NSString, Id, va_list;
overload externalInstanceMethod(static NSString, static #"initWithData:encoding:") = Id, NSData, UInt;
overload externalInstanceMethod(static NSString, static #"initWithBytes:length:encoding:") = Id, RawPointer, UInt, UInt;
overload externalInstanceMethod(static NSString, static #"initWithBytesNoCopy:length:encoding:freeWhenDone:") = Id, RawPointer, UInt, UInt, Bool;
overload externalClassMethod(static NSString, static #"string") = Id;
overload externalClassMethod(static NSString, static #"stringWithString:") = Id, NSString;
overload externalClassMethod(static NSString, static #"stringWithCharacters:length:") = Id, Pointer[UShort], UInt;
overload externalClassMethod(static NSString, static #"stringWithUTF8String:") = Id, Pointer[CChar];
overload externalVarargClassMethod(static NSString, static #"stringWithFormat:") = Id, NSString;
overload externalVarargClassMethod(static NSString, static #"localizedStringWithFormat:") = Id, NSString;
overload externalInstanceMethod(static NSString, static #"initWithCString:encoding:") = Id, Pointer[CChar], UInt;
overload externalClassMethod(static NSString, static #"stringWithCString:encoding:") = Id, Pointer[CChar], UInt;
overload externalInstanceMethod(static NSString, static #"initWithContentsOfURL:encoding:error:") = Id, NSURL, UInt, Pointer[NSError];
overload externalInstanceMethod(static NSString, static #"initWithContentsOfFile:encoding:error:") = Id, NSString, UInt, Pointer[NSError];
overload externalClassMethod(static NSString, static #"stringWithContentsOfURL:encoding:error:") = Id, NSURL, UInt, Pointer[NSError];
overload externalClassMethod(static NSString, static #"stringWithContentsOfFile:encoding:error:") = Id, NSString, UInt, Pointer[NSError];
overload externalInstanceMethod(static NSString, static #"initWithContentsOfURL:usedEncoding:error:") = Id, NSURL, Pointer[UInt], Pointer[NSError];
overload externalInstanceMethod(static NSString, static #"initWithContentsOfFile:usedEncoding:error:") = Id, NSString, Pointer[UInt], Pointer[NSError];
overload externalClassMethod(static NSString, static #"stringWithContentsOfURL:usedEncoding:error:") = Id, NSURL, Pointer[UInt], Pointer[NSError];
overload externalClassMethod(static NSString, static #"stringWithContentsOfFile:usedEncoding:error:") = Id, NSString, Pointer[UInt], Pointer[NSError];
overload externalInstanceMethod(static NSString, static #"writeToURL:atomically:encoding:error:") = Bool, NSURL, Bool, UInt, Pointer[NSError];
overload externalInstanceMethod(static NSString, static #"writeToFile:atomically:encoding:error:") = Bool, NSString, Bool, UInt, Pointer[NSError];
overload externalInstanceMethod(static NSString, static #"propertyList") = Id;
overload externalInstanceMethod(static NSString, static #"propertyListFromStringsFileFormat") = NSDictionary;
overload externalInstanceMethod(static NSString, static #"cString") = Pointer[CChar];
overload externalInstanceMethod(static NSString, static #"lossyCString") = Pointer[CChar];
overload externalInstanceMethod(static NSString, static #"cStringLength") = UInt;
overload externalInstanceMethod(static NSString, static #"getCString:") = Void, Pointer[CChar];
overload externalInstanceMethod(static NSString, static #"getCString:maxLength:") = Void, Pointer[CChar], UInt;
overload externalInstanceMethod(static NSString, static #"getCString:maxLength:range:remainingRange:") = Void, Pointer[CChar], UInt, NSRange, NSRangePointer;
overload externalInstanceMethod(static NSString, static #"writeToFile:atomically:") = Bool, NSString, Bool;
overload externalInstanceMethod(static NSString, static #"writeToURL:atomically:") = Bool, NSURL, Bool;
overload externalInstanceMethod(static NSString, static #"initWithContentsOfFile:") = Id, NSString;
overload externalInstanceMethod(static NSString, static #"initWithContentsOfURL:") = Id, NSURL;
overload externalClassMethod(static NSString, static #"stringWithContentsOfFile:") = Id, NSString;
overload externalClassMethod(static NSString, static #"stringWithContentsOfURL:") = Id, NSURL;
overload externalInstanceMethod(static NSString, static #"initWithCStringNoCopy:length:freeWhenDone:") = Id, Pointer[CChar], UInt, Bool;
overload externalInstanceMethod(static NSString, static #"initWithCString:length:") = Id, Pointer[CChar], UInt;
overload externalInstanceMethod(static NSString, static #"initWithCString:") = Id, Pointer[CChar];
overload externalClassMethod(static NSString, static #"stringWithCString:length:") = Id, Pointer[CChar], UInt;
overload externalClassMethod(static NSString, static #"stringWithCString:") = Id, Pointer[CChar];
overload externalInstanceMethod(static NSString, static #"getCharacters:") = Void, Pointer[UShort];
overload externalClassMethod(static NSString, static #"pathWithComponents:") = NSString, NSArray;
overload externalInstanceMethod(static NSString, static #"pathComponents") = NSArray;
overload externalInstanceMethod(static NSString, static #"isAbsolutePath") = Bool;
overload externalInstanceMethod(static NSString, static #"lastPathComponent") = NSString;
overload externalInstanceMethod(static NSString, static #"stringByDeletingLastPathComponent") = NSString;
overload externalInstanceMethod(static NSString, static #"stringByAppendingPathComponent:") = NSString, NSString;
overload externalInstanceMethod(static NSString, static #"pathExtension") = NSString;
overload externalInstanceMethod(static NSString, static #"stringByDeletingPathExtension") = NSString;
overload externalInstanceMethod(static NSString, static #"stringByAppendingPathExtension:") = NSString, NSString;
overload externalInstanceMethod(static NSString, static #"stringByAbbreviatingWithTildeInPath") = NSString;
overload externalInstanceMethod(static NSString, static #"stringByExpandingTildeInPath") = NSString;
overload externalInstanceMethod(static NSString, static #"stringByStandardizingPath") = NSString;
overload externalInstanceMethod(static NSString, static #"stringByResolvingSymlinksInPath") = NSString;
overload externalInstanceMethod(static NSString, static #"stringsByAppendingPaths:") = NSArray, NSArray;
overload externalInstanceMethod(static NSString, static #"completePathIntoString:caseSensitive:matchesIntoArray:filterTypes:") = UInt, Pointer[NSString], Bool, Pointer[NSArray], NSArray;
overload externalInstanceMethod(static NSString, static #"fileSystemRepresentation") = Pointer[CChar];
overload externalInstanceMethod(static NSString, static #"getFileSystemRepresentation:maxLength:") = Bool, Pointer[CChar], UInt;
overload externalInstanceMethod(static NSString, static #"stringByAddingPercentEscapesUsingEncoding:") = NSString, UInt;
overload externalInstanceMethod(static NSString, static #"stringByReplacingPercentEscapesUsingEncoding:") = NSString, UInt;

record NSTextCheckingResult = externalClass(NSObject);
overload externalInstanceMethod(static NSTextCheckingResult, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSTextCheckingResult, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSTextCheckingResult, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSTextCheckingResult, static #"resultType") = UInt64;
overload externalInstanceMethod(static NSTextCheckingResult, static #"range") = NSRange;
overload externalInstanceMethod(static NSTextCheckingResult, static #"rangeAtIndex:") = NSRange, UInt;
overload externalInstanceMethod(static NSTextCheckingResult, static #"orthography") = NSOrthography;
overload externalInstanceMethod(static NSTextCheckingResult, static #"grammarDetails") = NSArray;
overload externalInstanceMethod(static NSTextCheckingResult, static #"date") = NSDate;
overload externalInstanceMethod(static NSTextCheckingResult, static #"timeZone") = NSTimeZone;
overload externalInstanceMethod(static NSTextCheckingResult, static #"duration") = Double;
overload externalInstanceMethod(static NSTextCheckingResult, static #"URL") = NSURL;
overload externalInstanceMethod(static NSTextCheckingResult, static #"replacementString") = NSString;
overload externalInstanceMethod(static NSTextCheckingResult, static #"components") = NSDictionary;
overload externalInstanceMethod(static NSTextCheckingResult, static #"regularExpression") = NSRegularExpression;
overload externalInstanceMethod(static NSTextCheckingResult, static #"phoneNumber") = NSString;
overload externalInstanceMethod(static NSTextCheckingResult, static #"addressComponents") = NSDictionary;
overload externalInstanceMethod(static NSTextCheckingResult, static #"numberOfRanges") = UInt;
overload externalClassMethod(static NSTextCheckingResult, static #"orthographyCheckingResultWithRange:orthography:") = NSTextCheckingResult, NSRange, NSOrthography;
overload externalClassMethod(static NSTextCheckingResult, static #"spellCheckingResultWithRange:") = NSTextCheckingResult, NSRange;
overload externalClassMethod(static NSTextCheckingResult, static #"grammarCheckingResultWithRange:details:") = NSTextCheckingResult, NSRange, NSArray;
overload externalClassMethod(static NSTextCheckingResult, static #"dateCheckingResultWithRange:date:") = NSTextCheckingResult, NSRange, NSDate;
overload externalClassMethod(static NSTextCheckingResult, static #"dateCheckingResultWithRange:date:timeZone:duration:") = NSTextCheckingResult, NSRange, NSDate, NSTimeZone, Double;
overload externalClassMethod(static NSTextCheckingResult, static #"addressCheckingResultWithRange:components:") = NSTextCheckingResult, NSRange, NSDictionary;
overload externalClassMethod(static NSTextCheckingResult, static #"linkCheckingResultWithRange:URL:") = NSTextCheckingResult, NSRange, NSURL;
overload externalClassMethod(static NSTextCheckingResult, static #"quoteCheckingResultWithRange:replacementString:") = NSTextCheckingResult, NSRange, NSString;
overload externalClassMethod(static NSTextCheckingResult, static #"dashCheckingResultWithRange:replacementString:") = NSTextCheckingResult, NSRange, NSString;
overload externalClassMethod(static NSTextCheckingResult, static #"replacementCheckingResultWithRange:replacementString:") = NSTextCheckingResult, NSRange, NSString;
overload externalClassMethod(static NSTextCheckingResult, static #"correctionCheckingResultWithRange:replacementString:") = NSTextCheckingResult, NSRange, NSString;
overload externalClassMethod(static NSTextCheckingResult, static #"regularExpressionCheckingResultWithRanges:count:regularExpression:") = NSTextCheckingResult, NSRangePointer, UInt, NSRegularExpression;
overload externalClassMethod(static NSTextCheckingResult, static #"phoneNumberCheckingResultWithRange:phoneNumber:") = NSTextCheckingResult, NSRange, NSString;
overload externalClassMethod(static NSTextCheckingResult, static #"transitInformationCheckingResultWithRange:components:") = NSTextCheckingResult, NSRange, NSDictionary;

record NSThread = externalClass(NSObject);
overload externalClassMethod(static NSThread, static #"currentThread") = NSThread;
overload externalClassMethod(static NSThread, static #"detachNewThreadSelector:toTarget:withObject:") = Void, SelectorHandle, Id, Id;
overload externalClassMethod(static NSThread, static #"isMultiThreaded") = Bool;
overload externalInstanceMethod(static NSThread, static #"threadDictionary") = NSMutableDictionary;
overload externalClassMethod(static NSThread, static #"sleepUntilDate:") = Void, NSDate;
overload externalClassMethod(static NSThread, static #"sleepForTimeInterval:") = Void, Double;
overload externalClassMethod(static NSThread, static #"exit") = Void;
overload externalClassMethod(static NSThread, static #"threadPriority") = Double;
overload externalClassMethod(static NSThread, static #"setThreadPriority:") = Bool, Double;
overload externalInstanceMethod(static NSThread, static #"threadPriority") = Double;
overload externalInstanceMethod(static NSThread, static #"setThreadPriority:") = Void, Double;
overload externalClassMethod(static NSThread, static #"callStackReturnAddresses") = NSArray;
overload externalClassMethod(static NSThread, static #"callStackSymbols") = NSArray;
overload externalInstanceMethod(static NSThread, static #"setName:") = Void, NSString;
overload externalInstanceMethod(static NSThread, static #"name") = NSString;
overload externalInstanceMethod(static NSThread, static #"stackSize") = UInt;
overload externalInstanceMethod(static NSThread, static #"setStackSize:") = Void, UInt;
overload externalInstanceMethod(static NSThread, static #"isMainThread") = Bool;
overload externalClassMethod(static NSThread, static #"isMainThread") = Bool;
overload externalClassMethod(static NSThread, static #"mainThread") = NSThread;
overload externalInstanceMethod(static NSThread, static #"init") = Id;
overload externalInstanceMethod(static NSThread, static #"initWithTarget:selector:object:") = Id, Id, SelectorHandle, Id;
overload externalInstanceMethod(static NSThread, static #"isExecuting") = Bool;
overload externalInstanceMethod(static NSThread, static #"isFinished") = Bool;
overload externalInstanceMethod(static NSThread, static #"isCancelled") = Bool;
overload externalInstanceMethod(static NSThread, static #"cancel") = Void;
overload externalInstanceMethod(static NSThread, static #"start") = Void;
overload externalInstanceMethod(static NSThread, static #"main") = Void;

record NSTimeZone = externalClass(NSObject);
overload externalInstanceMethod(static NSTimeZone, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSTimeZone, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSTimeZone, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSTimeZone, static #"name") = NSString;
overload externalInstanceMethod(static NSTimeZone, static #"data") = NSData;
overload externalInstanceMethod(static NSTimeZone, static #"secondsFromGMTForDate:") = Int, NSDate;
overload externalInstanceMethod(static NSTimeZone, static #"abbreviationForDate:") = NSString, NSDate;
overload externalInstanceMethod(static NSTimeZone, static #"isDaylightSavingTimeForDate:") = Bool, NSDate;
overload externalInstanceMethod(static NSTimeZone, static #"daylightSavingTimeOffsetForDate:") = Double, NSDate;
overload externalInstanceMethod(static NSTimeZone, static #"nextDaylightSavingTimeTransitionAfterDate:") = NSDate, NSDate;
overload externalClassMethod(static NSTimeZone, static #"systemTimeZone") = NSTimeZone;
overload externalClassMethod(static NSTimeZone, static #"resetSystemTimeZone") = Void;
overload externalClassMethod(static NSTimeZone, static #"defaultTimeZone") = NSTimeZone;
overload externalClassMethod(static NSTimeZone, static #"setDefaultTimeZone:") = Void, NSTimeZone;
overload externalClassMethod(static NSTimeZone, static #"localTimeZone") = NSTimeZone;
overload externalClassMethod(static NSTimeZone, static #"knownTimeZoneNames") = NSArray;
overload externalClassMethod(static NSTimeZone, static #"abbreviationDictionary") = NSDictionary;
overload externalClassMethod(static NSTimeZone, static #"setAbbreviationDictionary:") = Void, NSDictionary;
overload externalClassMethod(static NSTimeZone, static #"timeZoneDataVersion") = NSString;
overload externalInstanceMethod(static NSTimeZone, static #"secondsFromGMT") = Int;
overload externalInstanceMethod(static NSTimeZone, static #"abbreviation") = NSString;
overload externalInstanceMethod(static NSTimeZone, static #"isDaylightSavingTime") = Bool;
overload externalInstanceMethod(static NSTimeZone, static #"daylightSavingTimeOffset") = Double;
overload externalInstanceMethod(static NSTimeZone, static #"nextDaylightSavingTimeTransition") = NSDate;
overload externalInstanceMethod(static NSTimeZone, static #"description") = NSString;
overload externalInstanceMethod(static NSTimeZone, static #"isEqualToTimeZone:") = Bool, NSTimeZone;
overload externalInstanceMethod(static NSTimeZone, static #"localizedName:locale:") = NSString, Int, NSLocale;
overload externalClassMethod(static NSTimeZone, static #"timeZoneWithName:") = Id, NSString;
overload externalClassMethod(static NSTimeZone, static #"timeZoneWithName:data:") = Id, NSString, NSData;
overload externalInstanceMethod(static NSTimeZone, static #"initWithName:") = Id, NSString;
overload externalInstanceMethod(static NSTimeZone, static #"initWithName:data:") = Id, NSString, NSData;
overload externalClassMethod(static NSTimeZone, static #"timeZoneForSecondsFromGMT:") = Id, Int;
overload externalClassMethod(static NSTimeZone, static #"timeZoneWithAbbreviation:") = Id, NSString;

record NSTimer = externalClass(NSObject);
overload externalClassMethod(static NSTimer, static #"timerWithTimeInterval:invocation:repeats:") = NSTimer, Double, NSInvocation, Bool;
overload externalClassMethod(static NSTimer, static #"scheduledTimerWithTimeInterval:invocation:repeats:") = NSTimer, Double, NSInvocation, Bool;
overload externalClassMethod(static NSTimer, static #"timerWithTimeInterval:target:selector:userInfo:repeats:") = NSTimer, Double, Id, SelectorHandle, Id, Bool;
overload externalClassMethod(static NSTimer, static #"scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:") = NSTimer, Double, Id, SelectorHandle, Id, Bool;
overload externalInstanceMethod(static NSTimer, static #"initWithFireDate:interval:target:selector:userInfo:repeats:") = Id, NSDate, Double, Id, SelectorHandle, Id, Bool;
overload externalInstanceMethod(static NSTimer, static #"fire") = Void;
overload externalInstanceMethod(static NSTimer, static #"fireDate") = NSDate;
overload externalInstanceMethod(static NSTimer, static #"setFireDate:") = Void, NSDate;
overload externalInstanceMethod(static NSTimer, static #"timeInterval") = Double;
overload externalInstanceMethod(static NSTimer, static #"invalidate") = Void;
overload externalInstanceMethod(static NSTimer, static #"isValid") = Bool;
overload externalInstanceMethod(static NSTimer, static #"userInfo") = Id;

record NSURL = externalClass(NSObject);
overload externalInstanceMethod(static NSURL, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSURL, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSURL, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSURL, static #"initWithScheme:host:path:") = Id, NSString, NSString, NSString;
overload externalInstanceMethod(static NSURL, static #"initFileURLWithPath:isDirectory:") = Id, NSString, Bool;
overload externalInstanceMethod(static NSURL, static #"initFileURLWithPath:") = Id, NSString;
overload externalClassMethod(static NSURL, static #"fileURLWithPath:isDirectory:") = Id, NSString, Bool;
overload externalClassMethod(static NSURL, static #"fileURLWithPath:") = Id, NSString;
overload externalInstanceMethod(static NSURL, static #"initWithString:") = Id, NSString;
overload externalInstanceMethod(static NSURL, static #"initWithString:relativeToURL:") = Id, NSString, NSURL;
overload externalClassMethod(static NSURL, static #"URLWithString:") = Id, NSString;
overload externalClassMethod(static NSURL, static #"URLWithString:relativeToURL:") = Id, NSString, NSURL;
overload externalInstanceMethod(static NSURL, static #"absoluteString") = NSString;
overload externalInstanceMethod(static NSURL, static #"relativeString") = NSString;
overload externalInstanceMethod(static NSURL, static #"baseURL") = NSURL;
overload externalInstanceMethod(static NSURL, static #"absoluteURL") = NSURL;
overload externalInstanceMethod(static NSURL, static #"scheme") = NSString;
overload externalInstanceMethod(static NSURL, static #"resourceSpecifier") = NSString;
overload externalInstanceMethod(static NSURL, static #"host") = NSString;
overload externalInstanceMethod(static NSURL, static #"port") = NSNumber;
overload externalInstanceMethod(static NSURL, static #"user") = NSString;
overload externalInstanceMethod(static NSURL, static #"password") = NSString;
overload externalInstanceMethod(static NSURL, static #"path") = NSString;
overload externalInstanceMethod(static NSURL, static #"fragment") = NSString;
overload externalInstanceMethod(static NSURL, static #"parameterString") = NSString;
overload externalInstanceMethod(static NSURL, static #"query") = NSString;
overload externalInstanceMethod(static NSURL, static #"relativePath") = NSString;
overload externalInstanceMethod(static NSURL, static #"isFileURL") = Bool;
overload externalInstanceMethod(static NSURL, static #"standardizedURL") = NSURL;
overload externalInstanceMethod(static NSURL, static #"getResourceValue:forKey:error:") = Bool, Pointer[Id], NSString, Pointer[NSError];
overload externalInstanceMethod(static NSURL, static #"resourceValuesForKeys:error:") = NSDictionary, NSArray, Pointer[NSError];
overload externalInstanceMethod(static NSURL, static #"setResourceValue:forKey:error:") = Bool, Id, NSString, Pointer[NSError];
overload externalInstanceMethod(static NSURL, static #"setResourceValues:error:") = Bool, NSDictionary, Pointer[NSError];
overload externalInstanceMethod(static NSURL, static #"checkResourceIsReachableAndReturnError:") = Bool, Pointer[NSError];
overload externalInstanceMethod(static NSURL, static #"isFileReferenceURL") = Bool;
overload externalInstanceMethod(static NSURL, static #"fileReferenceURL") = NSURL;
overload externalInstanceMethod(static NSURL, static #"filePathURL") = NSURL;
overload externalInstanceMethod(static NSURL, static #"bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error:") = NSData, UInt, NSArray, NSURL, Pointer[NSError];
overload externalInstanceMethod(static NSURL, static #"initByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:") = Id, NSData, UInt, NSURL, Pointer[Bool], Pointer[NSError];
overload externalClassMethod(static NSURL, static #"URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:") = Id, NSData, UInt, NSURL, Pointer[Bool], Pointer[NSError];
overload externalClassMethod(static NSURL, static #"resourceValuesForKeys:fromBookmarkData:") = NSDictionary, NSArray, NSData;
overload externalClassMethod(static NSURL, static #"writeBookmarkData:toURL:options:error:") = Bool, NSData, NSURL, UInt, Pointer[NSError];
overload externalClassMethod(static NSURL, static #"bookmarkDataWithContentsOfURL:error:") = NSData, NSURL, Pointer[NSError];
overload externalClassMethod(static NSURL, static #"fileURLWithPathComponents:") = NSURL, NSArray;
overload externalInstanceMethod(static NSURL, static #"pathComponents") = NSArray;
overload externalInstanceMethod(static NSURL, static #"lastPathComponent") = NSString;
overload externalInstanceMethod(static NSURL, static #"pathExtension") = NSString;
overload externalInstanceMethod(static NSURL, static #"URLByAppendingPathComponent:") = NSURL, NSString;
overload externalInstanceMethod(static NSURL, static #"URLByDeletingLastPathComponent") = NSURL;
overload externalInstanceMethod(static NSURL, static #"URLByAppendingPathExtension:") = NSURL, NSString;
overload externalInstanceMethod(static NSURL, static #"URLByDeletingPathExtension") = NSURL;
overload externalInstanceMethod(static NSURL, static #"URLByStandardizingPath") = NSURL;
overload externalInstanceMethod(static NSURL, static #"URLByResolvingSymlinksInPath") = NSURL;

record NSURLAuthenticationChallenge = externalClass(NSObject);
overload externalInstanceMethod(static NSURLAuthenticationChallenge, static #"initWithProtectionSpace:proposedCredential:previousFailureCount:failureResponse:error:sender:") = Id, NSURLProtectionSpace, NSURLCredential, Int, NSURLResponse, NSError, Id;
overload externalInstanceMethod(static NSURLAuthenticationChallenge, static #"initWithAuthenticationChallenge:sender:") = Id, NSURLAuthenticationChallenge, Id;
overload externalInstanceMethod(static NSURLAuthenticationChallenge, static #"protectionSpace") = NSURLProtectionSpace;
overload externalInstanceMethod(static NSURLAuthenticationChallenge, static #"proposedCredential") = NSURLCredential;
overload externalInstanceMethod(static NSURLAuthenticationChallenge, static #"previousFailureCount") = Int;
overload externalInstanceMethod(static NSURLAuthenticationChallenge, static #"failureResponse") = NSURLResponse;
overload externalInstanceMethod(static NSURLAuthenticationChallenge, static #"error") = NSError;
overload externalInstanceMethod(static NSURLAuthenticationChallenge, static #"sender") = Id;

record NSURLCache = externalClass(NSObject);
overload externalClassMethod(static NSURLCache, static #"sharedURLCache") = NSURLCache;
overload externalClassMethod(static NSURLCache, static #"setSharedURLCache:") = Void, NSURLCache;
overload externalInstanceMethod(static NSURLCache, static #"initWithMemoryCapacity:diskCapacity:diskPath:") = Id, UInt, UInt, NSString;
overload externalInstanceMethod(static NSURLCache, static #"cachedResponseForRequest:") = NSCachedURLResponse, NSURLRequest;
overload externalInstanceMethod(static NSURLCache, static #"storeCachedResponse:forRequest:") = Void, NSCachedURLResponse, NSURLRequest;
overload externalInstanceMethod(static NSURLCache, static #"removeCachedResponseForRequest:") = Void, NSURLRequest;
overload externalInstanceMethod(static NSURLCache, static #"removeAllCachedResponses") = Void;
overload externalInstanceMethod(static NSURLCache, static #"memoryCapacity") = UInt;
overload externalInstanceMethod(static NSURLCache, static #"diskCapacity") = UInt;
overload externalInstanceMethod(static NSURLCache, static #"setMemoryCapacity:") = Void, UInt;
overload externalInstanceMethod(static NSURLCache, static #"setDiskCapacity:") = Void, UInt;
overload externalInstanceMethod(static NSURLCache, static #"currentMemoryUsage") = UInt;
overload externalInstanceMethod(static NSURLCache, static #"currentDiskUsage") = UInt;

record NSURLConnection = externalClass(NSObject);
overload externalClassMethod(static NSURLConnection, static #"canHandleRequest:") = Bool, NSURLRequest;
overload externalClassMethod(static NSURLConnection, static #"connectionWithRequest:delegate:") = NSURLConnection, NSURLRequest, Id;
overload externalInstanceMethod(static NSURLConnection, static #"initWithRequest:delegate:") = Id, NSURLRequest, Id;
overload externalInstanceMethod(static NSURLConnection, static #"initWithRequest:delegate:startImmediately:") = Id, NSURLRequest, Id, Bool;
overload externalInstanceMethod(static NSURLConnection, static #"start") = Void;
overload externalInstanceMethod(static NSURLConnection, static #"cancel") = Void;
overload externalInstanceMethod(static NSURLConnection, static #"scheduleInRunLoop:forMode:") = Void, NSRunLoop, NSString;
overload externalInstanceMethod(static NSURLConnection, static #"unscheduleFromRunLoop:forMode:") = Void, NSRunLoop, NSString;
overload externalClassMethod(static NSURLConnection, static #"sendSynchronousRequest:returningResponse:error:") = NSData, NSURLRequest, Pointer[NSURLResponse], Pointer[NSError];

record NSURLCredential = externalClass(NSObject);
overload externalInstanceMethod(static NSURLCredential, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSURLCredential, static #"persistence") = UInt;
overload externalInstanceMethod(static NSURLCredential, static #"initWithUser:password:persistence:") = Id, NSString, NSString, UInt;
overload externalClassMethod(static NSURLCredential, static #"credentialWithUser:password:persistence:") = NSURLCredential, NSString, NSString, UInt;
overload externalInstanceMethod(static NSURLCredential, static #"user") = NSString;
overload externalInstanceMethod(static NSURLCredential, static #"password") = NSString;
overload externalInstanceMethod(static NSURLCredential, static #"hasPassword") = Bool;
overload externalInstanceMethod(static NSURLCredential, static #"initWithIdentity:certificates:persistence:") = Id, SecIdentityRef, NSArray, UInt;
overload externalClassMethod(static NSURLCredential, static #"credentialWithIdentity:certificates:persistence:") = NSURLCredential, SecIdentityRef, NSArray, UInt;
overload externalInstanceMethod(static NSURLCredential, static #"identity") = SecIdentityRef;
overload externalInstanceMethod(static NSURLCredential, static #"certificates") = NSArray;
overload externalInstanceMethod(static NSURLCredential, static #"initWithTrust:") = Id, SecTrustRef;
overload externalClassMethod(static NSURLCredential, static #"credentialForTrust:") = NSURLCredential, SecTrustRef;

record NSURLCredentialStorage = externalClass(NSObject);
overload externalClassMethod(static NSURLCredentialStorage, static #"sharedCredentialStorage") = NSURLCredentialStorage;
overload externalInstanceMethod(static NSURLCredentialStorage, static #"credentialsForProtectionSpace:") = NSDictionary, NSURLProtectionSpace;
overload externalInstanceMethod(static NSURLCredentialStorage, static #"allCredentials") = NSDictionary;
overload externalInstanceMethod(static NSURLCredentialStorage, static #"setCredential:forProtectionSpace:") = Void, NSURLCredential, NSURLProtectionSpace;
overload externalInstanceMethod(static NSURLCredentialStorage, static #"removeCredential:forProtectionSpace:") = Void, NSURLCredential, NSURLProtectionSpace;
overload externalInstanceMethod(static NSURLCredentialStorage, static #"defaultCredentialForProtectionSpace:") = NSURLCredential, NSURLProtectionSpace;
overload externalInstanceMethod(static NSURLCredentialStorage, static #"setDefaultCredential:forProtectionSpace:") = Void, NSURLCredential, NSURLProtectionSpace;

record NSURLProtectionSpace = externalClass(NSObject);
overload externalInstanceMethod(static NSURLProtectionSpace, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSURLProtectionSpace, static #"initWithHost:port:protocol:realm:authenticationMethod:") = Id, NSString, Int, NSString, NSString, NSString;
overload externalInstanceMethod(static NSURLProtectionSpace, static #"initWithProxyHost:port:type:realm:authenticationMethod:") = Id, NSString, Int, NSString, NSString, NSString;
overload externalInstanceMethod(static NSURLProtectionSpace, static #"realm") = NSString;
overload externalInstanceMethod(static NSURLProtectionSpace, static #"receivesCredentialSecurely") = Bool;
overload externalInstanceMethod(static NSURLProtectionSpace, static #"isProxy") = Bool;
overload externalInstanceMethod(static NSURLProtectionSpace, static #"host") = NSString;
overload externalInstanceMethod(static NSURLProtectionSpace, static #"port") = Int;
overload externalInstanceMethod(static NSURLProtectionSpace, static #"proxyType") = NSString;
overload externalInstanceMethod(static NSURLProtectionSpace, static #"protocol") = NSString;
overload externalInstanceMethod(static NSURLProtectionSpace, static #"authenticationMethod") = NSString;
overload externalInstanceMethod(static NSURLProtectionSpace, static #"distinguishedNames") = NSArray;
overload externalInstanceMethod(static NSURLProtectionSpace, static #"serverTrust") = SecTrustRef;

record NSURLProtocol = externalClass(NSObject);
overload externalInstanceMethod(static NSURLProtocol, static #"initWithRequest:cachedResponse:client:") = Id, NSURLRequest, NSCachedURLResponse, Id;
overload externalInstanceMethod(static NSURLProtocol, static #"client") = Id;
overload externalInstanceMethod(static NSURLProtocol, static #"request") = NSURLRequest;
overload externalInstanceMethod(static NSURLProtocol, static #"cachedResponse") = NSCachedURLResponse;
overload externalClassMethod(static NSURLProtocol, static #"canInitWithRequest:") = Bool, NSURLRequest;
overload externalClassMethod(static NSURLProtocol, static #"canonicalRequestForRequest:") = NSURLRequest, NSURLRequest;
overload externalClassMethod(static NSURLProtocol, static #"requestIsCacheEquivalent:toRequest:") = Bool, NSURLRequest, NSURLRequest;
overload externalInstanceMethod(static NSURLProtocol, static #"startLoading") = Void;
overload externalInstanceMethod(static NSURLProtocol, static #"stopLoading") = Void;
overload externalClassMethod(static NSURLProtocol, static #"propertyForKey:inRequest:") = Id, NSString, NSURLRequest;
overload externalClassMethod(static NSURLProtocol, static #"setProperty:forKey:inRequest:") = Void, Id, NSString, NSMutableURLRequest;
overload externalClassMethod(static NSURLProtocol, static #"removePropertyForKey:inRequest:") = Void, NSString, NSMutableURLRequest;
overload externalClassMethod(static NSURLProtocol, static #"registerClass:") = Bool, Id;
overload externalClassMethod(static NSURLProtocol, static #"unregisterClass:") = Void, Id;

record NSURLRequest = externalClass(NSObject);
overload externalInstanceMethod(static NSURLRequest, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSURLRequest, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSURLRequest, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSURLRequest, static #"mutableCopyWithZone:") = Id, Pointer[NSZone];
overload externalClassMethod(static NSURLRequest, static #"requestWithURL:") = Id, NSURL;
overload externalClassMethod(static NSURLRequest, static #"requestWithURL:cachePolicy:timeoutInterval:") = Id, NSURL, UInt, Double;
overload externalInstanceMethod(static NSURLRequest, static #"initWithURL:") = Id, NSURL;
overload externalInstanceMethod(static NSURLRequest, static #"initWithURL:cachePolicy:timeoutInterval:") = Id, NSURL, UInt, Double;
overload externalInstanceMethod(static NSURLRequest, static #"URL") = NSURL;
overload externalInstanceMethod(static NSURLRequest, static #"cachePolicy") = UInt;
overload externalInstanceMethod(static NSURLRequest, static #"timeoutInterval") = Double;
overload externalInstanceMethod(static NSURLRequest, static #"mainDocumentURL") = NSURL;
overload externalInstanceMethod(static NSURLRequest, static #"networkServiceType") = UInt;
overload externalInstanceMethod(static NSURLRequest, static #"HTTPMethod") = NSString;
overload externalInstanceMethod(static NSURLRequest, static #"allHTTPHeaderFields") = NSDictionary;
overload externalInstanceMethod(static NSURLRequest, static #"valueForHTTPHeaderField:") = NSString, NSString;
overload externalInstanceMethod(static NSURLRequest, static #"HTTPBody") = NSData;
overload externalInstanceMethod(static NSURLRequest, static #"HTTPBodyStream") = NSInputStream;
overload externalInstanceMethod(static NSURLRequest, static #"HTTPShouldHandleCookies") = Bool;
overload externalInstanceMethod(static NSURLRequest, static #"HTTPShouldUsePipelining") = Bool;

record NSURLResponse = externalClass(NSObject);
overload externalInstanceMethod(static NSURLResponse, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSURLResponse, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSURLResponse, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSURLResponse, static #"initWithURL:MIMEType:expectedContentLength:textEncodingName:") = Id, NSURL, NSString, Int, NSString;
overload externalInstanceMethod(static NSURLResponse, static #"URL") = NSURL;
overload externalInstanceMethod(static NSURLResponse, static #"MIMEType") = NSString;
overload externalInstanceMethod(static NSURLResponse, static #"expectedContentLength") = Int64;
overload externalInstanceMethod(static NSURLResponse, static #"textEncodingName") = NSString;
overload externalInstanceMethod(static NSURLResponse, static #"suggestedFilename") = NSString;

record NSUndoManager = externalClass(NSObject);
overload externalInstanceMethod(static NSUndoManager, static #"beginUndoGrouping") = Void;
overload externalInstanceMethod(static NSUndoManager, static #"endUndoGrouping") = Void;
overload externalInstanceMethod(static NSUndoManager, static #"groupingLevel") = Int;
overload externalInstanceMethod(static NSUndoManager, static #"disableUndoRegistration") = Void;
overload externalInstanceMethod(static NSUndoManager, static #"enableUndoRegistration") = Void;
overload externalInstanceMethod(static NSUndoManager, static #"isUndoRegistrationEnabled") = Bool;
overload externalInstanceMethod(static NSUndoManager, static #"groupsByEvent") = Bool;
overload externalInstanceMethod(static NSUndoManager, static #"setGroupsByEvent:") = Void, Bool;
overload externalInstanceMethod(static NSUndoManager, static #"setLevelsOfUndo:") = Void, UInt;
overload externalInstanceMethod(static NSUndoManager, static #"levelsOfUndo") = UInt;
overload externalInstanceMethod(static NSUndoManager, static #"setRunLoopModes:") = Void, NSArray;
overload externalInstanceMethod(static NSUndoManager, static #"runLoopModes") = NSArray;
overload externalInstanceMethod(static NSUndoManager, static #"undo") = Void;
overload externalInstanceMethod(static NSUndoManager, static #"redo") = Void;
overload externalInstanceMethod(static NSUndoManager, static #"undoNestedGroup") = Void;
overload externalInstanceMethod(static NSUndoManager, static #"canUndo") = Bool;
overload externalInstanceMethod(static NSUndoManager, static #"canRedo") = Bool;
overload externalInstanceMethod(static NSUndoManager, static #"isUndoing") = Bool;
overload externalInstanceMethod(static NSUndoManager, static #"isRedoing") = Bool;
overload externalInstanceMethod(static NSUndoManager, static #"removeAllActions") = Void;
overload externalInstanceMethod(static NSUndoManager, static #"removeAllActionsWithTarget:") = Void, Id;
overload externalInstanceMethod(static NSUndoManager, static #"registerUndoWithTarget:selector:object:") = Void, Id, SelectorHandle, Id;
overload externalInstanceMethod(static NSUndoManager, static #"prepareWithInvocationTarget:") = Id, Id;
overload externalInstanceMethod(static NSUndoManager, static #"undoActionName") = NSString;
overload externalInstanceMethod(static NSUndoManager, static #"redoActionName") = NSString;
overload externalInstanceMethod(static NSUndoManager, static #"setActionName:") = Void, NSString;
overload externalInstanceMethod(static NSUndoManager, static #"undoMenuItemTitle") = NSString;
overload externalInstanceMethod(static NSUndoManager, static #"redoMenuItemTitle") = NSString;
overload externalInstanceMethod(static NSUndoManager, static #"undoMenuTitleForUndoActionName:") = NSString, NSString;
overload externalInstanceMethod(static NSUndoManager, static #"redoMenuTitleForUndoActionName:") = NSString, NSString;

record NSUserDefaults = externalClass(NSObject);
overload externalClassMethod(static NSUserDefaults, static #"standardUserDefaults") = NSUserDefaults;
overload externalClassMethod(static NSUserDefaults, static #"resetStandardUserDefaults") = Void;
overload externalInstanceMethod(static NSUserDefaults, static #"init") = Id;
overload externalInstanceMethod(static NSUserDefaults, static #"initWithUser:") = Id, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"objectForKey:") = Id, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"setObject:forKey:") = Void, Id, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"removeObjectForKey:") = Void, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"stringForKey:") = NSString, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"arrayForKey:") = NSArray, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"dictionaryForKey:") = NSDictionary, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"dataForKey:") = NSData, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"stringArrayForKey:") = NSArray, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"integerForKey:") = Int, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"floatForKey:") = Float, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"doubleForKey:") = Double, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"boolForKey:") = Bool, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"URLForKey:") = NSURL, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"setInteger:forKey:") = Void, Int, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"setFloat:forKey:") = Void, Float, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"setDouble:forKey:") = Void, Double, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"setBool:forKey:") = Void, Bool, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"setURL:forKey:") = Void, NSURL, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"registerDefaults:") = Void, NSDictionary;
overload externalInstanceMethod(static NSUserDefaults, static #"addSuiteNamed:") = Void, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"removeSuiteNamed:") = Void, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"dictionaryRepresentation") = NSDictionary;
overload externalInstanceMethod(static NSUserDefaults, static #"volatileDomainNames") = NSArray;
overload externalInstanceMethod(static NSUserDefaults, static #"volatileDomainForName:") = NSDictionary, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"setVolatileDomain:forName:") = Void, NSDictionary, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"removeVolatileDomainForName:") = Void, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"persistentDomainNames") = NSArray;
overload externalInstanceMethod(static NSUserDefaults, static #"persistentDomainForName:") = NSDictionary, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"setPersistentDomain:forName:") = Void, NSDictionary, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"removePersistentDomainForName:") = Void, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"synchronize") = Bool;
overload externalInstanceMethod(static NSUserDefaults, static #"objectIsForcedForKey:") = Bool, NSString;
overload externalInstanceMethod(static NSUserDefaults, static #"objectIsForcedForKey:inDomain:") = Bool, NSString, NSString;

record NSValue = externalClass(NSObject);
overload externalInstanceMethod(static NSValue, static #"copyWithZone:") = Id, Pointer[NSZone];
overload externalInstanceMethod(static NSValue, static #"encodeWithCoder:") = Void, NSCoder;
overload externalInstanceMethod(static NSValue, static #"initWithCoder:") = Id, NSCoder;
overload externalInstanceMethod(static NSValue, static #"getValue:") = Void, RawPointer;
overload externalInstanceMethod(static NSValue, static #"objCType") = Pointer[CChar];
overload externalInstanceMethod(static NSValue, static #"initWithBytes:objCType:") = Id, RawPointer, Pointer[CChar];
overload externalClassMethod(static NSValue, static #"valueWithBytes:objCType:") = NSValue, RawPointer, Pointer[CChar];
overload externalClassMethod(static NSValue, static #"value:withObjCType:") = NSValue, RawPointer, Pointer[CChar];
overload externalClassMethod(static NSValue, static #"valueWithNonretainedObject:") = NSValue, Id;
overload externalInstanceMethod(static NSValue, static #"nonretainedObjectValue") = Id;
overload externalClassMethod(static NSValue, static #"valueWithPointer:") = NSValue, RawPointer;
overload externalInstanceMethod(static NSValue, static #"pointerValue") = RawPointer;
overload externalInstanceMethod(static NSValue, static #"isEqualToValue:") = Bool, NSValue;
overload externalClassMethod(static NSValue, static #"valueWithRange:") = NSValue, NSRange;
overload externalInstanceMethod(static NSValue, static #"rangeValue") = NSRange;

record NSValueTransformer = externalClass(NSObject);
overload externalClassMethod(static NSValueTransformer, static #"setValueTransformer:forName:") = Void, NSValueTransformer, NSString;
overload externalClassMethod(static NSValueTransformer, static #"valueTransformerForName:") = NSValueTransformer, NSString;
overload externalClassMethod(static NSValueTransformer, static #"valueTransformerNames") = NSArray;
overload externalClassMethod(static NSValueTransformer, static #"transformedValueClass") = Id;
overload externalClassMethod(static NSValueTransformer, static #"allowsReverseTransformation") = Bool;
overload externalInstanceMethod(static NSValueTransformer, static #"transformedValue:") = Id, Id;
overload externalInstanceMethod(static NSValueTransformer, static #"reverseTransformedValue:") = Id, Id;

record NSXMLParser = externalClass(NSObject);
overload externalInstanceMethod(static NSXMLParser, static #"initWithContentsOfURL:") = Id, NSURL;
overload externalInstanceMethod(static NSXMLParser, static #"initWithData:") = Id, NSData;
overload externalInstanceMethod(static NSXMLParser, static #"delegate") = Id;
overload externalInstanceMethod(static NSXMLParser, static #"setDelegate:") = Void, Id;
overload externalInstanceMethod(static NSXMLParser, static #"setShouldProcessNamespaces:") = Void, Bool;
overload externalInstanceMethod(static NSXMLParser, static #"setShouldReportNamespacePrefixes:") = Void, Bool;
overload externalInstanceMethod(static NSXMLParser, static #"setShouldResolveExternalEntities:") = Void, Bool;
overload externalInstanceMethod(static NSXMLParser, static #"shouldProcessNamespaces") = Bool;
overload externalInstanceMethod(static NSXMLParser, static #"shouldReportNamespacePrefixes") = Bool;
overload externalInstanceMethod(static NSXMLParser, static #"shouldResolveExternalEntities") = Bool;
overload externalInstanceMethod(static NSXMLParser, static #"parse") = Bool;
overload externalInstanceMethod(static NSXMLParser, static #"abortParsing") = Void;
overload externalInstanceMethod(static NSXMLParser, static #"parserError") = NSError;
overload externalInstanceMethod(static NSXMLParser, static #"publicID") = NSString;
overload externalInstanceMethod(static NSXMLParser, static #"systemID") = NSString;
overload externalInstanceMethod(static NSXMLParser, static #"lineNumber") = Int;
overload externalInstanceMethod(static NSXMLParser, static #"columnNumber") = Int;


external NSFoundationVersionNumber : Double;

alias NSInteger = Int;

alias NSUInteger = UInt;

external NSStringFromSelector(
    aSelector : SelectorHandle) : NSString;

external NSSelectorFromString(
    aSelectorName : NSString) : SelectorHandle;

external NSStringFromClass(
    aClass : Id) : NSString;

external NSClassFromString(
    aClassName : NSString) : Id;

external NSStringFromProtocol(
    proto : Id) : NSString;

external NSProtocolFromString(
    namestr : NSString) : Id;

external NSGetSizeAndAlignment(
    typePtr : Pointer[CChar],
    sizep : Pointer[UInt],
    alignp : Pointer[UInt]) : Pointer[CChar];

external NSLog(
    format : NSString,
    ..);

external NSLogv(
    format : NSString,
    args : va_list);

alias NSOrderedAscending = 4294967295;
alias NSOrderedSame = 0;
alias NSOrderedDescending = 1;

alias NSComparisonResult = Int;

alias NSComparator = UnknownType;

alias NSEnumerationConcurrent = 1;
alias NSEnumerationReverse = 2;

alias NSEnumerationOptions = UInt;

alias NSSortConcurrent = 1;
alias NSSortStable = 16;

alias NSSortOptions = UInt;

alias NSNotFound = 2147483647;

alias NSZone = Opaque;

external NSDefaultMallocZone() : Pointer[NSZone];

external NSCreateZone(
    startSize : UInt,
    granularity : UInt,
    canFree : Bool) : Pointer[NSZone];

external NSRecycleZone(
    zone : Pointer[NSZone]);

external NSSetZoneName(
    zone : Pointer[NSZone],
    name : NSString);

external NSZoneName(
    zone : Pointer[NSZone]) : NSString;

external NSZoneFromPointer(
    ptr : RawPointer) : Pointer[NSZone];

external NSZoneMalloc(
    zone : Pointer[NSZone],
    size : UInt) : RawPointer;

external NSZoneCalloc(
    zone : Pointer[NSZone],
    numElems : UInt,
    byteSize : UInt) : RawPointer;

external NSZoneRealloc(
    zone : Pointer[NSZone],
    ptr : RawPointer,
    size : UInt) : RawPointer;

external NSZoneFree(
    zone : Pointer[NSZone],
    ptr : RawPointer);

external NSPageSize() : UInt;

external NSLogPageSize() : UInt;

external NSRoundUpToMultipleOfPageSize(
    bytes : UInt) : UInt;

external NSRoundDownToMultipleOfPageSize(
    bytes : UInt) : UInt;

external NSAllocateMemoryPages(
    bytes : UInt) : RawPointer;

external NSDeallocateMemoryPages(
    ptr : RawPointer,
    bytes : UInt);

external NSCopyMemoryPages(
    source : RawPointer,
    dest : RawPointer,
    bytes : UInt);

external NSRealMemoryAvailable() : UInt;

external NSAllocateObject(
    aClass : Id,
    extraBytes : UInt,
    zone : Pointer[NSZone]) : Id;

external NSDeallocateObject(
    object : Id);

external NSCopyObject(
    object : Id,
    extraBytes : UInt,
    zone : Pointer[NSZone]) : Id;

external NSShouldRetainWithZone(
    anObject : Id,
    requestedZone : Pointer[NSZone]) : Bool;

external NSIncrementExtraRefCount(
    object : Id);

external NSDecrementExtraRefCountWasZero(
    object : Id) : Bool;

external NSExtraRefCount(
    object : Id) : UInt;

record UnnamedStruct58 (
    state : CULong,
    itemsPtr : Pointer[Id],
    mutationsPtr : Pointer[CULong],
    extra : Array[CULong,5],
);

alias NSFastEnumerationState = UnnamedStruct58;

record Struct__NSRange (
    location : UInt,
    length : UInt,
);

alias NSRange = Struct__NSRange;

alias NSRangePointer = Pointer[NSRange];

external NSUnionRange(
    range1 : NSRange,
    range2 : NSRange) : NSRange;

external NSIntersectionRange(
    range1 : NSRange,
    range2 : NSRange) : NSRange;

external NSStringFromRange(
    range : NSRange) : NSString;

external NSRangeFromString(
    aString : NSString) : NSRange;

external NSBundleDidLoadNotification : NSString;

external NSLoadedClasses : NSString;

alias NS_UnknownByteOrder = 0;
alias NS_LittleEndian = 1;
alias NS_BigEndian = 2;

record UnnamedStruct59 (
    v : UInt,
);

alias NSSwappedFloat = UnnamedStruct59;

record UnnamedStruct60 (
    v : UInt64,
);

alias NSSwappedDouble = UnnamedStruct60;

external NSSystemClockDidChangeNotification : NSString;

alias NSTimeInterval = Double;

alias NSEraCalendarUnit = 2;
alias NSYearCalendarUnit = 4;
alias NSMonthCalendarUnit = 8;
alias NSDayCalendarUnit = 16;
alias NSHourCalendarUnit = 32;
alias NSMinuteCalendarUnit = 64;
alias NSSecondCalendarUnit = 128;
alias NSWeekCalendarUnit = 256;
alias NSWeekdayCalendarUnit = 512;
alias NSWeekdayOrdinalCalendarUnit = 1024;
alias NSQuarterCalendarUnit = 2048;
alias NSCalendarCalendarUnit = 1048576;
alias NSTimeZoneCalendarUnit = 2097152;

alias NSCalendarUnit = UInt;

alias NSWrapCalendarComponents = 1;

alias NSUndefinedDateComponent = 2147483647;

alias unichar = UShort;

external NSParseErrorException : NSString;

alias NSCaseInsensitiveSearch = 1;
alias NSLiteralSearch = 2;
alias NSBackwardsSearch = 4;
alias NSAnchoredSearch = 8;
alias NSNumericSearch = 64;
alias NSDiacriticInsensitiveSearch = 128;
alias NSWidthInsensitiveSearch = 256;
alias NSForcedOrderingSearch = 512;
alias NSRegularExpressionSearch = 1024;

alias NSStringCompareOptions = UInt;

alias NSASCIIStringEncoding = 1;
alias NSNEXTSTEPStringEncoding = 2;
alias NSJapaneseEUCStringEncoding = 3;
alias NSUTF8StringEncoding = 4;
alias NSISOLatin1StringEncoding = 5;
alias NSSymbolStringEncoding = 6;
alias NSNonLossyASCIIStringEncoding = 7;
alias NSShiftJISStringEncoding = 8;
alias NSISOLatin2StringEncoding = 9;
alias NSUnicodeStringEncoding = 10;
alias NSWindowsCP1251StringEncoding = 11;
alias NSWindowsCP1252StringEncoding = 12;
alias NSWindowsCP1253StringEncoding = 13;
alias NSWindowsCP1254StringEncoding = 14;
alias NSWindowsCP1250StringEncoding = 15;
alias NSISO2022JPStringEncoding = 21;
alias NSMacOSRomanStringEncoding = 30;
alias NSUTF16StringEncoding = 10;
alias NSUTF16BigEndianStringEncoding = 2415919360;
alias NSUTF16LittleEndianStringEncoding = 2483028224;
alias NSUTF32StringEncoding = 2348810496;
alias NSUTF32BigEndianStringEncoding = 2550137088;
alias NSUTF32LittleEndianStringEncoding = 2617245952;

alias NSStringEncoding = UInt;

alias NSStringEncodingConversionAllowLossy = 1;
alias NSStringEncodingConversionExternalRepresentation = 2;

alias NSStringEncodingConversionOptions = UInt;

external NSCharacterConversionException : NSString;

external _NSConstantStringClassReference : RawPointer;

alias NSOpenStepUnicodeReservedBase = 62464;

alias NSDataReadingMapped = 1;
alias NSDataReadingUncached = 2;

alias NSDataReadingOptions = UInt;

alias NSDataWritingAtomic = 1;
alias NSDataWritingFileProtectionNone = 268435456;
alias NSDataWritingFileProtectionComplete = 536870912;
alias NSDataWritingFileProtectionMask = 4026531840;

alias NSDataWritingOptions = UInt;

alias NSMappedRead = 1;
alias NSUncachedRead = 2;

alias NSAtomicWrite = 1;

alias NSDataSearchBackwards = 1;
alias NSDataSearchAnchored = 2;

alias NSDataSearchOptions = UInt;

alias NSRoundPlain = 0;
alias NSRoundDown = 1;
alias NSRoundUp = 2;
alias NSRoundBankers = 3;

alias NSRoundingMode = UInt;

alias NSCalculationNoError = 0;
alias NSCalculationLossOfPrecision = 1;
alias NSCalculationUnderflow = 2;
alias NSCalculationOverflow = 3;
alias NSCalculationDivideByZero = 4;

alias NSCalculationError = UInt;

record UnnamedStruct61 (
    _exponent : Int,
    _length : UInt,
    _isNegative : UInt,
    _isCompact : UInt,
    _reserved : UInt,
    _mantissa : Array[UShort,8],
);

alias NSDecimal = UnnamedStruct61;

external NSDecimalCopy(
    destination : Pointer[NSDecimal],
    source : Pointer[NSDecimal]);

external NSDecimalCompact(
    number : Pointer[NSDecimal]);

external NSDecimalCompare(
    leftOperand : Pointer[NSDecimal],
    rightOperand : Pointer[NSDecimal]) : Int;

external NSDecimalRound(
    result : Pointer[NSDecimal],
    number : Pointer[NSDecimal],
    scale : Int,
    roundingMode : UInt);

external NSDecimalNormalize(
    number1 : Pointer[NSDecimal],
    number2 : Pointer[NSDecimal],
    roundingMode : UInt) : UInt;

external NSDecimalAdd(
    result : Pointer[NSDecimal],
    leftOperand : Pointer[NSDecimal],
    rightOperand : Pointer[NSDecimal],
    roundingMode : UInt) : UInt;

external NSDecimalSubtract(
    result : Pointer[NSDecimal],
    leftOperand : Pointer[NSDecimal],
    rightOperand : Pointer[NSDecimal],
    roundingMode : UInt) : UInt;

external NSDecimalMultiply(
    result : Pointer[NSDecimal],
    leftOperand : Pointer[NSDecimal],
    rightOperand : Pointer[NSDecimal],
    roundingMode : UInt) : UInt;

external NSDecimalDivide(
    result : Pointer[NSDecimal],
    leftOperand : Pointer[NSDecimal],
    rightOperand : Pointer[NSDecimal],
    roundingMode : UInt) : UInt;

external NSDecimalPower(
    result : Pointer[NSDecimal],
    number : Pointer[NSDecimal],
    power : UInt,
    roundingMode : UInt) : UInt;

external NSDecimalMultiplyByPowerOf10(
    result : Pointer[NSDecimal],
    number : Pointer[NSDecimal],
    power : Short,
    roundingMode : UInt) : UInt;

external NSDecimalString(
    dcm : Pointer[NSDecimal],
    locale : Id) : NSString;

external NSDecimalNumberExactnessException : NSString;

external NSDecimalNumberOverflowException : NSString;

external NSDecimalNumberUnderflowException : NSString;

external NSDecimalNumberDivideByZeroException : NSString;

external NSCocoaErrorDomain : NSString;

external NSPOSIXErrorDomain : NSString;

external NSOSStatusErrorDomain : NSString;

external NSMachErrorDomain : NSString;

external NSUnderlyingErrorKey : NSString;

external NSLocalizedDescriptionKey : NSString;

external NSLocalizedFailureReasonErrorKey : NSString;

external NSLocalizedRecoverySuggestionErrorKey : NSString;

external NSLocalizedRecoveryOptionsErrorKey : NSString;

external NSRecoveryAttempterErrorKey : NSString;

external NSHelpAnchorErrorKey : NSString;

external NSStringEncodingErrorKey : NSString;

external NSURLErrorKey : NSString;

external NSFilePathErrorKey : NSString;

external NSGenericException : NSString;

external NSRangeException : NSString;

external NSInvalidArgumentException : NSString;

external NSInternalInconsistencyException : NSString;

external NSMallocException : NSString;

external NSObjectInaccessibleException : NSString;

external NSObjectNotAvailableException : NSString;

external NSDestinationInvalidException : NSString;

external NSPortTimeoutException : NSString;

external NSInvalidSendPortException : NSString;

external NSInvalidReceivePortException : NSString;

external NSPortSendException : NSString;

external NSPortReceiveException : NSString;

external NSOldStyleException : NSString;

external NSGetUncaughtExceptionHandler() : CCodePointer[[NSException],[]];

external NSSetUncaughtExceptionHandler(
    argument0 : CCodePointer[[NSException],[]]);

external NSAssertionHandlerKey : NSString;

external NSFileHandleOperationException : NSString;

external NSFileHandleReadCompletionNotification : NSString;

external NSFileHandleReadToEndOfFileCompletionNotification : NSString;

external NSFileHandleConnectionAcceptedNotification : NSString;

external NSFileHandleDataAvailableNotification : NSString;

external NSFileHandleNotificationDataItem : NSString;

external NSFileHandleNotificationFileHandleItem : NSString;

external NSFileHandleNotificationMonitorModes : NSString;

external NSUserName() : NSString;

external NSFullUserName() : NSString;

external NSHomeDirectory() : NSString;

external NSHomeDirectoryForUser(
    userName : NSString) : NSString;

external NSTemporaryDirectory() : NSString;

external NSOpenStepRootDirectory() : NSString;

alias NSApplicationDirectory = 1;
alias NSDemoApplicationDirectory = 2;
alias NSDeveloperApplicationDirectory = 3;
alias NSAdminApplicationDirectory = 4;
alias NSLibraryDirectory = 5;
alias NSDeveloperDirectory = 6;
alias NSUserDirectory = 7;
alias NSDocumentationDirectory = 8;
alias NSDocumentDirectory = 9;
alias NSCoreServiceDirectory = 10;
alias NSAutosavedInformationDirectory = 11;
alias NSDesktopDirectory = 12;
alias NSCachesDirectory = 13;
alias NSApplicationSupportDirectory = 14;
alias NSDownloadsDirectory = 15;
alias NSInputMethodsDirectory = 16;
alias NSMoviesDirectory = 17;
alias NSMusicDirectory = 18;
alias NSPicturesDirectory = 19;
alias NSPrinterDescriptionDirectory = 20;
alias NSSharedPublicDirectory = 21;
alias NSPreferencePanesDirectory = 22;
alias NSItemReplacementDirectory = 99;
alias NSAllApplicationsDirectory = 100;
alias NSAllLibrariesDirectory = 101;

alias NSSearchPathDirectory = UInt;

alias NSUserDomainMask = 1;
alias NSLocalDomainMask = 2;
alias NSNetworkDomainMask = 4;
alias NSSystemDomainMask = 8;
alias NSAllDomainsMask = 65535;

alias NSSearchPathDomainMask = UInt;

external NSSearchPathForDirectoriesInDomains(
    directory : UInt,
    domainMask : UInt,
    expandTilde : Bool) : NSArray;

alias NSVolumeEnumerationSkipHiddenVolumes = 2;
alias NSVolumeEnumerationProduceFileReferenceURLs = 4;

alias NSVolumeEnumerationOptions = UInt;

alias NSDirectoryEnumerationSkipsSubdirectoryDescendants = 1;
alias NSDirectoryEnumerationSkipsPackageDescendants = 2;
alias NSDirectoryEnumerationSkipsHiddenFiles = 4;

alias NSDirectoryEnumerationOptions = UInt;

alias NSFileManagerItemReplacementUsingNewMetadataOnly = 1;
alias NSFileManagerItemReplacementWithoutDeletingBackupItem = 2;

alias NSFileManagerItemReplacementOptions = UInt;

external NSFileType : NSString;

external NSFileTypeDirectory : NSString;

external NSFileTypeRegular : NSString;

external NSFileTypeSymbolicLink : NSString;

external NSFileTypeSocket : NSString;

external NSFileTypeCharacterSpecial : NSString;

external NSFileTypeBlockSpecial : NSString;

external NSFileTypeUnknown : NSString;

external NSFileSize : NSString;

external NSFileModificationDate : NSString;

external NSFileReferenceCount : NSString;

external NSFileDeviceIdentifier : NSString;

external NSFileOwnerAccountName : NSString;

external NSFileGroupOwnerAccountName : NSString;

external NSFilePosixPermissions : NSString;

external NSFileSystemNumber : NSString;

external NSFileSystemFileNumber : NSString;

external NSFileExtensionHidden : NSString;

external NSFileHFSCreatorCode : NSString;

external NSFileHFSTypeCode : NSString;

external NSFileImmutable : NSString;

external NSFileAppendOnly : NSString;

external NSFileCreationDate : NSString;

external NSFileOwnerAccountID : NSString;

external NSFileGroupOwnerAccountID : NSString;

external NSFileBusy : NSString;

external NSFileProtectionKey : NSString;

external NSFileProtectionNone : NSString;

external NSFileProtectionComplete : NSString;

external NSFileSystemSize : NSString;

external NSFileSystemFreeSize : NSString;

external NSFileSystemNodes : NSString;

external NSFileSystemFreeNodes : NSString;

external NSUndefinedKeyException : NSString;

external NSAverageKeyValueOperator : NSString;

external NSCountKeyValueOperator : NSString;

external NSDistinctUnionOfArraysKeyValueOperator : NSString;

external NSDistinctUnionOfObjectsKeyValueOperator : NSString;

external NSDistinctUnionOfSetsKeyValueOperator : NSString;

external NSMaximumKeyValueOperator : NSString;

external NSMinimumKeyValueOperator : NSString;

external NSSumKeyValueOperator : NSString;

external NSUnionOfArraysKeyValueOperator : NSString;

external NSUnionOfObjectsKeyValueOperator : NSString;

external NSUnionOfSetsKeyValueOperator : NSString;

alias NSKeyValueObservingOptionNew = 1;
alias NSKeyValueObservingOptionOld = 2;
alias NSKeyValueObservingOptionInitial = 4;
alias NSKeyValueObservingOptionPrior = 8;

alias NSKeyValueObservingOptions = UInt;

alias NSKeyValueChangeSetting = 1;
alias NSKeyValueChangeInsertion = 2;
alias NSKeyValueChangeRemoval = 3;
alias NSKeyValueChangeReplacement = 4;

alias NSKeyValueChange = UInt;

alias NSKeyValueUnionSetMutation = 1;
alias NSKeyValueMinusSetMutation = 2;
alias NSKeyValueIntersectSetMutation = 3;
alias NSKeyValueSetSetMutation = 4;

alias NSKeyValueSetMutationKind = UInt;

external NSKeyValueChangeKindKey : NSString;

external NSKeyValueChangeNewKey : NSString;

external NSKeyValueChangeOldKey : NSString;

external NSKeyValueChangeIndexesKey : NSString;

external NSKeyValueChangeNotificationIsPriorKey : NSString;

alias NSPropertyListImmutable = 0;
alias NSPropertyListMutableContainers = 1;
alias NSPropertyListMutableContainersAndLeaves = 2;

alias NSPropertyListMutabilityOptions = UInt;

alias NSPropertyListOpenStepFormat = 1;
alias NSPropertyListXMLFormat_v1_0 = 100;
alias NSPropertyListBinaryFormat_v1_0 = 200;

alias NSPropertyListFormat = UInt;

alias NSPropertyListReadOptions = UInt;

alias NSPropertyListWriteOptions = UInt;

external NSInvalidArchiveOperationException : NSString;

external NSInvalidUnarchiveOperationException : NSString;

external NSCurrentLocaleDidChangeNotification : NSString;

external NSLocaleIdentifier : NSString;

external NSLocaleLanguageCode : NSString;

external NSLocaleCountryCode : NSString;

external NSLocaleScriptCode : NSString;

external NSLocaleVariantCode : NSString;

external NSLocaleExemplarCharacterSet : NSString;

external NSLocaleCalendar : NSString;

external NSLocaleCollationIdentifier : NSString;

external NSLocaleUsesMetricSystem : NSString;

external NSLocaleMeasurementSystem : NSString;

external NSLocaleDecimalSeparator : NSString;

external NSLocaleGroupingSeparator : NSString;

external NSLocaleCurrencySymbol : NSString;

external NSLocaleCurrencyCode : NSString;

external NSLocaleCollatorIdentifier : NSString;

external NSLocaleQuotationBeginDelimiterKey : NSString;

external NSLocaleQuotationEndDelimiterKey : NSString;

external NSLocaleAlternateQuotationBeginDelimiterKey : NSString;

external NSLocaleAlternateQuotationEndDelimiterKey : NSString;

external NSGregorianCalendar : NSString;

external NSBuddhistCalendar : NSString;

external NSChineseCalendar : NSString;

external NSHebrewCalendar : NSString;

external NSIslamicCalendar : NSString;

external NSIslamicCivilCalendar : NSString;

external NSJapaneseCalendar : NSString;

external NSRepublicOfChinaCalendar : NSString;

external NSPersianCalendar : NSString;

external NSIndianCalendar : NSString;

external NSISO8601Calendar : NSString;

alias NSPostWhenIdle = 1;
alias NSPostASAP = 2;
alias NSPostNow = 3;

alias NSPostingStyle = UInt;

alias NSNotificationNoCoalescing = 0;
alias NSNotificationCoalescingOnName = 1;
alias NSNotificationCoalescingOnSender = 2;

alias NSNotificationCoalescing = UInt;

alias NSSocketNativeHandle = Int;

external NSPortDidBecomeInvalidNotification : NSString;

alias NSWindowsNTOperatingSystem = 1;
alias NSWindows95OperatingSystem = 2;
alias NSSolarisOperatingSystem = 3;
alias NSHPUXOperatingSystem = 4;
alias NSMACHOperatingSystem = 5;
alias NSSunOSOperatingSystem = 6;
alias NSOSF1OperatingSystem = 7;

alias NSTextCheckingTypeOrthography = 1;
alias NSTextCheckingTypeSpelling = 2;
alias NSTextCheckingTypeGrammar = 4;
alias NSTextCheckingTypeDate = 8;
alias NSTextCheckingTypeAddress = 16;
alias NSTextCheckingTypeLink = 32;
alias NSTextCheckingTypeQuote = 64;
alias NSTextCheckingTypeDash = 128;
alias NSTextCheckingTypeReplacement = 256;
alias NSTextCheckingTypeCorrection = 512;
alias NSTextCheckingTypeRegularExpression = 1024;
alias NSTextCheckingTypePhoneNumber = 2048;
alias NSTextCheckingTypeTransitInformation = 4096;

alias NSTextCheckingType = UInt64;

alias NSTextCheckingAllSystemTypes = 4294967295;
alias NSTextCheckingAllCustomTypes = 18446744069414584320;
alias NSTextCheckingAllTypes = 18446744073709551615;

alias NSTextCheckingTypes = UInt64;

external NSTextCheckingNameKey : NSString;

external NSTextCheckingJobTitleKey : NSString;

external NSTextCheckingOrganizationKey : NSString;

external NSTextCheckingStreetKey : NSString;

external NSTextCheckingCityKey : NSString;

external NSTextCheckingStateKey : NSString;

external NSTextCheckingZIPKey : NSString;

external NSTextCheckingCountryKey : NSString;

external NSTextCheckingPhoneKey : NSString;

external NSTextCheckingAirlineKey : NSString;

external NSTextCheckingFlightKey : NSString;

alias NSRegularExpressionCaseInsensitive = 1;
alias NSRegularExpressionAllowCommentsAndWhitespace = 2;
alias NSRegularExpressionIgnoreMetacharacters = 4;
alias NSRegularExpressionDotMatchesLineSeparators = 8;
alias NSRegularExpressionAnchorsMatchLines = 16;
alias NSRegularExpressionUseUnixLineSeparators = 32;
alias NSRegularExpressionUseUnicodeWordBoundaries = 64;

alias NSRegularExpressionOptions = UInt;

alias NSMatchingReportProgress = 1;
alias NSMatchingReportCompletion = 2;
alias NSMatchingAnchored = 4;
alias NSMatchingWithTransparentBounds = 8;
alias NSMatchingWithoutAnchoringBounds = 16;

alias NSMatchingOptions = UInt;

alias NSMatchingProgress = 1;
alias NSMatchingCompleted = 2;
alias NSMatchingHitEnd = 4;
alias NSMatchingRequiredEnd = 8;
alias NSMatchingInternalError = 16;

alias NSMatchingFlags = UInt;

external NSDefaultRunLoopMode : NSString;

external NSRunLoopCommonModes : NSString;

alias NSStreamStatusNotOpen = 0;
alias NSStreamStatusOpening = 1;
alias NSStreamStatusOpen = 2;
alias NSStreamStatusReading = 3;
alias NSStreamStatusWriting = 4;
alias NSStreamStatusAtEnd = 5;
alias NSStreamStatusClosed = 6;
alias NSStreamStatusError = 7;

alias NSStreamStatus = UInt;

alias NSStreamEventNone = 0;
alias NSStreamEventOpenCompleted = 1;
alias NSStreamEventHasBytesAvailable = 2;
alias NSStreamEventHasSpaceAvailable = 4;
alias NSStreamEventErrorOccurred = 8;
alias NSStreamEventEndEncountered = 16;

alias NSStreamEvent = UInt;

external NSStreamSocketSecurityLevelKey : NSString;

external NSStreamSocketSecurityLevelNone : NSString;

external NSStreamSocketSecurityLevelSSLv2 : NSString;

external NSStreamSocketSecurityLevelSSLv3 : NSString;

external NSStreamSocketSecurityLevelTLSv1 : NSString;

external NSStreamSocketSecurityLevelNegotiatedSSL : NSString;

external NSStreamSOCKSProxyConfigurationKey : NSString;

external NSStreamSOCKSProxyHostKey : NSString;

external NSStreamSOCKSProxyPortKey : NSString;

external NSStreamSOCKSProxyVersionKey : NSString;

external NSStreamSOCKSProxyUserKey : NSString;

external NSStreamSOCKSProxyPasswordKey : NSString;

external NSStreamSOCKSProxyVersion4 : NSString;

external NSStreamSOCKSProxyVersion5 : NSString;

external NSStreamDataWrittenToMemoryStreamKey : NSString;

external NSStreamFileCurrentOffsetKey : NSString;

external NSStreamSocketSSLErrorDomain : NSString;

external NSStreamSOCKSErrorDomain : NSString;

external NSStreamNetworkServiceType : NSString;

external NSStreamNetworkServiceTypeVoIP : NSString;

external NSWillBecomeMultiThreadedNotification : NSString;

external NSDidBecomeSingleThreadedNotification : NSString;

external NSThreadWillExitNotification : NSString;

external NSSystemTimeZoneDidChangeNotification : NSString;

alias NSURLBookmarkCreationPreferFileIDResolution = 256;
alias NSURLBookmarkCreationMinimalBookmark = 512;
alias NSURLBookmarkCreationSuitableForBookmarkFile = 1024;

alias NSURLBookmarkResolutionWithoutUI = 256;
alias NSURLBookmarkResolutionWithoutMounting = 512;

alias NSURLBookmarkCreationOptions = UInt;

alias NSURLBookmarkResolutionOptions = UInt;

alias NSURLBookmarkFileCreationOptions = UInt;

external NSURLFileScheme : NSString;

external NSURLNameKey : NSString;

external NSURLLocalizedNameKey : NSString;

external NSURLIsRegularFileKey : NSString;

external NSURLIsDirectoryKey : NSString;

external NSURLIsSymbolicLinkKey : NSString;

external NSURLIsVolumeKey : NSString;

external NSURLIsPackageKey : NSString;

external NSURLIsSystemImmutableKey : NSString;

external NSURLIsUserImmutableKey : NSString;

external NSURLIsHiddenKey : NSString;

external NSURLHasHiddenExtensionKey : NSString;

external NSURLCreationDateKey : NSString;

external NSURLContentAccessDateKey : NSString;

external NSURLContentModificationDateKey : NSString;

external NSURLAttributeModificationDateKey : NSString;

external NSURLLinkCountKey : NSString;

external NSURLParentDirectoryURLKey : NSString;

external NSURLVolumeURLKey : NSString;

external NSURLTypeIdentifierKey : NSString;

external NSURLLocalizedTypeDescriptionKey : NSString;

external NSURLLabelNumberKey : NSString;

external NSURLLabelColorKey : NSString;

external NSURLLocalizedLabelKey : NSString;

external NSURLEffectiveIconKey : NSString;

external NSURLCustomIconKey : NSString;

external NSURLFileSizeKey : NSString;

external NSURLFileAllocatedSizeKey : NSString;

external NSURLIsAliasFileKey : NSString;

external NSURLVolumeLocalizedFormatDescriptionKey : NSString;

external NSURLVolumeTotalCapacityKey : NSString;

external NSURLVolumeAvailableCapacityKey : NSString;

external NSURLVolumeResourceCountKey : NSString;

external NSURLVolumeSupportsPersistentIDsKey : NSString;

external NSURLVolumeSupportsSymbolicLinksKey : NSString;

external NSURLVolumeSupportsHardLinksKey : NSString;

external NSURLVolumeSupportsJournalingKey : NSString;

external NSURLVolumeIsJournalingKey : NSString;

external NSURLVolumeSupportsSparseFilesKey : NSString;

external NSURLVolumeSupportsZeroRunsKey : NSString;

external NSURLVolumeSupportsCaseSensitiveNamesKey : NSString;

external NSURLVolumeSupportsCasePreservedNamesKey : NSString;

external NSGlobalDomain : NSString;

external NSArgumentDomain : NSString;

external NSRegistrationDomain : NSString;

external NSUserDefaultsDidChangeNotification : NSString;

alias NSUndoCloseGroupingRunLoopOrdering = 350000;

external NSUndoManagerCheckpointNotification : NSString;

external NSUndoManagerWillUndoChangeNotification : NSString;

external NSUndoManagerWillRedoChangeNotification : NSString;

external NSUndoManagerDidUndoChangeNotification : NSString;

external NSUndoManagerDidRedoChangeNotification : NSString;

external NSUndoManagerDidOpenUndoGroupNotification : NSString;

external NSUndoManagerWillCloseUndoGroupNotification : NSString;

external NSNegateBooleanTransformerName : NSString;

external NSIsNilTransformerName : NSString;

external NSIsNotNilTransformerName : NSString;

external NSUnarchiveFromDataTransformerName : NSString;

external NSKeyedUnarchiveFromDataTransformerName : NSString;

alias NSFileNoSuchFileError = 4;
alias NSFileLockingError = 255;
alias NSFileReadUnknownError = 256;
alias NSFileReadNoPermissionError = 257;
alias NSFileReadInvalidFileNameError = 258;
alias NSFileReadCorruptFileError = 259;
alias NSFileReadNoSuchFileError = 260;
alias NSFileReadInapplicableStringEncodingError = 261;
alias NSFileReadUnsupportedSchemeError = 262;
alias NSFileReadTooLargeError = 263;
alias NSFileReadUnknownStringEncodingError = 264;
alias NSFileWriteUnknownError = 512;
alias NSFileWriteNoPermissionError = 513;
alias NSFileWriteInvalidFileNameError = 514;
alias NSFileWriteInapplicableStringEncodingError = 517;
alias NSFileWriteUnsupportedSchemeError = 518;
alias NSFileWriteOutOfSpaceError = 640;
alias NSFileWriteVolumeReadOnlyError = 642;
alias NSKeyValueValidationError = 1024;
alias NSFormattingError = 2048;
alias NSUserCancelledError = 3072;
alias NSExecutableNotLoadableError = 3584;
alias NSExecutableArchitectureMismatchError = 3585;
alias NSExecutableRuntimeMismatchError = 3586;
alias NSExecutableLoadError = 3587;
alias NSExecutableLinkError = 3588;
alias NSFileErrorMinimum = 0;
alias NSFileErrorMaximum = 1023;
alias NSValidationErrorMinimum = 1024;
alias NSValidationErrorMaximum = 2047;
alias NSExecutableErrorMinimum = 3584;
alias NSExecutableErrorMaximum = 3839;
alias NSFormattingErrorMinimum = 2048;
alias NSFormattingErrorMaximum = 2559;
alias NSPropertyListReadCorruptError = 3840;
alias NSPropertyListReadUnknownVersionError = 3841;
alias NSPropertyListReadStreamError = 3842;
alias NSPropertyListWriteStreamError = 3851;
alias NSPropertyListErrorMinimum = 3840;
alias NSPropertyListErrorMaximum = 4095;

alias NSCaseInsensitivePredicateOption = 1;
alias NSDiacriticInsensitivePredicateOption = 2;

alias NSDirectPredicateModifier = 0;
alias NSAllPredicateModifier = 1;
alias NSAnyPredicateModifier = 2;

alias NSComparisonPredicateModifier = UInt;

alias NSLessThanPredicateOperatorType = 0;
alias NSLessThanOrEqualToPredicateOperatorType = 1;
alias NSGreaterThanPredicateOperatorType = 2;
alias NSGreaterThanOrEqualToPredicateOperatorType = 3;
alias NSEqualToPredicateOperatorType = 4;
alias NSNotEqualToPredicateOperatorType = 5;
alias NSMatchesPredicateOperatorType = 6;
alias NSLikePredicateOperatorType = 7;
alias NSBeginsWithPredicateOperatorType = 8;
alias NSEndsWithPredicateOperatorType = 9;
alias NSInPredicateOperatorType = 10;
alias NSCustomSelectorPredicateOperatorType = 11;
alias NSContainsPredicateOperatorType = 99;
alias NSBetweenPredicateOperatorType = 100;

alias NSPredicateOperatorType = UInt;

alias NSNotPredicateType = 0;
alias NSAndPredicateType = 1;
alias NSOrPredicateType = 2;

alias NSCompoundPredicateType = UInt;

alias NSConstantValueExpressionType = 0;
alias NSEvaluatedObjectExpressionType = 1;
alias NSVariableExpressionType = 2;
alias NSKeyPathExpressionType = 3;
alias NSFunctionExpressionType = 4;
alias NSUnionSetExpressionType = 5;
alias NSIntersectSetExpressionType = 6;
alias NSMinusSetExpressionType = 7;
alias NSSubqueryExpressionType = 13;
alias NSAggregateExpressionType = 14;
alias NSBlockExpressionType = 19;

alias NSExpressionType = UInt;

alias NSFileWrapperReadingImmediate = 1;
alias NSFileWrapperReadingWithoutMapping = 2;

alias NSFileWrapperReadingOptions = UInt;

alias NSFileWrapperWritingAtomic = 1;
alias NSFileWrapperWritingWithNameUpdating = 2;

alias NSFileWrapperWritingOptions = UInt;

external NSHTTPCookieName : NSString;

external NSHTTPCookieValue : NSString;

external NSHTTPCookieOriginURL : NSString;

external NSHTTPCookieVersion : NSString;

external NSHTTPCookieDomain : NSString;

external NSHTTPCookiePath : NSString;

external NSHTTPCookieSecure : NSString;

external NSHTTPCookieExpires : NSString;

external NSHTTPCookieComment : NSString;

external NSHTTPCookieCommentURL : NSString;

external NSHTTPCookieDiscard : NSString;

external NSHTTPCookieMaximumAge : NSString;

external NSHTTPCookiePort : NSString;

alias NSHTTPCookieAcceptPolicyAlways = 0;
alias NSHTTPCookieAcceptPolicyNever = 1;
alias NSHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain = 2;

alias NSHTTPCookieAcceptPolicy = UInt;

external NSHTTPCookieManagerAcceptPolicyChangedNotification : NSString;

external NSHTTPCookieManagerCookiesChangedNotification : NSString;

external NSNetServicesErrorCode : NSString;

external NSNetServicesErrorDomain : NSString;

alias NSNetServicesUnknownError = 4294895296;
alias NSNetServicesCollisionError = 4294895295;
alias NSNetServicesNotFoundError = 4294895294;
alias NSNetServicesActivityInProgress = 4294895293;
alias NSNetServicesBadArgumentError = 4294895292;
alias NSNetServicesCancelledError = 4294895291;
alias NSNetServicesInvalidError = 4294895290;
alias NSNetServicesTimeoutError = 4294895289;

alias NSNetServicesError = Int;

alias NSNetServiceNoAutoRename = 1;

alias NSNetServiceOptions = UInt;

external NSInvocationOperationVoidResultException : NSString;

external NSInvocationOperationCancelledException : NSString;

alias NSURLCacheStorageAllowed = 0;
alias NSURLCacheStorageAllowedInMemoryOnly = 1;
alias NSURLCacheStorageNotAllowed = 2;

alias NSURLCacheStoragePolicy = UInt;

alias NSURLCredentialPersistenceNone = 0;
alias NSURLCredentialPersistenceForSession = 1;
alias NSURLCredentialPersistencePermanent = 2;

alias NSURLCredentialPersistence = UInt;

external NSURLCredentialStorageChangedNotification : NSString;

external NSURLErrorDomain : NSString;

external NSURLErrorFailingURLErrorKey : NSString;

external NSURLErrorFailingURLStringErrorKey : NSString;

external NSErrorFailingURLStringKey : NSString;

external NSURLErrorFailingURLPeerTrustErrorKey : NSString;

alias NSURLErrorUnknown = 4294967295;
alias NSURLErrorCancelled = 4294966297;
alias NSURLErrorBadURL = 4294966296;
alias NSURLErrorTimedOut = 4294966295;
alias NSURLErrorUnsupportedURL = 4294966294;
alias NSURLErrorCannotFindHost = 4294966293;
alias NSURLErrorCannotConnectToHost = 4294966292;
alias NSURLErrorNetworkConnectionLost = 4294966291;
alias NSURLErrorDNSLookupFailed = 4294966290;
alias NSURLErrorHTTPTooManyRedirects = 4294966289;
alias NSURLErrorResourceUnavailable = 4294966288;
alias NSURLErrorNotConnectedToInternet = 4294966287;
alias NSURLErrorRedirectToNonExistentLocation = 4294966286;
alias NSURLErrorBadServerResponse = 4294966285;
alias NSURLErrorUserCancelledAuthentication = 4294966284;
alias NSURLErrorUserAuthenticationRequired = 4294966283;
alias NSURLErrorZeroByteResource = 4294966282;
alias NSURLErrorCannotDecodeRawData = 4294966281;
alias NSURLErrorCannotDecodeContentData = 4294966280;
alias NSURLErrorCannotParseResponse = 4294966279;
alias NSURLErrorInternationalRoamingOff = 4294966278;
alias NSURLErrorCallIsActive = 4294966277;
alias NSURLErrorDataNotAllowed = 4294966276;
alias NSURLErrorRequestBodyStreamExhausted = 4294966275;
alias NSURLErrorFileDoesNotExist = 4294966196;
alias NSURLErrorFileIsDirectory = 4294966195;
alias NSURLErrorNoPermissionsToReadFile = 4294966194;
alias NSURLErrorDataLengthExceedsMaximum = 4294966193;
alias NSURLErrorSecureConnectionFailed = 4294966096;
alias NSURLErrorServerCertificateHasBadDate = 4294966095;
alias NSURLErrorServerCertificateUntrusted = 4294966094;
alias NSURLErrorServerCertificateHasUnknownRoot = 4294966093;
alias NSURLErrorServerCertificateNotYetValid = 4294966092;
alias NSURLErrorClientCertificateRejected = 4294966091;
alias NSURLErrorClientCertificateRequired = 4294966090;
alias NSURLErrorCannotLoadFromNetwork = 4294965296;
alias NSURLErrorCannotCreateFile = 4294964296;
alias NSURLErrorCannotOpenFile = 4294964295;
alias NSURLErrorCannotCloseFile = 4294964294;
alias NSURLErrorCannotWriteToFile = 4294964293;
alias NSURLErrorCannotRemoveFile = 4294964292;
alias NSURLErrorCannotMoveFile = 4294964291;
alias NSURLErrorDownloadDecodingFailedMidStream = 4294964290;
alias NSURLErrorDownloadDecodingFailedToComplete = 4294964289;

external NSURLProtectionSpaceHTTP : NSString;

external NSURLProtectionSpaceHTTPS : NSString;

external NSURLProtectionSpaceFTP : NSString;

external NSURLProtectionSpaceHTTPProxy : NSString;

external NSURLProtectionSpaceHTTPSProxy : NSString;

external NSURLProtectionSpaceFTPProxy : NSString;

external NSURLProtectionSpaceSOCKSProxy : NSString;

external NSURLAuthenticationMethodDefault : NSString;

external NSURLAuthenticationMethodHTTPBasic : NSString;

external NSURLAuthenticationMethodHTTPDigest : NSString;

external NSURLAuthenticationMethodHTMLForm : NSString;

external NSURLAuthenticationMethodNTLM : NSString;

external NSURLAuthenticationMethodNegotiate : NSString;

external NSURLAuthenticationMethodClientCertificate : NSString;

external NSURLAuthenticationMethodServerTrust : NSString;

alias NSURLRequestUseProtocolCachePolicy = 0;
alias NSURLRequestReloadIgnoringLocalCacheData = 1;
alias NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4;
alias NSURLRequestReloadIgnoringCacheData = 1;
alias NSURLRequestReturnCacheDataElseLoad = 2;
alias NSURLRequestReturnCacheDataDontLoad = 3;
alias NSURLRequestReloadRevalidatingCacheData = 5;

alias NSURLRequestCachePolicy = UInt;

alias NSURLNetworkServiceTypeDefault = 0;
alias NSURLNetworkServiceTypeVoIP = 1;

alias NSURLRequestNetworkServiceType = UInt;

external NSXMLParserErrorDomain : NSString;

alias NSXMLParserInternalError = 1;
alias NSXMLParserOutOfMemoryError = 2;
alias NSXMLParserDocumentStartError = 3;
alias NSXMLParserEmptyDocumentError = 4;
alias NSXMLParserPrematureDocumentEndError = 5;
alias NSXMLParserInvalidHexCharacterRefError = 6;
alias NSXMLParserInvalidDecimalCharacterRefError = 7;
alias NSXMLParserInvalidCharacterRefError = 8;
alias NSXMLParserInvalidCharacterError = 9;
alias NSXMLParserCharacterRefAtEOFError = 10;
alias NSXMLParserCharacterRefInPrologError = 11;
alias NSXMLParserCharacterRefInEpilogError = 12;
alias NSXMLParserCharacterRefInDTDError = 13;
alias NSXMLParserEntityRefAtEOFError = 14;
alias NSXMLParserEntityRefInPrologError = 15;
alias NSXMLParserEntityRefInEpilogError = 16;
alias NSXMLParserEntityRefInDTDError = 17;
alias NSXMLParserParsedEntityRefAtEOFError = 18;
alias NSXMLParserParsedEntityRefInPrologError = 19;
alias NSXMLParserParsedEntityRefInEpilogError = 20;
alias NSXMLParserParsedEntityRefInInternalSubsetError = 21;
alias NSXMLParserEntityReferenceWithoutNameError = 22;
alias NSXMLParserEntityReferenceMissingSemiError = 23;
alias NSXMLParserParsedEntityRefNoNameError = 24;
alias NSXMLParserParsedEntityRefMissingSemiError = 25;
alias NSXMLParserUndeclaredEntityError = 26;
alias NSXMLParserUnparsedEntityError = 28;
alias NSXMLParserEntityIsExternalError = 29;
alias NSXMLParserEntityIsParameterError = 30;
alias NSXMLParserUnknownEncodingError = 31;
alias NSXMLParserEncodingNotSupportedError = 32;
alias NSXMLParserStringNotStartedError = 33;
alias NSXMLParserStringNotClosedError = 34;
alias NSXMLParserNamespaceDeclarationError = 35;
alias NSXMLParserEntityNotStartedError = 36;
alias NSXMLParserEntityNotFinishedError = 37;
alias NSXMLParserLessThanSymbolInAttributeError = 38;
alias NSXMLParserAttributeNotStartedError = 39;
alias NSXMLParserAttributeNotFinishedError = 40;
alias NSXMLParserAttributeHasNoValueError = 41;
alias NSXMLParserAttributeRedefinedError = 42;
alias NSXMLParserLiteralNotStartedError = 43;
alias NSXMLParserLiteralNotFinishedError = 44;
alias NSXMLParserCommentNotFinishedError = 45;
alias NSXMLParserProcessingInstructionNotStartedError = 46;
alias NSXMLParserProcessingInstructionNotFinishedError = 47;
alias NSXMLParserNotationNotStartedError = 48;
alias NSXMLParserNotationNotFinishedError = 49;
alias NSXMLParserAttributeListNotStartedError = 50;
alias NSXMLParserAttributeListNotFinishedError = 51;
alias NSXMLParserMixedContentDeclNotStartedError = 52;
alias NSXMLParserMixedContentDeclNotFinishedError = 53;
alias NSXMLParserElementContentDeclNotStartedError = 54;
alias NSXMLParserElementContentDeclNotFinishedError = 55;
alias NSXMLParserXMLDeclNotStartedError = 56;
alias NSXMLParserXMLDeclNotFinishedError = 57;
alias NSXMLParserConditionalSectionNotStartedError = 58;
alias NSXMLParserConditionalSectionNotFinishedError = 59;
alias NSXMLParserExternalSubsetNotFinishedError = 60;
alias NSXMLParserDOCTYPEDeclNotFinishedError = 61;
alias NSXMLParserMisplacedCDATAEndStringError = 62;
alias NSXMLParserCDATANotFinishedError = 63;
alias NSXMLParserMisplacedXMLDeclarationError = 64;
alias NSXMLParserSpaceRequiredError = 65;
alias NSXMLParserSeparatorRequiredError = 66;
alias NSXMLParserNMTOKENRequiredError = 67;
alias NSXMLParserNAMERequiredError = 68;
alias NSXMLParserPCDATARequiredError = 69;
alias NSXMLParserURIRequiredError = 70;
alias NSXMLParserPublicIdentifierRequiredError = 71;
alias NSXMLParserLTRequiredError = 72;
alias NSXMLParserGTRequiredError = 73;
alias NSXMLParserLTSlashRequiredError = 74;
alias NSXMLParserEqualExpectedError = 75;
alias NSXMLParserTagNameMismatchError = 76;
alias NSXMLParserUnfinishedTagError = 77;
alias NSXMLParserStandaloneValueError = 78;
alias NSXMLParserInvalidEncodingNameError = 79;
alias NSXMLParserCommentContainsDoubleHyphenError = 80;
alias NSXMLParserInvalidEncodingError = 81;
alias NSXMLParserExternalStandaloneEntityError = 82;
alias NSXMLParserInvalidConditionalSectionError = 83;
alias NSXMLParserEntityValueRequiredError = 84;
alias NSXMLParserNotWellBalancedError = 85;
alias NSXMLParserExtraContentError = 86;
alias NSXMLParserInvalidCharacterInEntityError = 87;
alias NSXMLParserParsedEntityRefInInternalError = 88;
alias NSXMLParserEntityRefLoopError = 89;
alias NSXMLParserEntityBoundaryError = 90;
alias NSXMLParserInvalidURIError = 91;
alias NSXMLParserURIFragmentError = 92;
alias NSXMLParserNoDTDError = 94;
alias NSXMLParserDelegateAbortedParseError = 512;

alias NSXMLParserError = Int;
