import type { _NSObject } from "../Foundation/NSObject.js";
import type { ATTrackingManagerAuthorizationStatus } from "./ATTrackingManagerAuthorizationStatus.js";
export declare class _ATTrackingManager extends _NSObject {
    static alloc(): _ATTrackingManager;
    static new(): _ATTrackingManager;
    init(): _ATTrackingManager;
    /**
     * The request for user authorization to access app-related data. The ``ATTrackingManager/requestTrackingAuthorizationWithCompletionHandler:`` is a one-time request to authorize or deny access to app-related data that can be used for tracking the user or the device. The system remembers the user’s choice and doesn’t prompt again unless a user uninstalls and then reinstalls the app on the device. Calls to the API only prompt when the application state is `UIApplicationStateActive`. The authorization prompt doesn’t display if another permission request is pending user confirmation. Concurrent requests aren’t preserved by iOS, and calls to the API through an app extension don’t prompt. Check the ``ATTrackingManager/trackingAuthorizationStatus`` for a status of ``ATTrackingManagerAuthorizationStatus/ATTrackingManagerAuthorizationStatusNotDetermined`` to determine if you need to make an additional call. The completion handler will be called with the result of the user's decision for granting or denying permission to use application tracking. The completion handler will be called immediately if access to request authorization is restricted. - Important: To use ``ATTrackingManager/requestTrackingAuthorizationWithCompletionHandler:``, the <doc ://com.apple.documentation/documentation/bundleresources/information_property_list/NSUserTrackingUsageDescription> key must be in the <doc ://com.apple.documentation/documentation/bundleresources/information_property_list>.
     */
    static requestTrackingAuthorizationWithCompletionHandler$(completion: (status: ATTrackingManagerAuthorizationStatus) => void): void;
    /**
     * The authorization status that is current for the calling application. If the user has not yet been prompted to approve access, the return value will either be ``ATTrackingManagerAuthorizationStatusNotDetermined``, or ``ATTrackingManagerAuthorizationStatusRestricted`` if this value is managed. Once the user has been prompted, the return value will be either ``ATTrackingManagerAuthorizationStatusDenied`` or ``ATTrackingManagerAuthorizationStatusAuthorized``. Use the ``ATTrackingManager/trackingAuthorizationStatus`` property to check authorization status. - Returns: Information about your application’s tracking authorization status. Users are able to grant or deny developers tracking privileges on a per-app basis. Application developers must call `requestTrackingAuthorizationWithCompletionHandler:` for the ability to track users.
     */
    static trackingAuthorizationStatus(): ATTrackingManagerAuthorizationStatus;
}
