import type { UmbMfaProviderConfigurationCallback, UmbMfaProviderConfigurationElementProps } from '../types.js';
import { UmbLitElement } from '../../../core/lit-element/index.js';
import { UMB_NOTIFICATION_CONTEXT, type UmbNotificationColor } from '../../../core/notification/index.js';
import type { UUIButtonState } from '../../../../external/uui/index.js';
/**
 * A default MFA provider configuration element.
 * @element umb-mfa-provider-default
 */
export declare class UmbMfaProviderDefaultElement extends UmbLitElement implements UmbMfaProviderConfigurationElementProps {
    #private;
    providerName: string;
    displayName: string;
    callback: (providerName: string, code: string, secret: string) => UmbMfaProviderConfigurationCallback;
    close: () => void;
    protected _loading: boolean;
    protected _secret: string;
    protected _qrCodeSetupImageUrl: string;
    protected _buttonState?: UUIButtonState;
    protected notificationContext?: typeof UMB_NOTIFICATION_CONTEXT.TYPE;
    protected codeField?: HTMLInputElement;
    constructor();
    protected firstUpdated(): Promise<void>;
    render(): import("lit-html").TemplateResult<1>;
    /**
     * Show a peek notification with a message.
     * @param message The message to show.
     * @param color
     */
    protected peek(message: string, color?: UmbNotificationColor): void;
    /**
     * Submit the form with the code and secret back to the opener.
     * @param e The submit event
     */
    protected submit(e: SubmitEvent): Promise<void>;
    static styles: import("lit").CSSResult[];
}
export default UmbMfaProviderDefaultElement;
declare global {
    interface HTMLElementTagNameMap {
        'umb-mfa-provider-default': UmbMfaProviderDefaultElement;
    }
}
