// @flow
declare module.exports: {
getUniqueID: () => string,
getManufacturer: () => string,
getBrand: () => string,
getModel: () => string,
getDeviceId: () => string,
getSystemName: () => string,
getSystemVersion: () => string,
getBundleId: () => string,
getApplicationName: () => string,
getBuildNumber: () => string,
getVersion: () => string,
getReadableVersion: () => string,
getDeviceName: () => string,
getUserAgent: () => string,
getDeviceLocale: () => string,
getDeviceCountry: () => string,
getTimezone: () => string,
getInstanceID: () => string,
isEmulator: () => boolean,
isTablet: () => boolean,
getFontScale: () => number,
is24Hour: () => boolean,
isPinOrFingerprintSet: () => (
cb: (isPinOrFingerprintSet: boolean) => void
) => void,
getFirstInstallTime: () => number,
getLastUpdateTime: () => number,
getSerialNumber: () => string,
getAPILevel: () => number,
getIPAddress: () => Promise<string>,
getMACAddress: () => Promise<string>,
getPhoneNumber: () => ?string,
getCarrier: () => string,
getTotalMemory: () => number,
getMaxMemory: () => number,
getTotalDiskCapacity: () => number,
getFreeDiskStorage: () => number,
};