"""
Gitea API facade - Clean interface for Gitea repository operations.

This package provides a clean, well-structured interface to Gitea API operations,
following the facade pattern to decouple application logic from specific API
implementation details.

Structure:
- client: Main GiteaClient facade
- models: Domain models (Issue, Milestone, Label, etc.)
- config: Gitea-specific configuration
- exceptions: Gitea-specific exceptions

Usage:
    from gitea import GiteaClient

    client = GiteaClient()
    issues = client.issues.list()
    issue = client.issues.get(42)
    client.issues.create("Bug fix", "Description")
"""

from .client import GiteaClient
from .models import Issue, Milestone, Label, ProjectState, Priority
from .config import GiteaConfig
from .exceptions import GiteaError, GiteaAuthError, GiteaNotFoundError

__all__ = [
    'GiteaClient',
    'Issue', 'Milestone', 'Label', 'ProjectState', 'Priority',
    'GiteaConfig',
    'GiteaError', 'GiteaAuthError', 'GiteaNotFoundError'
]