1type ExpoObject = {
2    modules: undefined | {
3        [key: string]: any;
4    };
5};
6declare global {
7    var expo: ExpoObject | undefined;
8    /**
9     * @deprecated `global.ExpoModules` is deprecated, use `global.expo.modules` instead.
10     */
11    var ExpoModules: undefined | {
12        [key: string]: any;
13    };
14}
15/**
16 * Imports the native module registered with given name. In the first place it tries to load
17 * the module installed through the JSI host object and then falls back to the bridge proxy module.
18 * Notice that the modules loaded from the proxy may not support some features like synchronous functions.
19 *
20 * @param moduleName Name of the requested native module.
21 * @returns Object representing the native module.
22 * @throws Error when there is no native module with given name.
23 */
24export declare function requireNativeModule<ModuleType = any>(moduleName: string): ModuleType;
25/**
26 * Imports the native module registered with the given name. The same as `requireNativeModule`,
27 * but returns `null` when the module cannot be found instead of throwing an error.
28 *
29 * @param moduleName Name of the requested native module.
30 * @returns Object representing the native module or `null` when it cannot be found.
31 */
32export declare function requireOptionalNativeModule<ModuleType = any>(moduleName: string): ModuleType | null;
33export {};
34//# sourceMappingURL=requireNativeModule.d.ts.map