'use client';

import { default as React } from 'react';
export interface MFASetupProps {
    /**
     * Success callback
     */
    onSuccess?: (message: string) => void;
    /**
     * Error callback
     */
    onError?: (error: string) => void;
    /**
     * Show TOTP setup
     */
    showTOTPSetup?: boolean;
    /**
     * Show SMS setup
     */
    showSMSSetup?: boolean;
    /**
     * Show Email setup
     */
    showEmailSetup?: boolean;
    /**
     * Show backup codes
     */
    showBackupCodes?: boolean;
    /**
     * Custom className
     */
    className?: string;
    /**
     * Whether component is disabled
     */
    isDisabled?: boolean;
    /**
     * Component variant
     */
    variant?: 'flat' | 'bordered' | 'shadow';
    /**
     * Component size
     */
    size?: 'sm' | 'md' | 'lg';
    /**
     * Default active method
     */
    defaultMethod?: string;
    /**
     * Hide specific methods
     */
    hideMethods?: string[];
    /**
     * Custom method configurations
     */
    customMethods?: MFAMethodConfig[];
}
export interface MFAMethodConfig {
    key: string;
    name: string;
    description: string;
    icon: React.ReactNode;
    setupComponent: React.ReactNode;
}
export declare function MFASetup({ onSuccess, onError, showTOTPSetup, showSMSSetup, showEmailSetup, showBackupCodes, className, isDisabled, variant, size, defaultMethod, hideMethods, customMethods, }: MFASetupProps): import("react/jsx-runtime").JSX.Element;
export default MFASetup;
//# sourceMappingURL=mfa-setup.d.ts.map