interface EXAppLifecycleListener extends NSObjectProtocol { onAppBackgrounded(): void; onAppForegrounded(): void; } declare var EXAppLifecycleListener: { prototype: EXAppLifecycleListener; }; interface EXAppLifecycleService extends NSObjectProtocol { registerAppLifecycleListener(listener: EXAppLifecycleListener): void; setAppStateToBackground(): void; setAppStateToForeground(): void; unregisterAppLifecycleListener(listener: EXAppLifecycleListener): void; } declare var EXAppLifecycleService: { prototype: EXAppLifecycleService; }; declare var EXCoreVersionNumber: number; declare var EXCoreVersionString: interop.Reference; declare function EXErrorWithMessage(p1: string): NSError; interface EXEventEmitter { startObserving(): void; stopObserving(): void; supportedEvents(): NSArray; } declare var EXEventEmitter: { prototype: EXEventEmitter; }; interface EXEventEmitterService { sendEventWithNameBody(name: string, body: any): void; } declare var EXEventEmitterService: { prototype: EXEventEmitterService; }; declare class EXExportedModule extends NSObject implements EXInternalModule, NSCopying { static alloc(): EXExportedModule; // inherited from NSObject static exportedInterfaces(): NSArray; static exportedModuleName(): string; static new(): EXExportedModule; // inherited from NSObject readonly debugDescription: string; // inherited from NSObjectProtocol readonly description: string; // inherited from NSObjectProtocol readonly hash: number; // inherited from NSObjectProtocol readonly isProxy: boolean; // inherited from NSObjectProtocol readonly superclass: typeof NSObject; // inherited from NSObjectProtocol readonly // inherited from NSObjectProtocol constructor(); // inherited from EXInternalModule constructor(o: { experienceId: string; }); // inherited from EXInternalModule callExportedMethodWithArgumentsResolverRejecter(methodName: string, _arguments: NSArray | any[], resolver: (p1: any) => void, rejecter: (p1: string, p2: string, p3: NSError) => void): void; class(): typeof NSObject; conformsToProtocol(aProtocol: any /* Protocol */): boolean; constantsToExport(): NSDictionary; copyWithZone(zone: interop.Pointer | interop.Reference): any; getExportedMethods(): NSDictionary; init(): this; initWithExperienceId(experienceId: string): this; isEqual(object: any): boolean; isKindOfClass(aClass: typeof NSObject): boolean; isMemberOfClass(aClass: typeof NSObject): boolean; methodQueue(): NSObject; performSelector(aSelector: string): any; performSelectorWithObject(aSelector: string, object: any): any; performSelectorWithObjectWithObject(aSelector: string, object1: any, object2: any): any; respondsToSelector(aSelector: string): boolean; retainCount(): number; self(): this; } declare function EXFatal(p1: NSError): void; interface EXInternalModule extends NSObjectProtocol { init?(): EXInternalModule; initWithExperienceId?(experienceId: string): EXInternalModule; } declare var EXInternalModule: { prototype: EXInternalModule; exportedInterfaces(): NSArray; }; interface EXJavaScriptContextProvider extends NSObjectProtocol { javaScriptContextRef(): interop.Pointer | interop.Reference; } declare var EXJavaScriptContextProvider: { prototype: EXJavaScriptContextProvider; }; interface EXKernelService extends NSObjectProtocol { } declare var EXKernelService: { prototype: EXKernelService; name(): string; sharedInstance(): EXKernelService; }; interface EXMethodInfo { jsName: string; objcName: string; } declare var EXMethodInfo: interop.StructType; interface EXModuleInfo { jsName: string; internalName: string; } declare var EXModuleInfo: interop.StructType; declare class EXModuleRegistry extends NSObject { static alloc(): EXModuleRegistry; // inherited from NSObject static new(): EXModuleRegistry; // inherited from NSObject readonly experienceId: string; constructor(o: { internalModules: NSSet; exportedModules: NSSet; viewManagers: NSSet; singletonModules: NSSet; }); getAllExportedModules(): NSArray; getAllInternalModules(): NSArray; getAllSingletonModules(): NSArray; getAllViewManagers(): NSArray; getExportedModuleForName(name: string): EXExportedModule; getExportedModuleOfClass(moduleClass: typeof NSObject): EXExportedModule; getModuleImplementingProtocol(protocol: any /* Protocol */): any; getSingletonModuleForName(singletonModuleName: string): any; initWithInternalModulesExportedModulesViewManagersSingletonModules(internalModules: NSSet, exportedModules: NSSet, viewManagers: NSSet, singletonModules: NSSet): this; initialize(): void; registerExportedModule(exportedModule: EXExportedModule): void; registerInternalModule(internalModule: EXInternalModule): void; registerViewManager(viewManager: EXViewManager): void; setDelegate(delegate: EXModuleRegistryDelegate): void; unregisterInternalModuleForProtocol(protocol: any /* Protocol */): EXInternalModule; } interface EXModuleRegistryConsumer extends NSObjectProtocol { setModuleRegistry(moduleRegistry: EXModuleRegistry): void; } declare var EXModuleRegistryConsumer: { prototype: EXModuleRegistryConsumer; }; interface EXModuleRegistryDelegate extends NSObjectProtocol { pickInternalModuleImplementingInterfaceFromAmongModules(interface: any /* Protocol */, internalModules: NSArray | EXInternalModule[]): EXInternalModule; } declare var EXModuleRegistryDelegate: { prototype: EXModuleRegistryDelegate; }; declare class EXModuleRegistryProvider extends NSObject { static alloc(): EXModuleRegistryProvider; // inherited from NSObject static getSingletonModuleForClass(singletonClass: typeof NSObject): EXSingletonModule; static new(): EXModuleRegistryProvider; // inherited from NSObject static singletonModules(): NSSet; moduleRegistryDelegate: EXModuleRegistryDelegate; constructor(o: { singletonModules: NSSet; }); initWithSingletonModules(modules: NSSet): this; moduleRegistryForExperienceId(experienceId: string): EXModuleRegistry; } declare function EXSharedApplication(): UIApplication; declare class EXSingletonModule extends NSObject { static alloc(): EXSingletonModule; // inherited from NSObject static name(): string; static new(): EXSingletonModule; // inherited from NSObject } interface EXUIManager extends NSObjectProtocol { addUIBlock(block: (p1: NSDictionary) => void): void; addUIBlockForViewImplementingProtocol(block: (p1: any) => void, viewId: any, protocol: any /* Protocol */): void; addUIBlockForViewOfClass(block: (p1: any) => void, viewId: any, klass: typeof NSObject): void; dispatchOnClientThread(block: () => void): void; } declare var EXUIManager: { prototype: EXUIManager; }; declare class EXUtilities extends NSObject implements EXInternalModule, EXModuleRegistryConsumer, EXUtilitiesInterface { static NSDate(json: any): Date; static UIColor(json: any): UIColor; static alloc(): EXUtilities; // inherited from NSObject static exportedInterfaces(): NSArray; static hexStringWithCGColor(color: any): string; static new(): EXUtilities; // inherited from NSObject static performSynchronouslyOnMainThread(block: () => void): void; static screenScale(): number; readonly debugDescription: string; // inherited from NSObjectProtocol readonly description: string; // inherited from NSObjectProtocol readonly hash: number; // inherited from NSObjectProtocol readonly isProxy: boolean; // inherited from NSObjectProtocol readonly superclass: typeof NSObject; // inherited from NSObjectProtocol readonly // inherited from NSObjectProtocol constructor(); // inherited from EXInternalModule constructor(o: { experienceId: string; }); // inherited from EXInternalModule class(): typeof NSObject; conformsToProtocol(aProtocol: any /* Protocol */): boolean; currentViewController(): UIViewController; init(): this; initWithExperienceId(experienceId: string): this; isEqual(object: any): boolean; isKindOfClass(aClass: typeof NSObject): boolean; isMemberOfClass(aClass: typeof NSObject): boolean; launchOptions(): NSDictionary; performSelector(aSelector: string): any; performSelectorWithObject(aSelector: string, object: any): any; performSelectorWithObjectWithObject(aSelector: string, object1: any, object2: any): any; respondsToSelector(aSelector: string): boolean; retainCount(): number; self(): this; setModuleRegistry(moduleRegistry: EXModuleRegistry): void; } interface EXUtilitiesInterface { currentViewController(): UIViewController; launchOptions(): NSDictionary; } declare var EXUtilitiesInterface: { prototype: EXUtilitiesInterface; }; declare class EXViewManager extends EXExportedModule { static alloc(): EXViewManager; // inherited from NSObject static new(): EXViewManager; // inherited from NSObject getPropsNames(): NSDictionary; supportedEvents(): NSArray; updatePropWithValueOnView(propName: string, value: any, view: UIView): void; view(): UIView; viewName(): string; }