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 {};