1import { PermissionResponse, PermissionStatus, PermissionExpiration, PermissionHookOptions } from 'expo-modules-core'; 2/** 3 * Requests the user to authorize or deny access to app-related data that can be used for tracking 4 * the user or the device. Examples of data used for tracking include email address, device ID, 5 * advertising ID, etc. On iOS 14.5 and above, if the user denies this permission, any attempt to 6 * collect the IDFA will return a string of 0s. 7 * 8 * The system remembers the user’s choice and doesn’t prompt again unless a user uninstalls and then 9 * reinstalls the app on the device. 10 * 11 * On Android, web, and iOS 13 and below, this method always returns that the permission was 12 * granted. 13 * @example 14 * ```typescript 15 * const { granted } = await requestTrackingPermissionsAsync(); 16 * 17 * if (granted) { 18 * // Your app is authorized to track the user or their device 19 * } 20 * ``` 21 */ 22export declare function requestTrackingPermissionsAsync(): Promise<PermissionResponse>; 23/** 24 * Checks whether or not the user has authorized the app to access app-related data that can be used 25 * for tracking the user or the device. See `requestTrackingPermissionsAsync` for more details. 26 * 27 * On Android, web, and iOS 13 and below, this method always returns that the permission was 28 * granted. 29 * 30 * @example 31 * ```typescript 32 * const { granted } = await getTrackingPermissionsAsync(); 33 * 34 * if (granted) { 35 * // Your app is authorized to track the user or their device 36 * } 37 * ``` 38 */ 39export declare function getTrackingPermissionsAsync(): Promise<PermissionResponse>; 40/** 41 * Check or request the user to authorize or deny access to app-related data that can be used for tracking 42 * the user or the device. Examples of data used for tracking include email address, device ID, 43 * advertising ID, etc. On iOS 14.5 and above, if the user denies this permission, any attempt to 44 * collect the IDFA will return a string of 0s. 45 * 46 * The system remembers the user’s choice and doesn’t prompt again unless a user uninstalls and then 47 * reinstalls the app on the device. 48 * 49 * On Android, web, and iOS 13 and below, this method always returns that the permission was 50 * granted. 51 * @example 52 * ```ts 53 * const [status, requestPermission] = useTrackingPermissions(); 54 * ``` 55 */ 56export declare const useTrackingPermissions: (options?: PermissionHookOptions<object> | undefined) => [PermissionResponse | null, () => Promise<PermissionResponse>, () => Promise<PermissionResponse>]; 57/** 58 * Returns whether the TrackingTransparency API is available on the current device. 59 * 60 * @returns Currently this is `true` on iOS 14 and above only. On devices where the 61 * Tracking Transparency API is unavailable, the get and request permissions methods will always 62 * resolve to `granted`. 63 */ 64export declare function isAvailable(): boolean; 65export { PermissionResponse, PermissionStatus, PermissionExpiration, PermissionHookOptions }; 66//# sourceMappingURL=TrackingTransparency.d.ts.map