"""
Composability module for Information Spaces.

Provides space-to-space references, variable/config inheritance,
and basic access control for the Information Space system.
"""

from .models import (
    SpaceReference,
    SpaceReferenceType,
    SpacePermission,
    SpaceRole,
    AccessLevel,
    SpaceAccess,
    InheritedVariable,
    InheritedConfig,
)
from .service import (
    ComposableSpaceService,
    InheritanceResolver,
    AccessControlService,
)
from .repository import (
    ISpaceReferenceRepository,
    IAccessControlRepository,
    SqliteSpaceReferenceRepository,
    SqliteAccessControlRepository,
)

__all__ = [
    # Models
    "SpaceReference",
    "SpaceReferenceType",
    "SpacePermission",
    "SpaceRole",
    "AccessLevel",
    "SpaceAccess",
    "InheritedVariable",
    "InheritedConfig",
    # Services
    "ComposableSpaceService",
    "InheritanceResolver",
    "AccessControlService",
    # Repositories
    "ISpaceReferenceRepository",
    "IAccessControlRepository",
    "SqliteSpaceReferenceRepository",
    "SqliteAccessControlRepository",
]
