"""Repository layer for Mantimon TCG.

This package defines repository protocols (interfaces) and their implementations.
Repositories handle pure data access (CRUD operations), while services contain
business logic.

The protocol pattern enables:
- Easy testing with mock repositories
- Multiple storage backends (PostgreSQL, SQLite, JSON files)
- Offline fork support without rewriting service layer

Usage:
    from app.repositories import CollectionRepository, DeckRepository
    from app.repositories.postgres import PostgresCollectionRepository

    # In production (dependency injection)
    repo = PostgresCollectionRepository(db_session)

    # In tests
    repo = MockCollectionRepository()
"""

from app.repositories.protocols import (
    CollectionRepository,
    DeckRepository,
)

__all__ = [
    "CollectionRepository",
    "DeckRepository",
]
