import type { ReactNode } from 'react';
/**
 * Layout configuration types
 */
export type AuthLayoutVariant = 'mobile' | 'desktop';
export type AuthLayoutMaxWidth = 'sm' | 'md' | 'lg';
/** Text/alignment variant for Logo, Title, Description slots */
export type AuthLayoutAlign = 'left' | 'center' | 'right';
/**
 * Props for AuthLayout.Root component
 */
export interface AuthLayoutRootProps {
    /** Main content (compound components) */
    children: ReactNode;
    /** Layout variation for spacing and alignment */
    variant?: AuthLayoutVariant;
    /** Maximum width constraint for the content area */
    maxWidth?: AuthLayoutMaxWidth;
    /** Additional className for the root container */
    className?: string;
}
/**
 * Props for AuthLayout.Header component
 */
export interface AuthLayoutHeaderProps {
    /** Header content */
    children: ReactNode;
    /** Additional className */
    className?: string;
}
/**
 * Props for AuthLayout.Logo component
 */
export interface AuthLayoutLogoProps {
    /** Logo content */
    children: ReactNode;
    /** Alignment: left, center (default), or right */
    align?: AuthLayoutAlign;
    /** Additional className */
    className?: string;
}
/**
 * Props for AuthLayout.Title component
 */
export interface AuthLayoutTitleProps {
    /** Title content */
    children: ReactNode;
    /** Alignment: left, center (default), or right */
    align?: AuthLayoutAlign;
    /** Additional className */
    className?: string;
}
/**
 * Props for AuthLayout.Description component
 */
export interface AuthLayoutDescriptionProps {
    /** Description content */
    children: ReactNode;
    /** Alignment: left, center (default), or right */
    align?: AuthLayoutAlign;
    /** Additional className */
    className?: string;
}
/**
 * Props for AuthLayout.Body component
 */
export interface AuthLayoutBodyProps {
    /** Body content (forms, buttons, etc.) */
    children: ReactNode;
    /** Additional className */
    className?: string;
}
/**
 * Props for AuthLayout.Main component
 */
export interface AuthLayoutMainProps {
    /** Main content (Logo, Title, Description, Body slots) */
    children: ReactNode;
    /** When true, constrains main content width to 320px (max-w-[320px]) */
    sm?: boolean;
    /** Additional className */
    className?: string;
}
/**
 * Props for AuthLayout.Footer component
 */
export interface AuthLayoutFooterProps {
    /** Footer content */
    children: ReactNode;
    /** Additional className */
    className?: string;
}
