"""
Repository layer for Information Spaces.

This package provides data access abstractions:
- ISpaceRepository: Abstract interface for space CRUD operations
- SqliteSpaceRepository: SQLite implementation
- IDocumentAssociationRepository: Document-space association storage
- IVariableRepository: Space variable storage
- IReferenceRepository: Transclusion reference tracking
"""

from .interfaces import (
    ISpaceRepository,
    IDocumentAssociationRepository,
    IVariableRepository,
    IReferenceRepository,
)
from .sqlite import (
    SqliteSpaceRepository,
    SqliteDocumentRepository,
    SqliteVariableRepository,
    SqliteReferenceRepository,
    initialize_space_tables,
)

__all__ = [
    # Interfaces
    "ISpaceRepository",
    "IDocumentAssociationRepository",
    "IVariableRepository",
    "IReferenceRepository",
    # SQLite implementations
    "SqliteSpaceRepository",
    "SqliteDocumentRepository",
    "SqliteVariableRepository",
    "SqliteReferenceRepository",
    "initialize_space_tables",
]
