# WARNING: Please don't edit this file. It was generated by Python/WinRT v1.0.0-beta.9

import enum
import datetime
import sys
import types
import typing

import winsdk.system
import winsdk.windows.foundation
import winsdk.windows.foundation.collections
import winsdk.windows.system

class DayOfWeek(enum.IntEnum):
    SUNDAY = 0
    MONDAY = 1
    TUESDAY = 2
    WEDNESDAY = 3
    THURSDAY = 4
    FRIDAY = 5
    SATURDAY = 6

class LanguageLayoutDirection(enum.IntEnum):
    LTR = 0
    RTL = 1
    TTB_LTR = 2
    TTB_RTL = 3

Self = typing.TypeVar('Self')

class ApplicationLanguages(winsdk.system.Object):
    primary_language_override: typing.ClassVar[str]
    languages: typing.ClassVar[typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]]
    manifest_languages: typing.ClassVar[typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> ApplicationLanguages: ...
    @staticmethod
    def get_languages_for_user(user: typing.Optional[winsdk.windows.system.User]) -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]: ...

class Calendar(winsdk.system.Object):
    year: winsdk.system.Int32
    second: winsdk.system.Int32
    period: winsdk.system.Int32
    nanosecond: winsdk.system.Int32
    month: winsdk.system.Int32
    minute: winsdk.system.Int32
    numeral_system: str
    era: winsdk.system.Int32
    hour: winsdk.system.Int32
    day: winsdk.system.Int32
    first_second_in_this_minute: winsdk.system.Int32
    first_year_in_this_era: winsdk.system.Int32
    is_daylight_saving_time: winsdk.system.Boolean
    languages: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    last_day_in_this_month: winsdk.system.Int32
    last_era: winsdk.system.Int32
    last_hour_in_this_period: winsdk.system.Int32
    last_minute_in_this_hour: winsdk.system.Int32
    last_month_in_this_year: winsdk.system.Int32
    last_second_in_this_minute: winsdk.system.Int32
    last_year_in_this_era: winsdk.system.Int32
    day_of_week: DayOfWeek
    first_day_in_this_month: winsdk.system.Int32
    last_period_in_this_day: winsdk.system.Int32
    first_era: winsdk.system.Int32
    number_of_days_in_this_month: winsdk.system.Int32
    number_of_eras: winsdk.system.Int32
    number_of_hours_in_this_period: winsdk.system.Int32
    number_of_minutes_in_this_hour: winsdk.system.Int32
    first_hour_in_this_period: winsdk.system.Int32
    number_of_months_in_this_year: winsdk.system.Int32
    number_of_periods_in_this_day: winsdk.system.Int32
    number_of_seconds_in_this_minute: winsdk.system.Int32
    number_of_years_in_this_era: winsdk.system.Int32
    first_minute_in_this_hour: winsdk.system.Int32
    resolved_language: str
    first_month_in_this_year: winsdk.system.Int32
    first_period_in_this_day: winsdk.system.Int32
    @staticmethod
    def _from(obj: winsdk.system.Object) -> Calendar: ...
    @typing.overload
    def __new__(cls: typing.Type[Calendar], languages: typing.Iterable[str], calendar: str, clock: str, time_zone_id: str) -> Calendar:...
    @typing.overload
    def __new__(cls: typing.Type[Calendar], languages: typing.Iterable[str]) -> Calendar:...
    @typing.overload
    def __new__(cls: typing.Type[Calendar], languages: typing.Iterable[str], calendar: str, clock: str) -> Calendar:...
    @typing.overload
    def __new__(cls: typing.Type[Calendar]) -> Calendar:...
    def add_days(self, days: winsdk.system.Int32) -> None: ...
    def add_eras(self, eras: winsdk.system.Int32) -> None: ...
    def add_hours(self, hours: winsdk.system.Int32) -> None: ...
    def add_minutes(self, minutes: winsdk.system.Int32) -> None: ...
    def add_months(self, months: winsdk.system.Int32) -> None: ...
    def add_nanoseconds(self, nanoseconds: winsdk.system.Int32) -> None: ...
    def add_periods(self, periods: winsdk.system.Int32) -> None: ...
    def add_seconds(self, seconds: winsdk.system.Int32) -> None: ...
    def add_weeks(self, weeks: winsdk.system.Int32) -> None: ...
    def add_years(self, years: winsdk.system.Int32) -> None: ...
    def change_calendar_system(self, value: str) -> None: ...
    def change_clock(self, value: str) -> None: ...
    def change_time_zone(self, time_zone_id: str) -> None: ...
    def clone(self) -> typing.Optional[Calendar]: ...
    def compare(self, other: typing.Optional[Calendar]) -> winsdk.system.Int32: ...
    def compare_date_time(self, other: datetime.datetime) -> winsdk.system.Int32: ...
    def copy_to(self, other: typing.Optional[Calendar]) -> None: ...
    def day_as_padded_string(self, min_digits: winsdk.system.Int32) -> str: ...
    def day_as_string(self) -> str: ...
    @typing.overload
    def day_of_week_as_solo_string(self) -> str: ...
    @typing.overload
    def day_of_week_as_solo_string(self, ideal_length: winsdk.system.Int32) -> str: ...
    @typing.overload
    def day_of_week_as_string(self) -> str: ...
    @typing.overload
    def day_of_week_as_string(self, ideal_length: winsdk.system.Int32) -> str: ...
    @typing.overload
    def era_as_string(self) -> str: ...
    @typing.overload
    def era_as_string(self, ideal_length: winsdk.system.Int32) -> str: ...
    def get_calendar_system(self) -> str: ...
    def get_clock(self) -> str: ...
    def get_date_time(self) -> datetime.datetime: ...
    def get_time_zone(self) -> str: ...
    def hour_as_padded_string(self, min_digits: winsdk.system.Int32) -> str: ...
    def hour_as_string(self) -> str: ...
    def minute_as_padded_string(self, min_digits: winsdk.system.Int32) -> str: ...
    def minute_as_string(self) -> str: ...
    def month_as_numeric_string(self) -> str: ...
    def month_as_padded_numeric_string(self, min_digits: winsdk.system.Int32) -> str: ...
    @typing.overload
    def month_as_solo_string(self) -> str: ...
    @typing.overload
    def month_as_solo_string(self, ideal_length: winsdk.system.Int32) -> str: ...
    @typing.overload
    def month_as_string(self) -> str: ...
    @typing.overload
    def month_as_string(self, ideal_length: winsdk.system.Int32) -> str: ...
    def nanosecond_as_padded_string(self, min_digits: winsdk.system.Int32) -> str: ...
    def nanosecond_as_string(self) -> str: ...
    @typing.overload
    def period_as_string(self) -> str: ...
    @typing.overload
    def period_as_string(self, ideal_length: winsdk.system.Int32) -> str: ...
    def second_as_padded_string(self, min_digits: winsdk.system.Int32) -> str: ...
    def second_as_string(self) -> str: ...
    def set_date_time(self, value: datetime.datetime) -> None: ...
    def set_to_max(self) -> None: ...
    def set_to_min(self) -> None: ...
    def set_to_now(self) -> None: ...
    @typing.overload
    def time_zone_as_string(self) -> str: ...
    @typing.overload
    def time_zone_as_string(self, ideal_length: winsdk.system.Int32) -> str: ...
    def year_as_padded_string(self, min_digits: winsdk.system.Int32) -> str: ...
    def year_as_string(self) -> str: ...
    def year_as_truncated_string(self, remaining_digits: winsdk.system.Int32) -> str: ...

class CalendarIdentifiers(winsdk.system.Object):
    julian: typing.ClassVar[str]
    gregorian: typing.ClassVar[str]
    hebrew: typing.ClassVar[str]
    hijri: typing.ClassVar[str]
    japanese: typing.ClassVar[str]
    korean: typing.ClassVar[str]
    taiwan: typing.ClassVar[str]
    thai: typing.ClassVar[str]
    um_al_qura: typing.ClassVar[str]
    persian: typing.ClassVar[str]
    chinese_lunar: typing.ClassVar[str]
    vietnamese_lunar: typing.ClassVar[str]
    taiwan_lunar: typing.ClassVar[str]
    korean_lunar: typing.ClassVar[str]
    japanese_lunar: typing.ClassVar[str]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> CalendarIdentifiers: ...

class ClockIdentifiers(winsdk.system.Object):
    twelve_hour: typing.ClassVar[str]
    twenty_four_hour: typing.ClassVar[str]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> ClockIdentifiers: ...

class CurrencyAmount(winsdk.system.Object):
    amount: str
    currency: str
    @staticmethod
    def _from(obj: winsdk.system.Object) -> CurrencyAmount: ...
    def __new__(cls: typing.Type[CurrencyAmount], amount: str, currency: str) -> CurrencyAmount:...

class CurrencyIdentifiers(winsdk.system.Object):
    h_n_l: typing.ClassVar[str]
    a_e_d: typing.ClassVar[str]
    a_f_n: typing.ClassVar[str]
    a_l_l: typing.ClassVar[str]
    a_m_d: typing.ClassVar[str]
    a_n_g: typing.ClassVar[str]
    a_o_a: typing.ClassVar[str]
    a_r_s: typing.ClassVar[str]
    a_u_d: typing.ClassVar[str]
    a_w_g: typing.ClassVar[str]
    a_z_n: typing.ClassVar[str]
    b_a_m: typing.ClassVar[str]
    b_b_d: typing.ClassVar[str]
    b_d_t: typing.ClassVar[str]
    b_g_n: typing.ClassVar[str]
    b_h_d: typing.ClassVar[str]
    b_i_f: typing.ClassVar[str]
    b_m_d: typing.ClassVar[str]
    b_n_d: typing.ClassVar[str]
    b_o_b: typing.ClassVar[str]
    b_r_l: typing.ClassVar[str]
    b_s_d: typing.ClassVar[str]
    b_t_n: typing.ClassVar[str]
    b_w_p: typing.ClassVar[str]
    b_y_r: typing.ClassVar[str]
    b_z_d: typing.ClassVar[str]
    c_a_d: typing.ClassVar[str]
    c_d_f: typing.ClassVar[str]
    c_h_f: typing.ClassVar[str]
    c_l_p: typing.ClassVar[str]
    c_n_y: typing.ClassVar[str]
    c_o_p: typing.ClassVar[str]
    c_r_c: typing.ClassVar[str]
    c_u_p: typing.ClassVar[str]
    c_v_e: typing.ClassVar[str]
    c_z_k: typing.ClassVar[str]
    d_j_f: typing.ClassVar[str]
    d_k_k: typing.ClassVar[str]
    d_o_p: typing.ClassVar[str]
    d_z_d: typing.ClassVar[str]
    e_g_p: typing.ClassVar[str]
    e_r_n: typing.ClassVar[str]
    e_t_b: typing.ClassVar[str]
    e_u_r: typing.ClassVar[str]
    f_j_d: typing.ClassVar[str]
    f_k_p: typing.ClassVar[str]
    g_b_p: typing.ClassVar[str]
    g_e_l: typing.ClassVar[str]
    g_h_s: typing.ClassVar[str]
    g_i_p: typing.ClassVar[str]
    g_m_d: typing.ClassVar[str]
    g_n_f: typing.ClassVar[str]
    g_t_q: typing.ClassVar[str]
    g_y_d: typing.ClassVar[str]
    h_k_d: typing.ClassVar[str]
    r_o_n: typing.ClassVar[str]
    h_r_k: typing.ClassVar[str]
    h_t_g: typing.ClassVar[str]
    h_u_f: typing.ClassVar[str]
    i_d_r: typing.ClassVar[str]
    i_l_s: typing.ClassVar[str]
    i_n_r: typing.ClassVar[str]
    i_q_d: typing.ClassVar[str]
    i_r_r: typing.ClassVar[str]
    i_s_k: typing.ClassVar[str]
    j_m_d: typing.ClassVar[str]
    j_o_d: typing.ClassVar[str]
    j_p_y: typing.ClassVar[str]
    k_e_s: typing.ClassVar[str]
    k_g_s: typing.ClassVar[str]
    k_h_r: typing.ClassVar[str]
    k_m_f: typing.ClassVar[str]
    k_p_w: typing.ClassVar[str]
    k_r_w: typing.ClassVar[str]
    k_w_d: typing.ClassVar[str]
    k_y_d: typing.ClassVar[str]
    k_z_t: typing.ClassVar[str]
    l_a_k: typing.ClassVar[str]
    l_b_p: typing.ClassVar[str]
    l_k_r: typing.ClassVar[str]
    l_r_d: typing.ClassVar[str]
    l_s_l: typing.ClassVar[str]
    l_t_l: typing.ClassVar[str]
    l_v_l: typing.ClassVar[str]
    l_y_d: typing.ClassVar[str]
    m_a_d: typing.ClassVar[str]
    m_d_l: typing.ClassVar[str]
    m_g_a: typing.ClassVar[str]
    m_k_d: typing.ClassVar[str]
    m_m_k: typing.ClassVar[str]
    m_n_t: typing.ClassVar[str]
    m_o_p: typing.ClassVar[str]
    m_r_o: typing.ClassVar[str]
    m_u_r: typing.ClassVar[str]
    m_v_r: typing.ClassVar[str]
    m_w_k: typing.ClassVar[str]
    m_x_n: typing.ClassVar[str]
    m_y_r: typing.ClassVar[str]
    m_z_n: typing.ClassVar[str]
    n_a_d: typing.ClassVar[str]
    n_g_n: typing.ClassVar[str]
    n_i_o: typing.ClassVar[str]
    n_o_k: typing.ClassVar[str]
    n_p_r: typing.ClassVar[str]
    n_z_d: typing.ClassVar[str]
    o_m_r: typing.ClassVar[str]
    p_a_b: typing.ClassVar[str]
    p_e_n: typing.ClassVar[str]
    p_g_k: typing.ClassVar[str]
    p_h_p: typing.ClassVar[str]
    p_k_r: typing.ClassVar[str]
    p_l_n: typing.ClassVar[str]
    p_y_g: typing.ClassVar[str]
    q_a_r: typing.ClassVar[str]
    r_s_d: typing.ClassVar[str]
    r_u_b: typing.ClassVar[str]
    r_w_f: typing.ClassVar[str]
    s_a_r: typing.ClassVar[str]
    s_b_d: typing.ClassVar[str]
    s_c_r: typing.ClassVar[str]
    s_d_g: typing.ClassVar[str]
    s_e_k: typing.ClassVar[str]
    s_g_d: typing.ClassVar[str]
    s_h_p: typing.ClassVar[str]
    s_l_l: typing.ClassVar[str]
    s_o_s: typing.ClassVar[str]
    s_r_d: typing.ClassVar[str]
    s_t_d: typing.ClassVar[str]
    s_y_p: typing.ClassVar[str]
    s_z_l: typing.ClassVar[str]
    t_h_b: typing.ClassVar[str]
    t_j_s: typing.ClassVar[str]
    t_m_t: typing.ClassVar[str]
    t_n_d: typing.ClassVar[str]
    t_o_p: typing.ClassVar[str]
    t_r_y: typing.ClassVar[str]
    t_t_d: typing.ClassVar[str]
    t_w_d: typing.ClassVar[str]
    t_z_s: typing.ClassVar[str]
    u_a_h: typing.ClassVar[str]
    u_g_x: typing.ClassVar[str]
    u_s_d: typing.ClassVar[str]
    u_y_u: typing.ClassVar[str]
    u_z_s: typing.ClassVar[str]
    v_e_f: typing.ClassVar[str]
    v_n_d: typing.ClassVar[str]
    v_u_v: typing.ClassVar[str]
    w_s_t: typing.ClassVar[str]
    x_a_f: typing.ClassVar[str]
    x_c_d: typing.ClassVar[str]
    x_o_f: typing.ClassVar[str]
    x_p_f: typing.ClassVar[str]
    x_x_x: typing.ClassVar[str]
    y_e_r: typing.ClassVar[str]
    z_a_r: typing.ClassVar[str]
    z_m_w: typing.ClassVar[str]
    z_w_l: typing.ClassVar[str]
    b_y_n: typing.ClassVar[str]
    s_s_p: typing.ClassVar[str]
    s_t_n: typing.ClassVar[str]
    v_e_s: typing.ClassVar[str]
    m_r_u: typing.ClassVar[str]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> CurrencyIdentifiers: ...

class GeographicRegion(winsdk.system.Object):
    code: str
    code_three_digit: str
    code_three_letter: str
    code_two_letter: str
    currencies_in_use: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    display_name: str
    native_name: str
    @staticmethod
    def _from(obj: winsdk.system.Object) -> GeographicRegion: ...
    @typing.overload
    def __new__(cls: typing.Type[GeographicRegion], geographic_region_code: str) -> GeographicRegion:...
    @typing.overload
    def __new__(cls: typing.Type[GeographicRegion]) -> GeographicRegion:...
    @staticmethod
    def is_supported(geographic_region_code: str) -> winsdk.system.Boolean: ...

class JapanesePhoneme(winsdk.system.Object):
    display_text: str
    is_phrase_start: winsdk.system.Boolean
    yomi_text: str
    @staticmethod
    def _from(obj: winsdk.system.Object) -> JapanesePhoneme: ...

class JapanesePhoneticAnalyzer(winsdk.system.Object):
    @staticmethod
    def _from(obj: winsdk.system.Object) -> JapanesePhoneticAnalyzer: ...
    @typing.overload
    @staticmethod
    def get_words(input: str) -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[JapanesePhoneme]]: ...
    @typing.overload
    @staticmethod
    def get_words(input: str, mono_ruby: winsdk.system.Boolean) -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[JapanesePhoneme]]: ...

class Language(winsdk.system.Object):
    display_name: str
    language_tag: str
    native_name: str
    script: str
    layout_direction: LanguageLayoutDirection
    abbreviated_name: str
    current_input_method_language_tag: typing.ClassVar[str]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> Language: ...
    def __new__(cls: typing.Type[Language], language_tag: str) -> Language:...
    def get_extension_subtags(self, singleton: str) -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]: ...
    @staticmethod
    def get_mui_compatible_language_list_from_language_tags(language_tags: typing.Iterable[str]) -> typing.Optional[winsdk.windows.foundation.collections.IVector[str]]: ...
    @staticmethod
    def is_well_formed(language_tag: str) -> winsdk.system.Boolean: ...
    @staticmethod
    def try_set_input_method_language_tag(language_tag: str) -> winsdk.system.Boolean: ...

class NumeralSystemIdentifiers(winsdk.system.Object):
    full_wide: typing.ClassVar[str]
    arab: typing.ClassVar[str]
    arab_ext: typing.ClassVar[str]
    bali: typing.ClassVar[str]
    beng: typing.ClassVar[str]
    cham: typing.ClassVar[str]
    deva: typing.ClassVar[str]
    mymr_shan: typing.ClassVar[str]
    gujr: typing.ClassVar[str]
    guru: typing.ClassVar[str]
    hani_dec: typing.ClassVar[str]
    java: typing.ClassVar[str]
    kali: typing.ClassVar[str]
    khmr: typing.ClassVar[str]
    knda: typing.ClassVar[str]
    lana: typing.ClassVar[str]
    lana_tham: typing.ClassVar[str]
    laoo: typing.ClassVar[str]
    latn: typing.ClassVar[str]
    lepc: typing.ClassVar[str]
    limb: typing.ClassVar[str]
    mlym: typing.ClassVar[str]
    mong: typing.ClassVar[str]
    mtei: typing.ClassVar[str]
    mymr: typing.ClassVar[str]
    nkoo: typing.ClassVar[str]
    olck: typing.ClassVar[str]
    orya: typing.ClassVar[str]
    saur: typing.ClassVar[str]
    sund: typing.ClassVar[str]
    talu: typing.ClassVar[str]
    taml_dec: typing.ClassVar[str]
    telu: typing.ClassVar[str]
    thai: typing.ClassVar[str]
    tibt: typing.ClassVar[str]
    vaii: typing.ClassVar[str]
    math_bold: typing.ClassVar[str]
    math_dbl: typing.ClassVar[str]
    math_mono: typing.ClassVar[str]
    math_sanb: typing.ClassVar[str]
    math_sans: typing.ClassVar[str]
    osma: typing.ClassVar[str]
    zmth_bold: typing.ClassVar[str]
    zmth_dbl: typing.ClassVar[str]
    zmth_mono: typing.ClassVar[str]
    zmth_sanb: typing.ClassVar[str]
    zmth_sans: typing.ClassVar[str]
    brah: typing.ClassVar[str]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> NumeralSystemIdentifiers: ...

