import { MantineStyleProp } from '@mantine/core'; import { AuthProvider } from '../../types'; export interface SignInProps { // Routing routing?: 'path' | 'virtual'; path?: string; redirectUrl?: string; afterSignInUrl?: string; // Providers providers?: AuthProvider[]; // Customization appearance?: SignInAppearance; // Callbacks onSuccess?: (user: any) => void; onError?: (error: any) => void; // Features rememberMe?: boolean; showDivider?: boolean; forgotPasswordUrl?: string; signUpUrl?: string; // Initial values initialEmail?: string; // Component props className?: string; style?: MantineStyleProp; } export interface SignInAppearance { layout?: { socialButtonsPlacement?: 'top' | 'bottom'; socialButtonsVariant?: 'iconButton' | 'blockButton'; showDivider?: boolean; logoPlacement?: 'inside' | 'outside'; }; elements?: { card?: string; headerTitle?: string; headerSubtitle?: string; socialButtonsContainer?: string; divider?: string; formButtonPrimary?: string; footerActionLink?: string; [key: string]: string | undefined; }; variables?: { colorPrimary?: string; colorDanger?: string; borderRadius?: string; fontFamily?: string; [key: string]: string | undefined; }; } export interface SignInFormData { email: string; password: string; rememberMe?: boolean; }