"""
RBAC/ABAC Policy System for Klausur-Service (barrel re-export)

This module was split into:
  - rbac_types.py        (Enums, data structures)
  - rbac_permissions.py  (Permission matrix)
  - rbac_engine.py       (PolicyEngine, default policies, API guards)

All public symbols are re-exported here for backwards compatibility.
"""

# Types and enums
from .rbac_types import (  # noqa: F401
    Role,
    Action,
    ResourceType,
    ZKVisibilityMode,
    EHVisibilityMode,
    VerfahrenType,
    PolicySet,
    RoleAssignment,
    KeyShare,
    Tenant,
    Namespace,
    ExamPackage,
)

# Permission matrix
from .rbac_permissions import DEFAULT_PERMISSIONS  # noqa: F401

# Engine, policies, guards
from .rbac_engine import (  # noqa: F401
    PolicyEngine,
    create_default_policy_sets,
    get_policy_engine,
    require_permission,
    require_role,
)
