"""Core module: config, auth, transport, plugin system, service discovery."""

from __future__ import annotations

from ai4gh.core.auth import (
    AuthHandler,
    BearerTokenAuth,
    NoAuth,
    OAuth2Auth,
    PassportAuth,
    auto_detect_auth,
)
from ai4gh.core.client import GA4GHClient
from ai4gh.core.config import AuthConfig, Config
from ai4gh.core.exceptions import (
    AI4GHError,
    AuthError,
    ConfigError,
    NotFoundError,
    PluginError,
    RateLimitError,
    ServerError,
    SpecError,
    TransportError,
    ValidationError,
)
from ai4gh.core.plugin import GA4GHPlugin, PluginRegistry, registry
from ai4gh.core.transport import Transport
from ai4gh.core.types import ServiceInfo, ServiceType

__all__ = [
    "AI4GHError",
    "AuthConfig",
    "AuthError",
    "AuthHandler",
    "BearerTokenAuth",
    "Config",
    "ConfigError",
    "GA4GHClient",
    "GA4GHPlugin",
    "NoAuth",
    "NotFoundError",
    "OAuth2Auth",
    "PassportAuth",
    "PluginError",
    "PluginRegistry",
    "RateLimitError",
    "ServerError",
    "ServiceInfo",
    "ServiceType",
    "SpecError",
    "Transport",
    "TransportError",
    "ValidationError",
    "auto_detect_auth",
    "registry",
]
