# WARNING: Please don't edit this file. It was generated by Python/WinRT v3.2.1

import datetime
import sys
import types
import typing
import uuid as _uuid
from builtins import property as _property

import winrt._winrt
import winrt.system
import winrt.windows.foundation as windows_foundation

from winrt.windows.globalization.phonenumberformatting import PhoneNumberFormat, PhoneNumberMatchResult, PhoneNumberParseResult, PredictedPhoneNumberKind

Self = typing.TypeVar('Self')

@typing.final
class PhoneNumberFormatter_Static(winrt._winrt.IInspectable_Static):
    # System.Int32 Windows.Globalization.PhoneNumberFormatting.PhoneNumberFormatter::GetCountryCodeForRegion(System.String)
    def get_country_code_for_region(cls, region_code: str, /) -> winrt.system.Int32: ...
    # System.String Windows.Globalization.PhoneNumberFormatting.PhoneNumberFormatter::GetNationalDirectDialingPrefixForRegion(System.String,System.Boolean)
    def get_national_direct_dialing_prefix_for_region(cls, region_code: str, strip_non_digit: bool, /) -> str: ...
    # System.Void Windows.Globalization.PhoneNumberFormatting.PhoneNumberFormatter::TryCreate(System.String,Windows.Globalization.PhoneNumberFormatting.PhoneNumberFormatter&)
    def try_create(cls, region_code: str, /) -> PhoneNumberFormatter: ...
    # System.String Windows.Globalization.PhoneNumberFormatting.PhoneNumberFormatter::WrapWithLeftToRightMarkers(System.String)
    def wrap_with_left_to_right_markers(cls, number: str, /) -> str: ...

@typing.final
class PhoneNumberFormatter(winrt.system.Object, metaclass=PhoneNumberFormatter_Static):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.String Windows.Globalization.PhoneNumberFormatting.PhoneNumberFormatter::Format(Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo)
    def format(self, number: PhoneNumberInfo, /) -> str: ...
    # System.String Windows.Globalization.PhoneNumberFormatting.PhoneNumberFormatter::FormatPartialString(System.String)
    def format_partial_string(self, number: str, /) -> str: ...
    # System.String Windows.Globalization.PhoneNumberFormatting.PhoneNumberFormatter::FormatString(System.String)
    def format_string(self, number: str, /) -> str: ...
    # System.String Windows.Globalization.PhoneNumberFormatting.PhoneNumberFormatter::FormatStringWithLeftToRightMarkers(System.String)
    def format_string_with_left_to_right_markers(self, number: str, /) -> str: ...
    # System.String Windows.Globalization.PhoneNumberFormatting.PhoneNumberFormatter::Format(Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo,Windows.Globalization.PhoneNumberFormatting.PhoneNumberFormat)
    def format_with_output_format(self, number: PhoneNumberInfo, number_format: PhoneNumberFormat, /) -> str: ...

@typing.final
class PhoneNumberInfo_Static(winrt._winrt.IInspectable_Static):
    # Windows.Globalization.PhoneNumberFormatting.PhoneNumberParseResult Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo::TryParse(System.String,Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo&)
    def try_parse(cls, input: str, /) -> typing.Tuple[PhoneNumberParseResult, PhoneNumberInfo]: ...
    # Windows.Globalization.PhoneNumberFormatting.PhoneNumberParseResult Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo::TryParse(System.String,System.String,Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo&)
    def try_parse_with_region(cls, input: str, region_code: str, /) -> typing.Tuple[PhoneNumberParseResult, PhoneNumberInfo]: ...

@typing.final
class PhoneNumberInfo(winrt.system.Object, windows_foundation.IStringable, metaclass=PhoneNumberInfo_Static):
    def __str__(self) -> str: ...
    def __new__(cls: typing.Type[Self], number: str) -> Self: ...
    # Windows.Globalization.PhoneNumberFormatting.PhoneNumberMatchResult Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo::CheckNumberMatch(Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo)
    def check_number_match(self, other_number: PhoneNumberInfo, /) -> PhoneNumberMatchResult: ...
    # System.String Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo::GetGeographicRegionCode()
    def get_geographic_region_code(self) -> str: ...
    # System.Int32 Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo::GetLengthOfGeographicalAreaCode()
    def get_length_of_geographical_area_code(self) -> winrt.system.Int32: ...
    # System.Int32 Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo::GetLengthOfNationalDestinationCode()
    def get_length_of_national_destination_code(self) -> winrt.system.Int32: ...
    # System.String Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo::GetNationalSignificantNumber()
    def get_national_significant_number(self) -> str: ...
    # Windows.Globalization.PhoneNumberFormatting.PredictedPhoneNumberKind Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo::PredictNumberKind()
    def predict_number_kind(self) -> PredictedPhoneNumberKind: ...
    # System.String Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo::ToString()
    def to_string(self) -> str: ...
    # System.Int32 Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo::get_CountryCode()
    @_property
    def country_code(self) -> winrt.system.Int32: ...
    # System.String Windows.Globalization.PhoneNumberFormatting.PhoneNumberInfo::get_PhoneNumber()
    @_property
    def phone_number(self) -> str: ...

