import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _ASAuthorizationControllerDelegate } from "./ASAuthorizationControllerDelegate.js";
import type { _ASAuthorizationControllerPresentationContextProviding } from "./ASAuthorizationControllerPresentationContextProviding.js";
import type { ASAuthorizationControllerRequestOptions } from "./ASAuthorizationControllerRequestOptions.js";
export declare class _ASAuthorizationController extends _NSObject {
    static alloc(): _ASAuthorizationController;
    static new(): _ASAuthorizationController;
    init(): _ASAuthorizationController;
    /**
     * Initialize the controller with authorization requests. At least one request should be provided. Requests of same type maybe honored in first in first out order
     */
    initWithAuthorizationRequests$(authorizationRequests: _NSArray): _ASAuthorizationController;
    /**
     * Initiate the authorization flows. Upon completion, the delegate will be called with either success or failure. Certain authorization flows may require a presentation context. The will be called to provide it. The instance will remain retained until the flow is either completed or canceled, and the delegate callback is made.
     */
    performRequests(): void;
    /**
     * Initiate the authorization flows for requests that support AutoFill presentation. UI will be shown when focusing a text field with the appropriate text content type. Upon completion, the delegate will be called with either success or failure. The instance will remain retained until the flow is either completed or canceled, and the delegate callback is made.
     */
    performAutoFillAssistedRequests(): void;
    /**
     * Initiate the authorization flows. Upon completion, the delegate will be called with either success or failure. Certain authorization flows may require a presentation context. The will be called to provide it. Calling this method with no options is the same as calling The instance will remain retained until the flow is either completed or canceled, and the delegate callback is made.
     */
    performRequestsWithOptions$(options: ASAuthorizationControllerRequestOptions): void;
    /**
     * Cancel the running authorization flows, if there are any. If a flow is canceled, the delegate callback will be made indicating the cancel.
     */
    cancel(): void;
    /** Authorization requests that are being serviced by this controller */
    authorizationRequests(): _NSArray;
    /**
     * This delegate will be invoked upon completion of the authorization indicating success or failure. Delegate is required to receive the results of authorization.
     */
    delegate(): _ASAuthorizationControllerDelegate | null;
    setDelegate$(value: _ASAuthorizationControllerDelegate | null): void;
    /**
     * This delegate will be invoked upon needing a presentation context to display authorization UI.
     */
    presentationContextProvider(): _ASAuthorizationControllerPresentationContextProviding;
    setPresentationContextProvider$(value: _ASAuthorizationControllerPresentationContextProviding): void;
    /**
     * A list of custom authorization methods that may be displayed in the authorization UI. If the user selects one of these methods, instead of attempting to secure an authorization for the requests, the controller will call authorizationController:didCompleteWithCustomMethod: with the selected method, allowing the client to perform the requested authorization.
     */
    customAuthorizationMethods(): _NSArray;
    setCustomAuthorizationMethods$(value: _NSArray): void;
}
