import { ReactNode } from 'react'; import { EmailClassNames, EmailColors } from './email-styles'; /** * Device information displayed in the new device email notification. */ export interface DeviceInfo { /** Browser name and version */ browser?: string; /** Operating system name and version */ os?: string; /** Geographic location of the sign-in */ location?: string; /** IP address of the device */ ipAddress?: string; /** Timestamp of the sign-in event */ timestamp?: string; } declare const newDeviceEmailLocalization: { NEW_SIGN_IN_DETECTED: string; LOGO: string; NEW_SIGN_IN_TO_YOUR_ACCOUNT: string; DEVICE_DETAILS: string; BROWSER: string; OPERATING_SYSTEM: string; LOCATION: string; IP_ADDRESS: string; TIME: string; IF_THIS_WAS_YOU: string; SECURE_MY_ACCOUNT: string; EMAIL_SENT_BY: string; IF_YOU_DIDNT_SIGN_IN: string; POWERED_BY_BETTER_AUTH: string; }; /** * Localization strings for the NewDeviceEmail component. * * Contains all text content used in the new device detection email template. */ export type NewDeviceEmailLocalization = typeof newDeviceEmailLocalization; /** * Props for the NewDeviceEmail component. */ export interface NewDeviceEmailProps { /** Email address of the user account */ userEmail?: string; /** Information about the device that signed in */ deviceInfo?: DeviceInfo; /** URL to secure the account if unauthorized access is suspected */ secureAccountLink?: string; /** Name of the application sending the email */ appName?: string; /** Support email address for security concerns */ supportEmail?: string; /** Logo URL(s) - a single string or light/dark variants. If omitted, no logo is shown. */ logoURL?: string | { light: string; dark: string; }; /** Custom CSS class names for styling specific parts of the email */ classNames?: EmailClassNames; /** Custom color scheme for light and dark modes */ colors?: EmailColors; /** Whether to show the "Powered by better-auth" footer */ poweredBy?: boolean; /** Whether to enable dark mode support */ darkMode?: boolean; /** Additional React nodes to inject into the email head */ head?: ReactNode; /** * Localization overrides for customizing email text * @remarks `NewDeviceEmailLocalization` */ localization?: Partial; } /** * Email template component that notifies users when a new device signs into their account. * * This email includes: * - Device information display (browser, OS, location, IP, timestamp) * - Secure account action button * - Security warnings and support contact information * - Customizable branding and styling * - Support for light/dark mode themes * * @example * ```tsx * * ``` */ export declare const NewDeviceEmail: { ({ userEmail, deviceInfo, secureAccountLink, appName, supportEmail, logoURL, colors, classNames, darkMode, poweredBy, head, ...props }: NewDeviceEmailProps): import("react").JSX.Element; localization: { NEW_SIGN_IN_DETECTED: string; LOGO: string; NEW_SIGN_IN_TO_YOUR_ACCOUNT: string; DEVICE_DETAILS: string; BROWSER: string; OPERATING_SYSTEM: string; LOCATION: string; IP_ADDRESS: string; TIME: string; IF_THIS_WAS_YOU: string; SECURE_MY_ACCOUNT: string; EMAIL_SENT_BY: string; IF_YOU_DIDNT_SIGN_IN: string; POWERED_BY_BETTER_AUTH: string; }; PreviewProps: NewDeviceEmailProps; }; export default NewDeviceEmail;