import { default as React, ReactNode } from 'react'; import { Role } from '../types'; interface RequireRoleProps { children: ReactNode; /** Single role required */ role?: Role; /** Any of these roles required */ roles?: Role[]; /** Redirect path if role check fails */ redirectTo?: string; /** Component to show if access denied (not shown during loading) */ fallback?: ReactNode; } /** * Guard component that requires a specific role. * Redirects if user doesn't have the required role. * * @example * ```tsx * // Single role * * * * * // Multiple roles (any of) * * * * * // With access denied fallback * }> * * * ``` */ export declare const RequireRole: React.MemoExoticComponent<({ children, role, roles, redirectTo, fallback }: RequireRoleProps) => import("react/jsx-runtime").JSX.Element>; /** * HOC version of RequireRole */ export declare function withRequireRole

(Component: React.ComponentType

, roleConfig: { role?: Role; roles?: Role[]; redirectTo?: string; }): React.ComponentType

; export {};