'use client';

import { default as React } from 'react';
import { RadiusT, SizeT } from '../../../../types';
export interface EmailVerificationProps {
    email?: string;
    organizationId?: string;
    autoSubmit?: boolean;
    codeLength?: number;
    resendDelay?: number;
    maxResendAttempts?: number;
    expirationTime?: number;
    onVerificationSuccess?: (result: {
        email: string;
        verified: boolean;
    }) => void;
    onVerificationError?: (error: Error) => void;
    onCodeSent?: () => void;
    onCodeResent?: (attempt: number) => void;
    className?: string;
    style?: React.CSSProperties;
    disabled?: boolean;
    size?: SizeT;
    modalSize?: SizeT;
    radius?: RadiusT;
}
export interface EmailVerificationFormProps extends EmailVerificationProps {
    showHeader?: boolean;
    showInstructions?: boolean;
}
export interface EmailVerificationModalProps extends EmailVerificationProps {
    isOpen: boolean;
    onClose: () => void;
    isDismissable?: boolean;
}
export interface EmailVerificationCardProps extends EmailVerificationProps {
    variant?: "flat" | "bordered" | "shadow";
    radius?: "none" | "sm" | "md" | "lg";
}
export interface EmailVerificationStatusProps {
    status: "sent" | "verified" | "error" | "expired";
    email: string;
    onRetry?: () => void;
    className?: string;
}
export interface ResendEmailButtonProps {
    onResend: () => void;
    disabled?: boolean;
    remainingTime?: number;
    attempt?: number;
    maxAttempts?: number;
    className?: string;
    size?: SizeT;
    radius?: RadiusT;
}
export declare const EmailVerification: {
    (props: EmailVerificationProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
//# sourceMappingURL=email-verification.d.ts.map