import type { _NSViewController } from "../AppKit/NSViewController.js";
import type { _ASAccountAuthenticationModificationExtensionContext } from "./ASAccountAuthenticationModificationExtensionContext.js";
import type { _ASCredentialServiceIdentifier } from "./ASCredentialServiceIdentifier.js";
import type { _ASPasswordCredential } from "./ASPasswordCredential.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSString } from "../Foundation/NSString.js";
export declare class _ASAccountAuthenticationModificationViewController extends _NSViewController {
    static alloc(): _ASAccountAuthenticationModificationViewController;
    static new(): _ASAccountAuthenticationModificationViewController;
    init(): _ASAccountAuthenticationModificationViewController;
    /**
     * @abstract This method will be called when a user initiates a Sign in with Apple upgrade request. @param serviceIdentifier The service identifier of the credential the user wishes to upgrade. @param existingCredential The current password-based credential of the account for the upgrade. @param userInfo For upgrades invoked within the extension's containing app, any information the app wants to pass to the extension, most likely to help authorize the upgrade. @discussion This method will be called to begin a Sign in with Apple upgrade request and will not present any extension UI. If extension UI needs to be shown, this initial request should be canceled with the ASExtensionErrorCodeUserCanceled error code. The existingCredential parameter will have an empty password for in-app upgrades. The extension should check if a user is already logged in by checking a data container shared with its containing app.
     */
    convertAccountToSignInWithAppleWithoutUserInteractionForServiceIdentifier$existingCredential$userInfo$(serviceIdentifier: _ASCredentialServiceIdentifier, existingCredential: _ASPasswordCredential, userInfo: _NSDictionary | null): void;
    /**
     * @abstract This method will be called when a Sign in with Apple upgrade request requires user interaction. @param serviceIdentifier The service identifier of the credential the user wishes to upgrade. @param existingCredential The current password-based credential of the account for the upgrade. @param userInfo For upgrades invoked within the extension's containing app, any information the app wants to pass to the extension, most likely to help authorize the upgrade. @discussion This method will be called when the initial request is canceled with the ASExtensionErrorCodeUserCanceled error code. The implementation of this method should do any work necessary to prepare to present the extension UI. Once it finishes, the system will present the extension UI. The existingCredential parameter will have an empty password for in-app upgrades. The extension should check if a user is already logged in by checking state in a data container shared with its containing app.
     */
    prepareInterfaceToConvertAccountToSignInWithAppleForServiceIdentifier$existingCredential$userInfo$(serviceIdentifier: _ASCredentialServiceIdentifier, existingCredential: _ASPasswordCredential, userInfo: _NSDictionary | null): void;
    /**
     * @abstract This method will be called when a user initiates a strong password upgrade request. @param serviceIdentifier The service identifier of the credential the user wishes to upgrade. @param existingCredential The current password-based credential of the account for the upgrade. @param newPassword A strong password generated by the system to be used for the upgrade. @param userInfo For upgrades invoked within the extension's containing app, any information the app wants to pass to the extension, most likely to help authorize the upgrade. @discussion Password rules for generating the newPassword parameter can be specified with the ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple key in the extension's Info.plist. This method will be called to begin a strong password upgrade request and will not present any extension UI. If extension UI needs to be shown, this initial request should be canceled with the ASExtensionErrorCodeUserCanceled error code. The existingCredential parameter will have an empty password for in-app upgrades. The extension should check if a user is already logged in by checking a data container shared with its containing app.
     */
    changePasswordWithoutUserInteractionForServiceIdentifier$existingCredential$newPassword$userInfo$(serviceIdentifier: _ASCredentialServiceIdentifier, existingCredential: _ASPasswordCredential, newPassword: _NSString, userInfo: _NSDictionary | null): void;
    /**
     * @abstract This method will be called when a strong password upgrade request requires user interaction. @param serviceIdentifier The service identifier of the credential the user wishes to upgrade. @param existingCredential The current password-based credential of the account for the upgrade. @param newPassword A strong password generated by the system to be used for the upgrade. @param userInfo For upgrades invoked within the extension's containing app, any information the app wants to pass to the extension, most likely to help authorize the upgrade. @discussion This method will be called when the initial request is canceled with the ASExtensionErrorCodeUserCanceled error code. The implementation of this method should do any work necessary to prepare to present the extension UI. Once it finishes, the system will present the extension UI. Password rules for generating the newPassword parameter can be specified with the ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple key in the extension's Info.plist. The existingCredential parameter will have an empty password for in-app upgrades. The extension should check if a user is already logged in by checking state in a data container shared with its containing app.
     */
    prepareInterfaceToChangePasswordForServiceIdentifier$existingCredential$newPassword$userInfo$(serviceIdentifier: _ASCredentialServiceIdentifier, existingCredential: _ASPasswordCredential, newPassword: _NSString, userInfo: _NSDictionary | null): void;
    /**
     * @abstract This method will be called when the user taps the system-provided "Cancel" button shown above extension UI. @discussion Extension UI will be dismissed as soon as this method is called. The default implementation simply cancels the request with the ASExtensionErrorCodeUserCanceled error code. Override this method to do any cleanup work before the request is canceled. The implementation of this method should still cancel the request with the ASExtensionErrorCodeUserCanceled error code once the cleanup work is completed. If the request is not canceled in 10 seconds, the system will cancel the request.
     */
    cancelRequest(): void;
    extensionContext(): _ASAccountAuthenticationModificationExtensionContext;
}
