import * as react_jsx_runtime from 'react/jsx-runtime';
import { SignInProps, SignUpProps, ForgotPasswordProps, ResetPasswordProps, VerifyEmailProps, PasswordlessSignInProps, MfaChallengeProps, MfaSetupProps, MfaManageProps, ConsentScreenProps, SsoEmailFormProps, SsoConnectorListProps, UserButtonProps, ProfileTabContentProps, UserProfileProps } from '@datatechsolutions/shared-domain';
export { ConsentScreenProps, ForgotPasswordProps, MfaChallengeProps, MfaManageProps, MfaSetupProps, PasswordlessSignInProps, ResetPasswordProps, SignInProps, SignUpProps, SsoConnector, SsoConnectorListProps, SsoEmailFormProps, UserButtonProps, UserProfileProps, VerifyEmailProps } from '@datatechsolutions/shared-domain';
import { ReactNode } from 'react';

declare function SignIn({ onSuccess, onSignUp, onForgotPassword, onPasswordless, socialProviders, allowPasswordless, defaultEmail, embedded, heroPanel, }: SignInProps): react_jsx_runtime.JSX.Element;

declare function SignUp({ onSuccess, onSignIn, socialProviders, passwordPolicy, embedded, heroPanel, }: SignUpProps): react_jsx_runtime.JSX.Element;

declare function ForgotPassword({ onSuccess, onBack, defaultEmail, embedded, }: ForgotPasswordProps): react_jsx_runtime.JSX.Element;

declare function ResetPassword({ token, onSuccess, passwordPolicy, embedded, }: ResetPasswordProps): react_jsx_runtime.JSX.Element;

declare function VerifyEmail({ email, onSuccess, onResend, embedded, }: VerifyEmailProps): react_jsx_runtime.JSX.Element;

declare function PasswordlessSignIn({ defaultMethod, allowedChannels, onSuccess, onBack, defaultEmail, embedded, }: PasswordlessSignInProps): react_jsx_runtime.JSX.Element;

declare function MfaChallenge({ mfaToken, onSuccess, onCancel, availableMethods, embedded, }: MfaChallengeProps): react_jsx_runtime.JSX.Element;

declare function MfaSetup({ onSuccess, onCancel, enforcement, onGenerateSecret, onVerifySetup, }: MfaSetupProps): react_jsx_runtime.JSX.Element;

declare function MfaManage({ mfaEnabled, enrolledMethods, onEnroll, onDisable, onRegenerateBackupCodes, }: MfaManageProps): react_jsx_runtime.JSX.Element;

declare function ConsentScreen({ application, scopes, grantedScopes, onApprove, onDeny, isSubmitting, }: ConsentScreenProps): react_jsx_runtime.JSX.Element;

declare function SsoEmailForm({ onEmailSubmit, onConnectorSelect, defaultEmail, embedded, }: SsoEmailFormProps): react_jsx_runtime.JSX.Element;

declare function SsoConnectorList({ connectors, onSelect, loading }: SsoConnectorListProps): react_jsx_runtime.JSX.Element;

declare function UserButton({ menuItems, onSignOut, avatarUrl, labels }: UserButtonProps): react_jsx_runtime.JSX.Element | null;

declare function ProfileTabContent({ onProfileUpdate }: ProfileTabContentProps): react_jsx_runtime.JSX.Element;
declare function SecurityTabContent(): react_jsx_runtime.JSX.Element;
declare function SessionsTabContent(): react_jsx_runtime.JSX.Element;
declare function LinkedAccountsTabContent(): react_jsx_runtime.JSX.Element;
declare function UserProfile({ defaultTab, tabs, onSignOut: _onSignOut, onProfileUpdate, }: UserProfileProps): react_jsx_runtime.JSX.Element | null;

type SocialProvider = 'google' | 'github' | 'discord' | 'microsoft' | 'apple' | 'amazon';
interface OtpInputProps {
    value: string;
    onChange: (value: string) => void;
    onComplete?: (code: string) => void;
    error?: string;
    disabled?: boolean;
    autoFocus?: boolean;
    length?: number;
}
declare function OtpInput({ value, onChange, onComplete, error, disabled, autoFocus, length, }: OtpInputProps): react_jsx_runtime.JSX.Element;
interface PasswordStrengthMeterProps {
    password: string;
    policy?: unknown;
    showRequirements?: boolean;
}
declare function PasswordStrengthMeter({ password, showRequirements, }: PasswordStrengthMeterProps): react_jsx_runtime.JSX.Element | null;
interface BackupCodeGridProps {
    codes: string[];
    revealed?: boolean;
}
declare function BackupCodeGrid({ codes, revealed }: BackupCodeGridProps): react_jsx_runtime.JSX.Element;
interface AuthLayoutProps {
    children: ReactNode;
    heroPanel?: unknown;
}
declare function AuthLayout({ children }: AuthLayoutProps): react_jsx_runtime.JSX.Element;
interface SocialLoginButtonsProps {
    providers: SocialProvider[];
    onProviderClick: (provider: SocialProvider) => void;
    loading?: SocialProvider | null;
    disabled?: boolean;
}
declare function SocialLoginButtons({ providers, onProviderClick, loading, disabled, }: SocialLoginButtonsProps): react_jsx_runtime.JSX.Element;

export { AuthLayout, type AuthLayoutProps, BackupCodeGrid, type BackupCodeGridProps, ConsentScreen, ForgotPassword, LinkedAccountsTabContent, MfaChallenge, MfaManage, MfaSetup, OtpInput, type OtpInputProps, PasswordStrengthMeter, type PasswordStrengthMeterProps, PasswordlessSignIn, ProfileTabContent, ResetPassword, SecurityTabContent, SessionsTabContent, SignIn, SignUp, SocialLoginButtons, type SocialLoginButtonsProps, type SocialProvider, SsoConnectorList, SsoEmailForm, UserButton, UserProfile, VerifyEmail };
