import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSURL } from "../Foundation/NSURL.js";
import type { _ASWebAuthenticationPresentationContextProviding } from "./ASWebAuthenticationPresentationContextProviding.js";
import type { _ASWebAuthenticationSessionCallback } from "./ASWebAuthenticationSessionCallback.js";
export declare class _ASWebAuthenticationSession extends _NSObject {
    static alloc(): _ASWebAuthenticationSession;
    static new(): _ASWebAuthenticationSession;
    init(): _ASWebAuthenticationSession;
    /**
     * Returns an ASWebAuthenticationSession object. the initial URL pointing to the authentication webpage. Only supports URLs with http:// or https:// schemes. the custom URL scheme that the app expects in the callback URL. the completion handler which is called when the session is completed successfully or canceled by user.
     * @deprecated Use initWithURL:callback:completionHandler: instead
     */
    initWithURL$callbackURLScheme$completionHandler$(URL: _NSURL, callbackURLScheme: _NSString | null, completionHandler: (arg0: _NSURL, arg1: _NSError) => void): _ASWebAuthenticationSession;
    initWithURL$callback$completionHandler$(URL: _NSURL, callback: _ASWebAuthenticationSessionCallback, completionHandler: (arg0: _NSURL, arg1: _NSError) => void): _ASWebAuthenticationSession;
    /**
     * Starts the ASWebAuthenticationSession instance after it is instantiated. start can only be called once for an ASWebAuthenticationSession instance. This also means calling start on a canceled session will fail. Returns YES if the session starts successfully.
     */
    start(): boolean;
    /**
     * Cancel an ASWebAuthenticationSession. If the view controller is already presented to load the webpage for authentication, it will be dismissed. Calling cancel on an already canceled session will have no effect.
     */
    cancel(): void;
    /**
     * Provides context to target where in an application's UI the authorization view should be shown. A provider must be set prior to calling -start, otherwise the authorization view cannot be displayed. If deploying to iOS prior to 13.0, the desired window is inferred by the application's key window.
     */
    presentationContextProvider(): _ASWebAuthenticationPresentationContextProviding | null;
    setPresentationContextProvider$(value: _ASWebAuthenticationPresentationContextProviding | null): void;
    /**
     * Indicates whether this session should ask the browser for an ephemeral session. Ephemeral web browser sessions do not not share cookies or other browsing data with a user's normal browser session. This value is NO by default. Setting this property after calling -[ASWebAuthenticationSession start] has no effect.
     */
    prefersEphemeralWebBrowserSession(): boolean;
    setPrefersEphemeralWebBrowserSession$(value: boolean): void;
    /**
     * Any additional header fields to be set when loading the initial URL. All header field names must start with the "X-" prefix.
     */
    additionalHeaderFields(): _NSDictionary | null;
    setAdditionalHeaderFields$(value: _NSDictionary | null): void;
    /**
     * Returns whether the session can be successfully started. This property returns the same value as calling -start, but without the side effect of actually starting the session.
     */
    canStart(): boolean;
}
