/** * Auth Container Component * * The main authentication UI container that switches between sign-in, * sign-up, and reset-password modes. Coordinates social login buttons, * form fields, mode navigation links, and i18n labels. * * @module auth/auth-container */ import { TNode } from '@tempots/dom'; import { AuthContainerOptions } from './index'; /** * Renders the main authentication container that switches between sign-in, * sign-up, and reset-password modes. * * The container manages mode state, renders the appropriate form for the * current mode, displays optional social login buttons with a divider, * and provides navigation links to switch between modes. * * @param options - Configuration options for the auth container. * @param children - Additional child nodes to render inside the container. * @returns A `TNode` representing the complete auth container UI. * * @example * ```ts * AuthContainer({ * mode: 'signin', * socialProviders: [{ provider: 'google' }, { provider: 'github' }], * onSignIn: async (data) => { * const error = await api.signIn(data) * return error ?? null * }, * onSignUp: async (data) => { * const error = await api.signUp(data) * return error ?? null * }, * onResetPassword: async (data) => { * const error = await api.resetPassword(data) * return error ?? null * }, * showRememberMe: true, * showSocialDivider: true, * }) * ``` */ export declare function AuthContainer({ mode: initialMode, socialProviders, initialName, initialEmail, passwordRules, showRememberMe, showSocialDivider, showPasswordStrength, labels, onSignIn, onSignUp, onResetPassword, onModeChange, onSocialLogin, showContainer, showNameField, showConfirmPassword, showAcceptTermsAndConditions, termsAndConditions, }: AuthContainerOptions, ...children: TNode[]): import("@tempots/core").Renderable; /** * Creates an authentication container displayed inside a modal dialog. * * Provides a callback-based API where the consumer receives an `open` function * that triggers the modal with auth container content. The modal is small-sized, * dismissable, and includes a close button. * * @param fn - A function that receives an `open` callback and returns the trigger `TNode`. * The `open` callback accepts {@link AuthContainerOptions} plus an optional `modalTitle`. * @returns A `TNode` that includes both the trigger element and the modal. * * @example * ```ts * AuthModal((open) => * Button({ onClick: () => open({ onSignIn: handleSignIn }) }, 'Sign In') * ) * ``` */ export declare function AuthModal(fn: (open: (options: AuthContainerOptions & { modalTitle?: () => string; }) => void) => TNode): import("@tempots/dom").Renderable;