import { ReactNode } from 'react'; /** * Props for the AuthGuardLoading component. */ interface AuthGuardLoadingProps { /** * Optional custom loading content to display instead of the default spinner. * When provided, this completely replaces the default loading UI. */ fallback?: ReactNode; /** * Optional CSS class name for the loading container. * @default 'auth-guard-loading' */ className?: string; /** * Optional label for accessibility (screen readers). * @default 'Checking authentication...' */ ariaLabel?: string; } /** * Shared loading component for authentication guards. * * This component provides a consistent loading experience across all auth guards * (RequireAuth, RequireRole, RequirePermission) while checking authentication * and authorization status. * * DESIGN RATIONALE: * - Eliminates code duplication across auth guard components * - Provides a single point of customization for loading states * - Ensures consistent UX during authentication checks * - Supports accessibility with proper ARIA attributes * * @example * ```tsx * // Default usage * * * // With custom fallback * } /> * * // With custom className * * ``` */ export declare const AuthGuardLoading: import('react').MemoExoticComponent<({ fallback, className, ariaLabel, }: AuthGuardLoadingProps) => import("react/jsx-runtime").JSX.Element>; export {};