# Generated by @docstream/fastapi-server-emitter
# Do not edit this file manually — regenerate with: tsp compile .
"""Stub repository implementation.

All methods raise NotImplementedError. Replace with actual file-system
data access logic.
"""
from __future__ import annotations


from typing import Protocol, runtime_checkable

from ..models.contexts import Context, ContextCreate, ContextList, ContextUpdate, Source, SourceCreate, SourceList
from ..models.errors import NotFoundError, ValidationError
from ..models.health import HealthResponse, ReadyResponse


class StubRepository:
    """Stub implementation of Repository.

    All methods raise NotImplementedError. Replace with actual
    file-system data access logic by subclassing or monkey-patching.
"""

    # ── contexts ──
    """Add a source to a context"""
    async def add_source(self, id: str, data: SourceCreate) -> NotFoundError:
        raise NotImplementedError(
            "Repository method add_source not yet implemented"
        )
    """Create a context"""
    async def create_create_context(self, data: ContextCreate) -> ValidationError:
        raise NotImplementedError(
            "Repository method create_create_context not yet implemented"
        )
    """Force a context reload"""
    async def create_reload_context(self, id: str) -> NotFoundError:
        raise NotImplementedError(
            "Repository method create_reload_context not yet implemented"
        )
    """Delete a context"""
    async def delete_delete_context(self, id: str) -> NotFoundError:
        raise NotImplementedError(
            "Repository method delete_delete_context not yet implemented"
        )
    """Remove a source"""
    async def delete_delete_source(self, id: str, slug: str) -> NotFoundError:
        raise NotImplementedError(
            "Repository method delete_delete_source not yet implemented"
        )
    """Get a context"""
    async def get_context_context(self, id: str) -> NotFoundError:
        raise NotImplementedError(
            "Repository method get_context_context not yet implemented"
        )
    """Get a source"""
    async def get_source_context(self, id: str, slug: str) -> NotFoundError:
        raise NotImplementedError(
            "Repository method get_source_context not yet implemented"
        )
    """List contexts"""
    async def list_contexts_context(self) -> ContextList:
        raise NotImplementedError(
            "Repository method list_contexts_context not yet implemented"
        )
    """List sources in a context"""
    async def list_sources_context(self, id: str) -> NotFoundError:
        raise NotImplementedError(
            "Repository method list_sources_context not yet implemented"
        )
    """Update a context's renderer"""
    async def update_update_context(self, id: str, data: ContextUpdate) -> NotFoundError:
        raise NotImplementedError(
            "Repository method update_update_context not yet implemented"
        )

    # ── health ──
    """Health check"""
    async def health_health(self) -> HealthResponse:
        raise NotImplementedError(
            "Repository method health_health not yet implemented"
        )
    """Readiness check"""
    async def ready_health(self) -> ReadyResponse:
        raise NotImplementedError(
            "Repository method ready_health not yet implemented"
        )
