"""Modern asynchronous Python client library for the Habitica API."""

from .const import ASSETS_URL, DEFAULT_URL, __version__
from .exceptions import (
    BadRequestError,
    HabiticaException,
    NotAuthorizedError,
    NotFoundError,
    TooManyRequestsError,
)
from .helpers import deserialize_task, extract_avatar
from .lib import Habitica
from .typedefs import (
    AchievementsUser,
    AchievmentContent,
    ActiveFilterTask,
    AnimalColorAchievementContent,
    AnimalSetAchievementContent,
    Attributes,
    AuthUser,
    Avatar,
    BackerUser,
    BuffsStats,
    BuffsStatsavatar,
    CardTypes,
    Challenge,
    ChallengeAbortedReason,
    ChangeClassData,
    Checklist,
    CommonTutorial,
    CompletedBy,
    ConsecutivePlan,
    ContentData,
    ContributorUser,
    Direction,
    DropTmpScore,
    EggEntry,
    EmailNotificationsPreferences,
    EntryHistory,
    EquippedGear,
    FlagsUser,
    Frequency,
    GearClass,
    GearContent,
    GearEntry,
    GearItems,
    GearItemsAvatar,
    GearType,
    GlobalActivity,
    GlobalActivityWebhook,
    GroupChatReceived,
    GroupChatReceivedOptions,
    GroupChatReceivedWebhook,
    GroupData,
    GroupTask,
    HabiticaCastSkillResponse,
    HabiticaClass,
    HabiticaClassSystemResponse,
    HabiticaContentResponse,
    HabiticaDeleteWebhookResponse,
    HabiticaErrorResponse,
    HabiticaGroupMembersResponse,
    HabiticaGroupsResponse,
    HabiticaLoginResponse,
    HabiticaMessageResponse,
    HabiticaQuestResponse,
    HabiticaResponse,
    HabiticaScoreResponse,
    HabiticaSleepResponse,
    HabiticaStatsResponse,
    HabiticaTagResponse,
    HabiticaTagsResponse,
    HabiticaTaskOrderResponse,
    HabiticaTaskResponse,
    HabiticaTasksResponse,
    HabiticaUserAnonymizedResponse,
    HabiticaUserExport,
    HabiticaUserResponse,
    HabiticaWebhookResponse,
    HairPreferences,
    HatchingPotionEntry,
    HistoryUser,
    InboxUser,
    InventoryItemEntry,
    InvitationsUser,
    IosTutorial,
    ItemListContent,
    ItemListEntry,
    ItemsAvatar,
    ItemsUser,
    Language,
    LastDropItems,
    LocalAuth,
    LocalTimestamps,
    LoginData,
    NotificationsUser,
    PartyMember,
    PartyUser,
    PermissionsUser,
    PetEntry,
    PetSetCompleteAchievsContent,
    PinnedItemsUser,
    PlanPurchased,
    PreferencesAvatar,
    PreferencesUser,
    ProfileUser,
    ProgressQuest,
    PurchasedUser,
    PushDevicesUser,
    PushNotificationsPreferences,
    QuestActivity,
    QuestActivityOptions,
    QuestActivityWebhook,
    QuestBoss,
    QuestBossRage,
    QuestCollect,
    QuestData,
    QuestDrop,
    QuestItem,
    QuestParty,
    QuestsAchievments,
    QuestsContent,
    QuestTmpScore,
    QuestUnlockCondition,
    Reminders,
    Repeat,
    ScoreData,
    Skill,
    SpecialItemEntry,
    SpecialItems,
    SpellEntry,
    SpellsClass,
    StableAchievementContent,
    StatsAvatar,
    StatsUser,
    SuppressModalsPreferences,
    TagsUser,
    Task,
    TaskActivity,
    TaskActivityOptions,
    TaskActivityWebhook,
    TaskData,
    TaskFilter,
    TaskPriority,
    TasksOrderUser,
    TasksPreferences,
    TasksUserExport,
    TaskType,
    TmpScore,
    TourFlags,
    TrainingStats,
    TutorialFlags,
    UltimateGearSetsAchievments,
    UserActivity,
    UserActivityOptions,
    UserActivityWebhook,
    UserAnonymizedData,
    UserData,
    UserTasks,
    WebhookType,
)

__all__ = [
    "ASSETS_URL",
    "DEFAULT_URL",
    "AchievementsUser",
    "AchievmentContent",
    "ActiveFilterTask",
    "AnimalColorAchievementContent",
    "AnimalSetAchievementContent",
    "Attributes",
    "AuthUser",
    "Avatar",
    "BackerUser",
    "BadRequestError",
    "BuffsStats",
    "BuffsStatsavatar",
    "CardTypes",
    "Challenge",
    "ChallengeAbortedReason",
    "ChangeClassData",
    "ChangeClassData",
    "Checklist",
    "Checklist",
    "CommonTutorial",
    "CompletedBy",
    "ConsecutivePlan",
    "ContentData",
    "ContentData",
    "ContributorUser",
    "Direction",
    "DropTmpScore",
    "EggEntry",
    "EmailNotificationsPreferences",
    "EntryHistory",
    "EquippedGear",
    "FlagsUser",
    "Frequency",
    "GearClass",
    "GearContent",
    "GearEntry",
    "GearItems",
    "GearItemsAvatar",
    "GearType",
    "GlobalActivity",
    "GlobalActivityWebhook",
    "GroupChatReceived",
    "GroupChatReceivedOptions",
    "GroupChatReceivedWebhook",
    "GroupData",
    "GroupTask",
    "Habitica",
    "HabiticaCastSkillResponse",
    "HabiticaCastSkillResponse",
    "HabiticaClass",
    "HabiticaClassSystemResponse",
    "HabiticaClassSystemResponse",
    "HabiticaContentResponse",
    "HabiticaContentResponse",
    "HabiticaDeleteWebhookResponse",
    "HabiticaErrorResponse",
    "HabiticaErrorResponse",
    "HabiticaException",
    "HabiticaGroupMembersResponse",
    "HabiticaGroupMembersResponse",
    "HabiticaGroupsResponse",
    "HabiticaLoginResponse",
    "HabiticaLoginResponse",
    "HabiticaMessageResponse",
    "HabiticaQuestResponse",
    "HabiticaQuestResponse",
    "HabiticaResponse",
    "HabiticaResponse",
    "HabiticaScoreResponse",
    "HabiticaScoreResponse",
    "HabiticaSleepResponse",
    "HabiticaSleepResponse",
    "HabiticaStatsResponse",
    "HabiticaStatsResponse",
    "HabiticaTagResponse",
    "HabiticaTagResponse",
    "HabiticaTagsResponse",
    "HabiticaTagsResponse",
    "HabiticaTaskOrderResponse",
    "HabiticaTaskOrderResponse",
    "HabiticaTaskResponse",
    "HabiticaTaskResponse",
    "HabiticaTasksResponse",
    "HabiticaTasksResponse",
    "HabiticaUserAnonymizedResponse",
    "HabiticaUserAnonymizedResponse",
    "HabiticaUserExport",
    "HabiticaUserExport",
    "HabiticaUserResponse",
    "HabiticaUserResponse",
    "HabiticaWebhookResponse",
    "HairPreferences",
    "HatchingPotionEntry",
    "HistoryUser",
    "InboxUser",
    "InventoryItemEntry",
    "InvitationsUser",
    "IosTutorial",
    "ItemListContent",
    "ItemListEntry",
    "ItemsAvatar",
    "ItemsUser",
    "Language",
    "LastDropItems",
    "LocalAuth",
    "LocalTimestamps",
    "LoginData",
    "LoginData",
    "NotAuthorizedError",
    "NotFoundError",
    "NotificationsUser",
    "PartyMember",
    "PartyUser",
    "PermissionsUser",
    "PetEntry",
    "PetSetCompleteAchievsContent",
    "PinnedItemsUser",
    "PlanPurchased",
    "PreferencesAvatar",
    "PreferencesUser",
    "ProfileUser",
    "ProgressQuest",
    "PurchasedUser",
    "PushDevicesUser",
    "PushNotificationsPreferences",
    "QuestActivity",
    "QuestActivityOptions",
    "QuestActivityWebhook",
    "QuestBoss",
    "QuestBossRage",
    "QuestCollect",
    "QuestData",
    "QuestData",
    "QuestDrop",
    "QuestItem",
    "QuestParty",
    "QuestTmpScore",
    "QuestUnlockCondition",
    "QuestsAchievments",
    "QuestsContent",
    "Reminders",
    "Repeat",
    "Repeat",
    "ScoreData",
    "ScoreData",
    "Skill",
    "SpecialItemEntry",
    "SpecialItems",
    "SpellEntry",
    "SpellsClass",
    "StableAchievementContent",
    "StatsAvatar",
    "StatsUser",
    "StatsUser",
    "SuppressModalsPreferences",
    "TagsUser",
    "TagsUser",
    "Task",
    "TaskActivity",
    "TaskActivityOptions",
    "TaskActivityWebhook",
    "TaskData",
    "TaskData",
    "TaskFilter",
    "TaskPriority",
    "TaskType",
    "TasksOrderUser",
    "TasksPreferences",
    "TasksUserExport",
    "TmpScore",
    "TooManyRequestsError",
    "TourFlags",
    "TrainingStats",
    "TutorialFlags",
    "UltimateGearSetsAchievments",
    "UserActivity",
    "UserActivityOptions",
    "UserActivityWebhook",
    "UserAnonymizedData",
    "UserAnonymizedData",
    "UserData",
    "UserData",
    "UserTasks",
    "UserTasks",
    "WebhookType",
    "__version__",
    "deserialize_task",
    "extract_avatar",
]
