from __future__ import annotations
from typing import Any
from enum import IntEnum
from enum import auto

class TransliterationModules(IntEnum):
    UPPERCASE_LOWERCASE = 1
    LOWERCASE_UPPERCASE = 2
    HALFWIDTH_FULLWIDTH = 3
    FULLWIDTH_HALFWIDTH = 4
    KATAKANA_HIRAGANA = 5
    HIRAGANA_KATAKANA = 6
    NumToTextLower_zh_CN = 7
    NumToTextUpper_zh_CN = 8
    NumToTextLower_zh_TW = 9
    NumToTextUpper_zh_TW = 10
    NumToTextFormalHangul_ko = 11
    NumToTextFormalLower_ko = 12
    NumToTextFormalUpper_ko = 13
    NON_IGNORE_MASK = 0x000000ff
    IGNORE_MASK = -0x100
    IGNORE_CASE = 0x00000100
    IGNORE_KANA = 0x00000200
    IGNORE_WIDTH = 0x00000400
    IgnoreTraditionalKanji_ja_JP = 0x00001000
    IgnoreTraditionalKana_ja_JP = 0x00002000
    IgnoreMinusSign_ja_JP = 0x00004000
    IgnoreIterationMark_ja_JP = 0x00008000
    IgnoreSeparator_ja_JP = 0x00010000
    IgnoreZiZu_ja_JP = 0x00020000
    IgnoreBaFa_ja_JP = 0x00040000
    IgnoreTiJi_ja_JP = 0x00080000
    IgnoreHyuByu_ja_JP = 0x00100000
    IgnoreSeZe_ja_JP = 0x00200000
    IgnoreIandEfollowedByYa_ja_JP = 0x00400000
    IgnoreKiKuFollowedBySa_ja_JP = 0x00800000
    IgnoreSize_ja_JP = 0x01000000
    IgnoreProlongedSoundMark_ja_JP = 0x02000000
    IgnoreMiddleDot_ja_JP = 0x04000000
    IgnoreSpace_ja_JP = 0x08000000
    SmallToLarge_ja_JP = 0x10000000
    LargeToSmall_ja_JP = 0x20000000
    END_OF_MODULE = 0
