/**
 * 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, }: AuthContainerOptions, ...children: TNode[]): import("@tempots/dom").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;
