from __future__ import annotations

from dataclasses import dataclass


@dataclass
class EDError(Exception):
    status_code: int
    detail: str | None
    units_charged: int


STATUS_520_POST_RESTRICTED = 520
STATUS_500_INTERNAL_ERROR = 500
STATUS_495_UNITS_DEPLETED = 495
STATUS_493_SUBSCRIPTION_EXPIRED = 493
STATUS_492_UNVERIFIED_EMAIL = 492
STATUS_491_INVALID_TOKEN = 491
STATUS_474_PROFILE_UNAVAILABLE = 474
STATUS_473_USER_NOT_FOUND = 473
STATUS_472_PRIVATE_USER = 472
STATUS_471_USER_RESTRICTED = 471
STATUS_469_TOPIC_RESTRICTED = 469
STATUS_466_INVALID_COUNTRY_CODE = 466
STATUS_465_INVALID_YOUTUBE_URL = 465
STATUS_464_MAX_POST_IDS = 464
STATUS_463_INVALID_USER = 463
STATUS_462_INVALID_TIKTOK_URL = 462
STATUS_429_RATE_LIMIT_EXCEEDED = 429
STATUS_422_VALIDATION_ERROR = 422
STATUS_404_NOT_FOUND = 404
