"""Support exports."""

from .authz import (
    ROLE_ORDER,
    Principal,
    Role,
    at_least,
    authorize,
    ensure_at_least,
    has_role,
    is_admin,
    is_reader,
    require_role,
)
from .errors import (
    AmbiguousPolicyError,
    AmbiguousRouteError,
    DomainError,
    DomainValidationError,
    FeatureDisabledError,
    ForbiddenError,
    MissingRequestScopeError,
    NotFoundError,
    PolicyNotFoundError,
    RouteNotFoundError,
    RoutingError,
    UnauthorizedError,
)
from .serialization import Serializer, asdict_primitives, to_primitive

__all__ = [
    "AmbiguousPolicyError",
    "AmbiguousRouteError",
    "DomainError",
    "DomainValidationError",
    "FeatureDisabledError",
    "ForbiddenError",
    "MissingRequestScopeError",
    "NotFoundError",
    "PolicyNotFoundError",
    "Principal",
    "ROLE_ORDER",
    "Role",
    "RouteNotFoundError",
    "RoutingError",
    "Serializer",
    "UnauthorizedError",
    "asdict_primitives",
    "at_least",
    "authorize",
    "ensure_at_least",
    "has_role",
    "is_admin",
    "is_reader",
    "require_role",
    "to_primitive",
]
