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
*
(Component: React.ComponentType
, permissionConfig: { permission?: Permission; permissions?: Permission[]; anyPermission?: Permission[]; redirectTo?: string; }): React.ComponentType
; export {};