UNPKG

8.21 kBTypeScriptView Raw
1import { Platform } from 'react-native';
2import type { DeviceType, LocationProviderInfo, PowerState, AsyncHookResult } from './types';
3export declare type NotchDevice = {
4 brand: string;
5 model: string;
6 [key: string]: string;
7};
8interface NativeConstants {
9 appName: string;
10 appVersion: string;
11 brand: string;
12 buildNumber: string;
13 bundleId: string;
14 deviceId: string;
15 deviceType: DeviceType;
16 isTablet: boolean;
17 model: string;
18 systemName: string;
19 systemVersion: string;
20}
21interface HiddenNativeMethods {
22 getPowerState: () => Promise<PowerState>;
23 getPowerStateSync: () => PowerState;
24 getSupported32BitAbis: () => Promise<string[]>;
25 getSupported32BitAbisSync: () => string[];
26 getSupported64BitAbis: () => Promise<string[]>;
27 getSupported64BitAbisSync: () => string[];
28 getSupportedAbis: () => Promise<string[]>;
29 getSupportedAbisSync: () => string[];
30 getSystemManufacturer: () => Promise<string>;
31 getSystemManufacturerSync: () => string;
32}
33interface ExposedNativeMethods {
34 getAndroidId: () => Promise<string>;
35 getAndroidIdSync: () => string;
36 getApiLevel: () => Promise<number>;
37 getApiLevelSync: () => number;
38 getAvailableLocationProviders: () => Promise<LocationProviderInfo>;
39 getAvailableLocationProvidersSync: () => LocationProviderInfo;
40 getBaseOs: () => Promise<string>;
41 getBaseOsSync: () => string;
42 getBatteryLevel: () => Promise<number>;
43 getBatteryLevelSync: () => number;
44 getBootloader: () => Promise<string>;
45 getBootloaderSync: () => string;
46 getBuildId: () => Promise<string>;
47 getBuildIdSync: () => string;
48 getCarrier: () => Promise<string>;
49 getCarrierSync: () => string;
50 getCodename: () => Promise<string>;
51 getCodenameSync: () => string;
52 getDevice: () => Promise<string>;
53 getDeviceName: () => Promise<string>;
54 getDeviceNameSync: () => string;
55 getDeviceSync: () => string;
56 getDeviceToken: () => Promise<string>;
57 getDisplay: () => Promise<string>;
58 getDisplaySync: () => string;
59 getFingerprint: () => Promise<string>;
60 getFingerprintSync: () => string;
61 getFirstInstallTime: () => Promise<number>;
62 getFirstInstallTimeSync: () => number;
63 getFontScale: () => Promise<number>;
64 getFontScaleSync: () => number;
65 getFreeDiskStorage: () => Promise<number>;
66 getFreeDiskStorageOld: () => Promise<number>;
67 getFreeDiskStorageSync: () => number;
68 getFreeDiskStorageOldSync: () => number;
69 getHardware: () => Promise<string>;
70 getHardwareSync: () => string;
71 getHost: () => Promise<string>;
72 getHostSync: () => string;
73 getIncremental: () => Promise<string>;
74 getIncrementalSync: () => string;
75 getInstallerPackageName: () => Promise<string>;
76 getInstallerPackageNameSync: () => string;
77 getInstallReferrer: () => Promise<string>;
78 getInstallReferrerSync: () => string;
79 getInstanceId: () => Promise<string>;
80 getInstanceIdSync: () => string;
81 getIpAddress: () => Promise<string>;
82 getIpAddressSync: () => string;
83 getLastUpdateTime: () => Promise<number>;
84 getLastUpdateTimeSync: () => number;
85 getMacAddress: () => Promise<string>;
86 getMacAddressSync: () => string;
87 getMaxMemory: () => Promise<number>;
88 getMaxMemorySync: () => number;
89 getPhoneNumber: () => Promise<string>;
90 getPhoneNumberSync: () => string;
91 getPreviewSdkInt: () => Promise<number>;
92 getPreviewSdkIntSync: () => number;
93 getProduct: () => Promise<string>;
94 getProductSync: () => string;
95 getSecurityPatch: () => Promise<string>;
96 getSecurityPatchSync: () => string;
97 getSerialNumber: () => Promise<string>;
98 getSerialNumberSync: () => string;
99 getSystemAvailableFeatures: () => Promise<string[]>;
100 getSystemAvailableFeaturesSync: () => string[];
101 getTags: () => Promise<string>;
102 getTagsSync: () => string;
103 getTotalDiskCapacity: () => Promise<number>;
104 getTotalDiskCapacityOld: () => Promise<number>;
105 getTotalDiskCapacitySync: () => number;
106 getTotalDiskCapacityOldSync: () => number;
107 getTotalMemory: () => Promise<number>;
108 getTotalMemorySync: () => number;
109 getType: () => Promise<string>;
110 getTypeSync: () => string;
111 getUniqueId: () => Promise<string>;
112 getUniqueIdSync: () => string;
113 getUsedMemory: () => Promise<number>;
114 getUsedMemorySync: () => number;
115 getUserAgent: () => Promise<string>;
116 getUserAgentSync: () => string;
117 getBrightness: () => Promise<number>;
118 getBrightnessSync: () => number;
119 hasGms: () => Promise<boolean>;
120 hasGmsSync: () => boolean;
121 hasHms: () => Promise<boolean>;
122 hasHmsSync: () => boolean;
123 hasSystemFeature: (feature: string) => Promise<boolean>;
124 hasSystemFeatureSync: (feature: string) => boolean;
125 isAirplaneMode: () => Promise<boolean>;
126 isAirplaneModeSync: () => boolean;
127 isBatteryCharging: () => Promise<boolean>;
128 isBatteryChargingSync: () => boolean;
129 isCameraPresent: () => Promise<boolean>;
130 isCameraPresentSync: () => boolean;
131 isEmulator: () => Promise<boolean>;
132 isEmulatorSync: () => boolean;
133 isHeadphonesConnected: () => Promise<boolean>;
134 isHeadphonesConnectedSync: () => boolean;
135 isLocationEnabled: () => Promise<boolean>;
136 isLocationEnabledSync: () => boolean;
137 isPinOrFingerprintSet: () => Promise<boolean>;
138 isPinOrFingerprintSetSync: () => boolean;
139 isMouseConnected: () => Promise<boolean>;
140 isMouseConnectedSync: () => boolean;
141 isKeyboardConnected: () => Promise<boolean>;
142 isKeyboardConnectedSync: () => boolean;
143 isTabletMode: () => Promise<boolean>;
144 syncUniqueId: () => Promise<string>;
145}
146export interface DeviceInfoNativeModule extends NativeConstants, HiddenNativeMethods, ExposedNativeMethods {
147}
148export interface DeviceInfoModule extends ExposedNativeMethods {
149 getApplicationName: () => string;
150 getBrand: () => string;
151 getBuildNumber: () => string;
152 getBundleId: () => string;
153 getDeviceId: () => string;
154 getDeviceType: () => string;
155 getManufacturer: () => Promise<string>;
156 getManufacturerSync: () => string;
157 getModel: () => string;
158 getPowerState: () => Promise<Partial<PowerState>>;
159 getPowerStateSync: () => Partial<PowerState>;
160 getReadableVersion: () => string;
161 getSystemName: () => string;
162 getSystemVersion: () => string;
163 getUniqueId: () => Promise<string>;
164 getUniqueIdSync: () => string;
165 getVersion: () => string;
166 hasNotch: () => boolean;
167 hasSystemFeature: (feature: string) => Promise<boolean>;
168 hasSystemFeatureSync: (feature: string) => boolean;
169 isLandscape: () => Promise<boolean>;
170 isLandscapeSync: () => boolean;
171 isTablet: () => boolean;
172 supported32BitAbis: () => Promise<string[]>;
173 supported32BitAbisSync: () => string[];
174 supported64BitAbis: () => Promise<string[]>;
175 supported64BitAbisSync: () => string[];
176 supportedAbis: () => Promise<string[]>;
177 supportedAbisSync: () => string[];
178 useBatteryLevel: () => number | null;
179 useBatteryLevelIsLow: () => number | null;
180 useDeviceName: () => AsyncHookResult<string>;
181 useFirstInstallTime: () => AsyncHookResult<number>;
182 useHasSystemFeature: (feature: string) => AsyncHookResult<boolean>;
183 useIsEmulator: () => AsyncHookResult<boolean>;
184 usePowerState: () => Partial<PowerState>;
185 useManufacturer: () => AsyncHookResult<string>;
186 useIsHeadphonesConnected: () => AsyncHookResult<boolean>;
187 useBrightness: () => number | null;
188}
189export declare type Getter<T> = () => T;
190export declare type PlatformArray = typeof Platform.OS[];
191export interface GetSupportedPlatformInfoSyncParams<T> {
192 getter: Getter<T>;
193 supportedPlatforms: PlatformArray;
194 defaultValue: T;
195 memoKey?: string;
196}
197export interface GetSupportedPlatformInfoAsyncParams<T> extends Omit<GetSupportedPlatformInfoSyncParams<T>, 'getter'> {
198 getter: Getter<Promise<T>>;
199}
200export interface GetFilterPlatformFunctionsParams<T> extends GetSupportedPlatformInfoAsyncParams<T> {
201 syncGetter: Getter<T>;
202}
203export interface GetSupportedPlatformInfoFunctionsParams<T> extends GetSupportedPlatformInfoAsyncParams<T> {
204 syncGetter: Getter<T>;
205}
206export {};