import { ReactNode } from 'react';
import type { Permission } from '../../lib/permissions/types';
interface PermissionGateProps {
/** Required permission (if single) */
permission?: Permission;
/** Multiple required permissions (AND - all must be true) */
permissions?: Permission[];
/** Multiple permissions where any is sufficient (OR - at least one must be true) */
anyPermission?: Permission[];
/** Content to show if has permission */
children: ReactNode;
/** Alternative content if NO permission */
fallback?: ReactNode;
/** If true, shows fallback instead of null when no permission */
showFallback?: boolean;
}
/**
* Component for conditional rendering based on permissions
*
* USAGE PATTERNS:
*
* @example
* // Single permission check
*
(WrappedComponent: React.ComponentType
, permission: Permission, FallbackComponent?: React.ComponentType): (props: P) => import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=PermissionGate.d.ts.map