import { type ReactNode } from 'react';
import type { AuthLayoutAlign, AuthLayoutMaxWidth, AuthLayoutVariant } from '../../types/components/auth-layout-types';
/** Layout mode: `'withSlider'` renders inside a split-screen with an image slider, `'standalone'` renders without. */
export type AuthLayoutType = 'withSlider' | 'standalone';
/** Props for the AuthLayoutWrapper component that assembles the auth page shell. */
export interface AuthLayoutWrapperProps {
    /** Main content (typically the form body) rendered inside the layout. */
    children: ReactNode;
    /** Layout mode controlling the outer chrome. @default `'withSlider'` */
    layoutType?: AuthLayoutType;
    /** Logo or back-button element rendered at the top of the content area. */
    logo?: ReactNode;
    /** Heading element or string rendered below the logo. */
    title?: ReactNode;
    /** Descriptive text or element rendered below the title. */
    description?: ReactNode;
    /** Footer element rendered at the bottom of the content area. */
    footer?: ReactNode;
    /** Header element rendered above the main content area. */
    header?: ReactNode;
    /** Called when the back button is clicked. Pass `null` to hide the back button explicitly. */
    onBack?: (() => void) | null;
    /** Custom back button element. When provided, overrides the default back arrow button. */
    backButton?: ReactNode;
    /** Image URLs for the slider panel (only used when `layoutType` is `'withSlider'`). */
    sliderImages?: string[];
    /** Auto-play interval in milliseconds for the slider. */
    sliderAutoPlayInterval?: number;
    /** Titles displayed alongside each slider image. */
    sliderTitles?: (ReactNode | string)[];
    /** Layout variant controlling responsive behavior (e.g. `'desktop'`, `'mobile'`). */
    variant?: AuthLayoutVariant | undefined;
    /** Maximum width constraint for the content area (e.g. `'sm'`, `'md'`, `'lg'`). @default `'sm'` */
    maxWidth?: AuthLayoutMaxWidth;
    /** Content width preset: `'sm'` for narrow forms, `'default'` for standard width. @default `'default'` */
    contentWidth?: 'sm' | 'default';
    /** Horizontal alignment of logo, title, and description. @default `'center'` */
    align?: AuthLayoutAlign;
    /** Additional CSS class name(s) applied to the outermost layout element. */
    className?: string;
}
export declare function AuthLayoutWrapper({ children, layoutType, logo, title, description, footer, header, onBack, backButton, sliderImages, sliderAutoPlayInterval, sliderTitles, variant, maxWidth, contentWidth, align, className, }: AuthLayoutWrapperProps): React.ReactElement;
