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

(Component: React.ComponentType

, permissionConfig: { permission?: Permission; permissions?: Permission[]; anyPermission?: Permission[]; redirectTo?: string; }): React.ComponentType

; export {};