"""GitHub integration for Dexxy.

This module provides GitHub integration functionality including:
- GitHub App installation management
- Repository monitoring and sync
- Issues, PRs, and Discussions tracking
- Webhook handling

Public API:
    - Models: GitHubInstallation, GitHubRepository
    - GraphQL: GitHubQuery, GitHubMutation
    - Services: GitHubClient, GitHubSyncService
    - Tasks: sync_github_repository, sync_all_github_repositories
"""

# Re-export models from the models package for convenience
# Re-export exceptions
from integrations.github.exceptions import (
    GitHubAPIError,
    GitHubAuthError,
    GitHubError,
    GitHubRateLimitError,
    GitHubTokenExpiredError,
)

# Re-export services
from integrations.github.services import GitHubClient, GitHubSyncService
from integrations.models.github import GitHubInstallation, GitHubRepository

__all__ = [
    # Models
    "GitHubInstallation",
    "GitHubRepository",
    # Exceptions
    "GitHubError",
    "GitHubAPIError",
    "GitHubAuthError",
    "GitHubRateLimitError",
    "GitHubTokenExpiredError",
    # Services
    "GitHubClient",
    "GitHubSyncService",
]
