import { type Snippet } from 'svelte'; import { type AuthenticatorMachineOptions, type AuthFormFields, type AuthMachineState, type SocialProvider } from '@aws-amplify/ui'; import { type AuthUser } from '@aws-amplify/auth'; import { useAuth } from '../../stores/authenticator.svelte'; import { type Components } from '../../types'; interface ComponentsProvider extends Components { ConfirmSignIn?: Components; ConfirmSignUp?: Components; ConfirmResetPassword?: Components; ConfirmVerifyUser?: Components; ForceNewPassword?: Components; ForgotPassword?: Components; SelectMfaType?: Components; SetupEmail?: Components; SetupTotp?: Components; SignIn?: Components; SignUp?: Components; VerifyUser?: Components; } interface AuthenticatorProps { components?: ComponentsProvider; initialState?: AuthenticatorMachineOptions['initialState']; loginMechanisms?: AuthenticatorMachineOptions['loginMechanisms']; variation?: 'default' | 'modal'; services?: AuthenticatorMachineOptions['services']; signUpAttributes?: AuthenticatorMachineOptions['signUpAttributes']; socialProviders?: SocialProvider[]; hideSignUp?: boolean; formFields?: AuthFormFields; children?: Snippet<[ { user: AuthUser; state: AuthMachineState; signOut: () => void; send: ReturnType['send']; } ]>; } declare const Authenticator: import("svelte").Component; type Authenticator = ReturnType; export default Authenticator;