"""
Pydantic models for API documentation and validation
Story 3.6: Documentation OpenAPI (Swagger + ReDoc)
"""

from .translation import (
    TranslateResponseData,
    TranslateResponseMeta,
    TranslateResponse,
    TranslationStatusData,
    TranslationStatusMeta,
    TranslationStatusResponse,
    LanguageResponse,
)
from .auth import (
    RegisterRequest,
    LoginRequest,
    TokenResponse,
    LogoutResponse,
    RefreshRequest,
)
from .api_keys import (
    APIKeyCreateRequest,
    APIKeyResponse,
    APIKeyListResponse,
    APIKeyRevokeResponse,
)
from .admin import (
    AdminLoginRequest,
    AdminLoginResponse,
    AdminDashboardResponse,
    AdminUserResponse,
    AdminUserUpdateRequest,
    AdminStatsResponse,
    AdminRevokeApiKeyRequest,
)
from .errors import ErrorResponse, ErrorCode
from .common import (
    SuccessResponse,
    HealthCheckResponse,
    ReadyCheckResponse,
)
from .glossary_schemas import (
    GlossaryTermCreate,
    GlossaryTermResponse,
    GlossaryCreate,
    GlossaryUpdate,
    GlossaryResponse,
    GlossaryListItem,
    GlossaryListResponse,
    GlossaryDetailResponse,
)

__all__ = [
    # Translation
    "TranslateResponseData",
    "TranslateResponseMeta",
    "TranslateResponse",
    "TranslationStatusData",
    "TranslationStatusMeta",
    "TranslationStatusResponse",
    "LanguageResponse",
    # Auth
    "RegisterRequest",
    "LoginRequest",
    "TokenResponse",
    "LogoutResponse",
    "RefreshRequest",
    # API Keys
    "APIKeyCreateRequest",
    "APIKeyResponse",
    "APIKeyListResponse",
    "APIKeyRevokeResponse",
    # Admin
    "AdminLoginRequest",
    "AdminLoginResponse",
    "AdminDashboardResponse",
    "AdminUserResponse",
    "AdminUserUpdateRequest",
    "AdminStatsResponse",
    "AdminRevokeApiKeyRequest",
    # Errors
    "ErrorResponse",
    "ErrorCode",
    # Common
    "SuccessResponse",
    "HealthCheckResponse",
    "ReadyCheckResponse",
    # Glossaries
    "GlossaryTermCreate",
    "GlossaryTermResponse",
    "GlossaryCreate",
    "GlossaryUpdate",
    "GlossaryResponse",
    "GlossaryListItem",
    "GlossaryListResponse",
    "GlossaryDetailResponse",
]
