import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSExtensionContext } from "../Foundation/NSExtensionContext.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _ASAuthorizationAppleIDCredential } from "./ASAuthorizationAppleIDCredential.js";
import type { _ASPasswordCredential } from "./ASPasswordCredential.js";
export declare class _ASAccountAuthenticationModificationExtensionContext extends _NSExtensionContext {
    static alloc(): _ASAccountAuthenticationModificationExtensionContext;
    static new(): _ASAccountAuthenticationModificationExtensionContext;
    init(): _ASAccountAuthenticationModificationExtensionContext;
    /**
     * @abstract Retrieves a Sign in with Apple credential from the system. @param state Can be specified to enhance security. State is returned in the ASAuthorizationAppleIDCredential. @param nonce Can be specified to enhance security. The returned identityToken on the ASAuthorizationAppleIDCredential can be exchanged with the server for the nonce. @discussion Calling this method will cause the system Sign in with Apple upgrade sheet to appear. If extension UI is showing when this method is called, the extension UI will be dismissed before the sheet is presented.
     */
    getSignInWithAppleUpgradeAuthorizationWithState$nonce$completionHandler$(state: _NSString | null, nonce: _NSString | null, completionHandler: ((authorization: _ASAuthorizationAppleIDCredential, error: _NSError) => void) | null): void;
    /**
     * @abstract Confirms successful completion of a Sign in with Apple upgrade. @param userInfo For upgrades invoked within the extension's containing app, any information the extension wants to pass back to the app. @discussion Once a Sign in with Apple upgrade is completed, the system will delete the password-based credential from the Keychain, if it is saved there.
     */
    completeUpgradeToSignInWithAppleWithUserInfo$(userInfo: _NSDictionary | null): void;
    /**
     * @abstract Confirms successful completion of a strong password upgrade. @param updatedCredential contains the account username and new password. @param userInfo For upgrades invoked within the extension's containing app, any information the extension wants to pass back to the app.
     */
    completeChangePasswordRequestWithUpdatedCredential$userInfo$(updatedCredential: _ASPasswordCredential, userInfo: _NSDictionary | null): void;
    /**
     * @abstract Used to either ask for user interaction in a request or to fail a request.
     */
    cancelRequestWithError$(error: _NSError): void;
}
