"""Core HOTOSM authentication package shared by framework integrations."""

__version__ = "0.2.10"

# Core models and configuration
from hotosm_auth.models import HankoUser, OSMConnection, OSMScope
from hotosm_auth.config import AuthConfig
from hotosm_auth.exceptions import (
    AuthenticationError,
    TokenExpiredError,
    TokenInvalidError,
    CookieDecryptionError,
    OSMOAuthError,
)
from hotosm_auth.jwt_validator import JWTValidator
from hotosm_auth.crypto import CookieCrypto
from hotosm_auth.osm_oauth import OSMOAuthClient
from hotosm_auth.logger import get_logger, log_auth_event

# Admin schemas (used by both FastAPI and Django)
from hotosm_auth.schemas.admin import (
    MappingResponse,
    MappingListResponse,
    MappingCreate,
    MappingUpdate,
)

__all__ = [
    # Version
    "__version__",
    # Models
    "HankoUser",
    "OSMConnection",
    "OSMScope",
    # Configuration
    "AuthConfig",
    # Exceptions
    "AuthenticationError",
    "TokenExpiredError",
    "TokenInvalidError",
    "CookieDecryptionError",
    "OSMOAuthError",
    # Core classes
    "JWTValidator",
    "CookieCrypto",
    "OSMOAuthClient",
    # Logging
    "get_logger",
    "log_auth_event",
    # Admin schemas
    "MappingResponse",
    "MappingListResponse",
    "MappingCreate",
    "MappingUpdate",
]
