//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.System.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace System
    {
        runtimeclass User;
    }
}
namespace Windows
{
    namespace Globalization
    {
        apicontract GlobalizationJapanesePhoneticAnalyzerContract;

        typedef enum DayOfWeek DayOfWeek;

        typedef enum LanguageLayoutDirection LanguageLayoutDirection;

        interface IApplicationLanguagesStatics;

        interface IApplicationLanguagesStatics2;

        interface ICalendar;

        interface ICalendarFactory;

        interface ICalendarFactory2;

        interface ICalendarIdentifiersStatics;

        interface ICalendarIdentifiersStatics2;

        interface ICalendarIdentifiersStatics3;

        interface IClockIdentifiersStatics;

        interface ICurrencyAmount;

        interface ICurrencyAmountFactory;

        interface ICurrencyIdentifiersStatics;

        interface ICurrencyIdentifiersStatics2;

        interface ICurrencyIdentifiersStatics3;

        interface IGeographicRegion;

        interface IGeographicRegionFactory;

        interface IGeographicRegionStatics;

        interface IJapanesePhoneme;

        interface IJapanesePhoneticAnalyzerStatics;

        interface ILanguage;

        interface ILanguage2;

        interface ILanguage3;

        interface ILanguageExtensionSubtags;

        interface ILanguageFactory;

        interface ILanguageStatics;

        interface ILanguageStatics2;

        interface ILanguageStatics3;

        interface INumeralSystemIdentifiersStatics;

        interface INumeralSystemIdentifiersStatics2;

        interface ITimeZoneOnCalendar;

        runtimeclass ApplicationLanguages;

        runtimeclass Calendar;

        runtimeclass CalendarIdentifiers;

        runtimeclass ClockIdentifiers;

        runtimeclass CurrencyAmount;

        runtimeclass CurrencyIdentifiers;

        runtimeclass GeographicRegion;

        runtimeclass JapanesePhoneme;

        runtimeclass JapanesePhoneticAnalyzer;

        runtimeclass Language;

        runtimeclass NumeralSystemIdentifiers;
    }
}

// Generic instantiations
namespace Windows
{
    namespace Globalization
    {
        declare
        {
            interface Windows.Foundation.Collections.IIterable<Windows.Globalization.JapanesePhoneme*>;

            interface Windows.Foundation.Collections.IIterable<Windows.Globalization.Language*>;

            interface Windows.Foundation.Collections.IIterator<Windows.Globalization.JapanesePhoneme*>;

            interface Windows.Foundation.Collections.IIterator<Windows.Globalization.Language*>;

            interface Windows.Foundation.Collections.IVectorView<Windows.Globalization.JapanesePhoneme*>;

            interface Windows.Foundation.Collections.IVectorView<Windows.Globalization.Language*>;

            interface Windows.Foundation.Collections.IVector<Windows.Globalization.Language*>;
        }
    }
}

// Type definition
namespace Windows
{
    namespace Globalization
    {
        [contractversion(1.0)]
        apicontract GlobalizationJapanesePhoneticAnalyzerContract
        {
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        enum DayOfWeek
        {
            Sunday    = 0,
            Monday    = 1,
            Tuesday   = 2,
            Wednesday = 3,
            Thursday  = 4,
            Friday    = 5,
            Saturday  = 6
        };

        [contract(Windows.Foundation.UniversalApiContract, 6.0)]
        enum LanguageLayoutDirection
        {
            Ltr    = 0,
            Rtl    = 1,
            TtbLtr = 2,
            TtbRtl = 3
        };

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.ApplicationLanguages)]
        [uuid(75B40847-0A4C-4A92-9565-FD63C95F7AED)]
        interface IApplicationLanguagesStatics : IInspectable
        {
            [propget] HRESULT PrimaryLanguageOverride([out] [retval] HSTRING* value);
            [propput] HRESULT PrimaryLanguageOverride([in] HSTRING value);
            [propget] HRESULT Languages([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
            [propget] HRESULT ManifestLanguages([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 6.0)]
        [exclusiveto(Windows.Globalization.ApplicationLanguages)]
        [uuid(1DF0DE4F-072B-4D7B-8F06-CB2DB40F2BB5)]
        interface IApplicationLanguagesStatics2 : IInspectable
        {
            HRESULT GetLanguagesForUser([in] Windows.System.User* user, [out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.Calendar)]
        [uuid(CA30221D-86D9-40FB-A26B-D44EB7CF08EA)]
        interface ICalendar : IInspectable
        {
            HRESULT Clone([out] [retval] Windows.Globalization.Calendar** value);
            HRESULT SetToMin();
            HRESULT SetToMax();
            [propget] HRESULT Languages([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
            [propget] HRESULT NumeralSystem([out] [retval] HSTRING* value);
            [propput] HRESULT NumeralSystem([in] HSTRING value);
            HRESULT GetCalendarSystem([out] [retval] HSTRING* value);
            HRESULT ChangeCalendarSystem([in] HSTRING value);
            HRESULT GetClock([out] [retval] HSTRING* value);
            HRESULT ChangeClock([in] HSTRING value);
            HRESULT GetDateTime([out] [retval] Windows.Foundation.DateTime* result);
            HRESULT SetDateTime([in] Windows.Foundation.DateTime value);
            HRESULT SetToNow();
            [propget] HRESULT FirstEra([out] [retval] INT32* value);
            [propget] HRESULT LastEra([out] [retval] INT32* value);
            [propget] HRESULT NumberOfEras([out] [retval] INT32* value);
            [propget] HRESULT Era([out] [retval] INT32* value);
            [propput] HRESULT Era([in] INT32 value);
            HRESULT AddEras([in] INT32 eras);
            [overload("EraAsString")] HRESULT EraAsFullString([out] [retval] HSTRING* result);
            [overload("EraAsString")] HRESULT EraAsString([in] INT32 idealLength, [out] [retval] HSTRING* result);
            [propget] HRESULT FirstYearInThisEra([out] [retval] INT32* value);
            [propget] HRESULT LastYearInThisEra([out] [retval] INT32* value);
            [propget] HRESULT NumberOfYearsInThisEra([out] [retval] INT32* value);
            [propget] HRESULT Year([out] [retval] INT32* value);
            [propput] HRESULT Year([in] INT32 value);
            HRESULT AddYears([in] INT32 years);
            HRESULT YearAsString([out] [retval] HSTRING* result);
            HRESULT YearAsTruncatedString([in] INT32 remainingDigits, [out] [retval] HSTRING* result);
            HRESULT YearAsPaddedString([in] INT32 minDigits, [out] [retval] HSTRING* result);
            [propget] HRESULT FirstMonthInThisYear([out] [retval] INT32* value);
            [propget] HRESULT LastMonthInThisYear([out] [retval] INT32* value);
            [propget] HRESULT NumberOfMonthsInThisYear([out] [retval] INT32* value);
            [propget] HRESULT Month([out] [retval] INT32* value);
            [propput] HRESULT Month([in] INT32 value);
            HRESULT AddMonths([in] INT32 months);
            [overload("MonthAsString")] HRESULT MonthAsFullString([out] [retval] HSTRING* result);
            [overload("MonthAsString")] HRESULT MonthAsString([in] INT32 idealLength, [out] [retval] HSTRING* result);
            [overload("MonthAsSoloString")] HRESULT MonthAsFullSoloString([out] [retval] HSTRING* result);
            [overload("MonthAsSoloString")] HRESULT MonthAsSoloString([in] INT32 idealLength, [out] [retval] HSTRING* result);
            HRESULT MonthAsNumericString([out] [retval] HSTRING* result);
            HRESULT MonthAsPaddedNumericString([in] INT32 minDigits, [out] [retval] HSTRING* result);
            HRESULT AddWeeks([in] INT32 weeks);
            [propget] HRESULT FirstDayInThisMonth([out] [retval] INT32* value);
            [propget] HRESULT LastDayInThisMonth([out] [retval] INT32* value);
            [propget] HRESULT NumberOfDaysInThisMonth([out] [retval] INT32* value);
            [propget] HRESULT Day([out] [retval] INT32* value);
            [propput] HRESULT Day([in] INT32 value);
            HRESULT AddDays([in] INT32 days);
            HRESULT DayAsString([out] [retval] HSTRING* result);
            HRESULT DayAsPaddedString([in] INT32 minDigits, [out] [retval] HSTRING* result);
            [propget] HRESULT DayOfWeek([out] [retval] Windows.Globalization.DayOfWeek* value);
            [overload("DayOfWeekAsString")] HRESULT DayOfWeekAsFullString([out] [retval] HSTRING* result);
            [overload("DayOfWeekAsString")] HRESULT DayOfWeekAsString([in] INT32 idealLength, [out] [retval] HSTRING* result);
            [overload("DayOfWeekAsSoloString")] HRESULT DayOfWeekAsFullSoloString([out] [retval] HSTRING* result);
            [overload("DayOfWeekAsSoloString")] HRESULT DayOfWeekAsSoloString([in] INT32 idealLength, [out] [retval] HSTRING* result);
            [propget] HRESULT FirstPeriodInThisDay([out] [retval] INT32* value);
            [propget] HRESULT LastPeriodInThisDay([out] [retval] INT32* value);
            [propget] HRESULT NumberOfPeriodsInThisDay([out] [retval] INT32* value);
            [propget] HRESULT Period([out] [retval] INT32* value);
            [propput] HRESULT Period([in] INT32 value);
            HRESULT AddPeriods([in] INT32 periods);
            [overload("PeriodAsString")] HRESULT PeriodAsFullString([out] [retval] HSTRING* result);
            [overload("PeriodAsString")] HRESULT PeriodAsString([in] INT32 idealLength, [out] [retval] HSTRING* result);
            [propget] HRESULT FirstHourInThisPeriod([out] [retval] INT32* value);
            [propget] HRESULT LastHourInThisPeriod([out] [retval] INT32* value);
            [propget] HRESULT NumberOfHoursInThisPeriod([out] [retval] INT32* value);
            [propget] HRESULT Hour([out] [retval] INT32* value);
            [propput] HRESULT Hour([in] INT32 value);
            HRESULT AddHours([in] INT32 hours);
            HRESULT HourAsString([out] [retval] HSTRING* result);
            HRESULT HourAsPaddedString([in] INT32 minDigits, [out] [retval] HSTRING* result);
            [propget] HRESULT Minute([out] [retval] INT32* value);
            [propput] HRESULT Minute([in] INT32 value);
            HRESULT AddMinutes([in] INT32 minutes);
            HRESULT MinuteAsString([out] [retval] HSTRING* result);
            HRESULT MinuteAsPaddedString([in] INT32 minDigits, [out] [retval] HSTRING* result);
            [propget] HRESULT Second([out] [retval] INT32* value);
            [propput] HRESULT Second([in] INT32 value);
            HRESULT AddSeconds([in] INT32 seconds);
            HRESULT SecondAsString([out] [retval] HSTRING* result);
            HRESULT SecondAsPaddedString([in] INT32 minDigits, [out] [retval] HSTRING* result);
            [propget] HRESULT Nanosecond([out] [retval] INT32* value);
            [propput] HRESULT Nanosecond([in] INT32 value);
            HRESULT AddNanoseconds([in] INT32 nanoseconds);
            HRESULT NanosecondAsString([out] [retval] HSTRING* result);
            HRESULT NanosecondAsPaddedString([in] INT32 minDigits, [out] [retval] HSTRING* result);
            HRESULT Compare([in] Windows.Globalization.Calendar* other, [out] [retval] INT32* result);
            HRESULT CompareDateTime([in] Windows.Foundation.DateTime other, [out] [retval] INT32* result);
            HRESULT CopyTo([in] Windows.Globalization.Calendar* other);
            [propget] HRESULT FirstMinuteInThisHour([out] [retval] INT32* value);
            [propget] HRESULT LastMinuteInThisHour([out] [retval] INT32* value);
            [propget] HRESULT NumberOfMinutesInThisHour([out] [retval] INT32* value);
            [propget] HRESULT FirstSecondInThisMinute([out] [retval] INT32* value);
            [propget] HRESULT LastSecondInThisMinute([out] [retval] INT32* value);
            [propget] HRESULT NumberOfSecondsInThisMinute([out] [retval] INT32* value);
            [propget] HRESULT ResolvedLanguage([out] [retval] HSTRING* value);
            [propget] HRESULT IsDaylightSavingTime([out] [retval] boolean* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.Calendar)]
        [uuid(83F58412-E56B-4C75-A66E-0F63D57758A6)]
        interface ICalendarFactory : IInspectable
        {
            HRESULT CreateCalendarDefaultCalendarAndClock([in] Windows.Foundation.Collections.IIterable<HSTRING>* languages, [out] [retval] Windows.Globalization.Calendar** result);
            HRESULT CreateCalendar([in] Windows.Foundation.Collections.IIterable<HSTRING>* languages, [in] HSTRING calendar, [in] HSTRING clock, [out] [retval] Windows.Globalization.Calendar** result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.Calendar)]
        [uuid(B44B378C-CA7E-4590-9E72-EA2BEC1A5115)]
        interface ICalendarFactory2 : IInspectable
        {
            HRESULT CreateCalendarWithTimeZone([in] Windows.Foundation.Collections.IIterable<HSTRING>* languages, [in] HSTRING calendar, [in] HSTRING clock, [in] HSTRING timeZoneId, [out] [retval] Windows.Globalization.Calendar** result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.CalendarIdentifiers)]
        [uuid(80653F68-2CB2-4C1F-B590-F0F52BF4FD1A)]
        interface ICalendarIdentifiersStatics : IInspectable
        {
            [propget] HRESULT Gregorian([out] [retval] HSTRING* value);
            [propget] HRESULT Hebrew([out] [retval] HSTRING* value);
            [propget] HRESULT Hijri([out] [retval] HSTRING* value);
            [propget] HRESULT Japanese([out] [retval] HSTRING* value);
            [propget] HRESULT Julian([out] [retval] HSTRING* value);
            [propget] HRESULT Korean([out] [retval] HSTRING* value);
            [propget] HRESULT Taiwan([out] [retval] HSTRING* value);
            [propget] HRESULT Thai([out] [retval] HSTRING* value);
            [propget] HRESULT UmAlQura([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.CalendarIdentifiers)]
        [uuid(7DF4D488-5FD0-42A7-95B5-7D98D823075F)]
        interface ICalendarIdentifiersStatics2 : IInspectable
        {
            [propget] HRESULT Persian([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.Globalization.CalendarIdentifiers)]
        [uuid(2C225423-1FAD-40C0-9334-A8EB90DB04F5)]
        interface ICalendarIdentifiersStatics3 : IInspectable
        {
            [propget] HRESULT ChineseLunar([out] [retval] HSTRING* value);
            [propget] HRESULT JapaneseLunar([out] [retval] HSTRING* value);
            [propget] HRESULT KoreanLunar([out] [retval] HSTRING* value);
            [propget] HRESULT TaiwanLunar([out] [retval] HSTRING* value);
            [propget] HRESULT VietnameseLunar([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.ClockIdentifiers)]
        [uuid(523805BB-12EC-4F83-BC31-B1B4376B0808)]
        interface IClockIdentifiersStatics : IInspectable
        {
            [propget] HRESULT TwelveHour([out] [retval] HSTRING* value);
            [propget] HRESULT TwentyFourHour([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 8.0)]
        [exclusiveto(Windows.Globalization.CurrencyAmount)]
        [uuid(74B49942-EB75-443A-95B3-7D723F56F93C)]
        interface ICurrencyAmount : IInspectable
        {
            [propget] HRESULT Amount([out] [retval] HSTRING* value);
            [propget] HRESULT Currency([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 8.0)]
        [exclusiveto(Windows.Globalization.CurrencyAmount)]
        [uuid(48D7168F-EF3B-4AEE-A6A1-4B036FE03FF0)]
        interface ICurrencyAmountFactory : IInspectable
        {
            HRESULT Create([in] HSTRING amount, [in] HSTRING currency, [out] [retval] Windows.Globalization.CurrencyAmount** result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.CurrencyIdentifiers)]
        [uuid(9F1D091B-D586-4913-9B6A-A9BD2DC12874)]
        interface ICurrencyIdentifiersStatics : IInspectable
        {
            [propget] HRESULT AED([out] [retval] HSTRING* value);
            [propget] HRESULT AFN([out] [retval] HSTRING* value);
            [propget] HRESULT ALL([out] [retval] HSTRING* value);
            [propget] HRESULT AMD([out] [retval] HSTRING* value);
            [propget] HRESULT ANG([out] [retval] HSTRING* value);
            [propget] HRESULT AOA([out] [retval] HSTRING* value);
            [propget] HRESULT ARS([out] [retval] HSTRING* value);
            [propget] HRESULT AUD([out] [retval] HSTRING* value);
            [propget] HRESULT AWG([out] [retval] HSTRING* value);
            [propget] HRESULT AZN([out] [retval] HSTRING* value);
            [propget] HRESULT BAM([out] [retval] HSTRING* value);
            [propget] HRESULT BBD([out] [retval] HSTRING* value);
            [propget] HRESULT BDT([out] [retval] HSTRING* value);
            [propget] HRESULT BGN([out] [retval] HSTRING* value);
            [propget] HRESULT BHD([out] [retval] HSTRING* value);
            [propget] HRESULT BIF([out] [retval] HSTRING* value);
            [propget] HRESULT BMD([out] [retval] HSTRING* value);
            [propget] HRESULT BND([out] [retval] HSTRING* value);
            [propget] HRESULT BOB([out] [retval] HSTRING* value);
            [propget] HRESULT BRL([out] [retval] HSTRING* value);
            [propget] HRESULT BSD([out] [retval] HSTRING* value);
            [propget] HRESULT BTN([out] [retval] HSTRING* value);
            [propget] HRESULT BWP([out] [retval] HSTRING* value);
            [propget] HRESULT BYR([out] [retval] HSTRING* value);
            [propget] HRESULT BZD([out] [retval] HSTRING* value);
            [propget] HRESULT CAD([out] [retval] HSTRING* value);
            [propget] HRESULT CDF([out] [retval] HSTRING* value);
            [propget] HRESULT CHF([out] [retval] HSTRING* value);
            [propget] HRESULT CLP([out] [retval] HSTRING* value);
            [propget] HRESULT CNY([out] [retval] HSTRING* value);
            [propget] HRESULT COP([out] [retval] HSTRING* value);
            [propget] HRESULT CRC([out] [retval] HSTRING* value);
            [propget] HRESULT CUP([out] [retval] HSTRING* value);
            [propget] HRESULT CVE([out] [retval] HSTRING* value);
            [propget] HRESULT CZK([out] [retval] HSTRING* value);
            [propget] HRESULT DJF([out] [retval] HSTRING* value);
            [propget] HRESULT DKK([out] [retval] HSTRING* value);
            [propget] HRESULT DOP([out] [retval] HSTRING* value);
            [propget] HRESULT DZD([out] [retval] HSTRING* value);
            [propget] HRESULT EGP([out] [retval] HSTRING* value);
            [propget] HRESULT ERN([out] [retval] HSTRING* value);
            [propget] HRESULT ETB([out] [retval] HSTRING* value);
            [propget] HRESULT EUR([out] [retval] HSTRING* value);
            [propget] HRESULT FJD([out] [retval] HSTRING* value);
            [propget] HRESULT FKP([out] [retval] HSTRING* value);
            [propget] HRESULT GBP([out] [retval] HSTRING* value);
            [propget] HRESULT GEL([out] [retval] HSTRING* value);
            [propget] HRESULT GHS([out] [retval] HSTRING* value);
            [propget] HRESULT GIP([out] [retval] HSTRING* value);
            [propget] HRESULT GMD([out] [retval] HSTRING* value);
            [propget] HRESULT GNF([out] [retval] HSTRING* value);
            [propget] HRESULT GTQ([out] [retval] HSTRING* value);
            [propget] HRESULT GYD([out] [retval] HSTRING* value);
            [propget] HRESULT HKD([out] [retval] HSTRING* value);
            [propget] HRESULT HNL([out] [retval] HSTRING* value);
            [propget] HRESULT HRK([out] [retval] HSTRING* value);
            [propget] HRESULT HTG([out] [retval] HSTRING* value);
            [propget] HRESULT HUF([out] [retval] HSTRING* value);
            [propget] HRESULT IDR([out] [retval] HSTRING* value);
            [propget] HRESULT ILS([out] [retval] HSTRING* value);
            [propget] HRESULT INR([out] [retval] HSTRING* value);
            [propget] HRESULT IQD([out] [retval] HSTRING* value);
            [propget] HRESULT IRR([out] [retval] HSTRING* value);
            [propget] HRESULT ISK([out] [retval] HSTRING* value);
            [propget] HRESULT JMD([out] [retval] HSTRING* value);
            [propget] HRESULT JOD([out] [retval] HSTRING* value);
            [propget] HRESULT JPY([out] [retval] HSTRING* value);
            [propget] HRESULT KES([out] [retval] HSTRING* value);
            [propget] HRESULT KGS([out] [retval] HSTRING* value);
            [propget] HRESULT KHR([out] [retval] HSTRING* value);
            [propget] HRESULT KMF([out] [retval] HSTRING* value);
            [propget] HRESULT KPW([out] [retval] HSTRING* value);
            [propget] HRESULT KRW([out] [retval] HSTRING* value);
            [propget] HRESULT KWD([out] [retval] HSTRING* value);
            [propget] HRESULT KYD([out] [retval] HSTRING* value);
            [propget] HRESULT KZT([out] [retval] HSTRING* value);
            [propget] HRESULT LAK([out] [retval] HSTRING* value);
            [propget] HRESULT LBP([out] [retval] HSTRING* value);
            [propget] HRESULT LKR([out] [retval] HSTRING* value);
            [propget] HRESULT LRD([out] [retval] HSTRING* value);
            [propget] HRESULT LSL([out] [retval] HSTRING* value);
            [propget] HRESULT LTL([out] [retval] HSTRING* value);
            [propget] HRESULT LVL([out] [retval] HSTRING* value);
            [propget] HRESULT LYD([out] [retval] HSTRING* value);
            [propget] HRESULT MAD([out] [retval] HSTRING* value);
            [propget] HRESULT MDL([out] [retval] HSTRING* value);
            [propget] HRESULT MGA([out] [retval] HSTRING* value);
            [propget] HRESULT MKD([out] [retval] HSTRING* value);
            [propget] HRESULT MMK([out] [retval] HSTRING* value);
            [propget] HRESULT MNT([out] [retval] HSTRING* value);
            [propget] HRESULT MOP([out] [retval] HSTRING* value);
            [propget] HRESULT MRO([out] [retval] HSTRING* value);
            [propget] HRESULT MUR([out] [retval] HSTRING* value);
            [propget] HRESULT MVR([out] [retval] HSTRING* value);
            [propget] HRESULT MWK([out] [retval] HSTRING* value);
            [propget] HRESULT MXN([out] [retval] HSTRING* value);
            [propget] HRESULT MYR([out] [retval] HSTRING* value);
            [propget] HRESULT MZN([out] [retval] HSTRING* value);
            [propget] HRESULT NAD([out] [retval] HSTRING* value);
            [propget] HRESULT NGN([out] [retval] HSTRING* value);
            [propget] HRESULT NIO([out] [retval] HSTRING* value);
            [propget] HRESULT NOK([out] [retval] HSTRING* value);
            [propget] HRESULT NPR([out] [retval] HSTRING* value);
            [propget] HRESULT NZD([out] [retval] HSTRING* value);
            [propget] HRESULT OMR([out] [retval] HSTRING* value);
            [propget] HRESULT PAB([out] [retval] HSTRING* value);
            [propget] HRESULT PEN([out] [retval] HSTRING* value);
            [propget] HRESULT PGK([out] [retval] HSTRING* value);
            [propget] HRESULT PHP([out] [retval] HSTRING* value);
            [propget] HRESULT PKR([out] [retval] HSTRING* value);
            [propget] HRESULT PLN([out] [retval] HSTRING* value);
            [propget] HRESULT PYG([out] [retval] HSTRING* value);
            [propget] HRESULT QAR([out] [retval] HSTRING* value);
            [propget] HRESULT RON([out] [retval] HSTRING* value);
            [propget] HRESULT RSD([out] [retval] HSTRING* value);
            [propget] HRESULT RUB([out] [retval] HSTRING* value);
            [propget] HRESULT RWF([out] [retval] HSTRING* value);
            [propget] HRESULT SAR([out] [retval] HSTRING* value);
            [propget] HRESULT SBD([out] [retval] HSTRING* value);
            [propget] HRESULT SCR([out] [retval] HSTRING* value);
            [propget] HRESULT SDG([out] [retval] HSTRING* value);
            [propget] HRESULT SEK([out] [retval] HSTRING* value);
            [propget] HRESULT SGD([out] [retval] HSTRING* value);
            [propget] HRESULT SHP([out] [retval] HSTRING* value);
            [propget] HRESULT SLL([out] [retval] HSTRING* value);
            [propget] HRESULT SOS([out] [retval] HSTRING* value);
            [propget] HRESULT SRD([out] [retval] HSTRING* value);
            [propget] HRESULT STD([out] [retval] HSTRING* value);
            [propget] HRESULT SYP([out] [retval] HSTRING* value);
            [propget] HRESULT SZL([out] [retval] HSTRING* value);
            [propget] HRESULT THB([out] [retval] HSTRING* value);
            [propget] HRESULT TJS([out] [retval] HSTRING* value);
            [propget] HRESULT TMT([out] [retval] HSTRING* value);
            [propget] HRESULT TND([out] [retval] HSTRING* value);
            [propget] HRESULT TOP([out] [retval] HSTRING* value);
            [propget] HRESULT TRY([out] [retval] HSTRING* value);
            [propget] HRESULT TTD([out] [retval] HSTRING* value);
            [propget] HRESULT TWD([out] [retval] HSTRING* value);
            [propget] HRESULT TZS([out] [retval] HSTRING* value);
            [propget] HRESULT UAH([out] [retval] HSTRING* value);
            [propget] HRESULT UGX([out] [retval] HSTRING* value);
            [propget] HRESULT USD([out] [retval] HSTRING* value);
            [propget] HRESULT UYU([out] [retval] HSTRING* value);
            [propget] HRESULT UZS([out] [retval] HSTRING* value);
            [propget] HRESULT VEF([out] [retval] HSTRING* value);
            [propget] HRESULT VND([out] [retval] HSTRING* value);
            [propget] HRESULT VUV([out] [retval] HSTRING* value);
            [propget] HRESULT WST([out] [retval] HSTRING* value);
            [propget] HRESULT XAF([out] [retval] HSTRING* value);
            [propget] HRESULT XCD([out] [retval] HSTRING* value);
            [propget] HRESULT XOF([out] [retval] HSTRING* value);
            [propget] HRESULT XPF([out] [retval] HSTRING* value);
            [propget] HRESULT XXX([out] [retval] HSTRING* value);
            [propget] HRESULT YER([out] [retval] HSTRING* value);
            [propget] HRESULT ZAR([out] [retval] HSTRING* value);
            [propget] HRESULT ZMW([out] [retval] HSTRING* value);
            [propget] HRESULT ZWL([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        [exclusiveto(Windows.Globalization.CurrencyIdentifiers)]
        [uuid(1814797F-C3B2-4C33-9591-980011950D37)]
        interface ICurrencyIdentifiersStatics2 : IInspectable
        {
            [propget] HRESULT BYN([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 7.0)]
        [exclusiveto(Windows.Globalization.CurrencyIdentifiers)]
        [uuid(4FB23BFA-ED25-4F4D-857F-237F1748C21C)]
        interface ICurrencyIdentifiersStatics3 : IInspectable
        {
            [propget] HRESULT MRU([out] [retval] HSTRING* value);
            [propget] HRESULT SSP([out] [retval] HSTRING* value);
            [propget] HRESULT STN([out] [retval] HSTRING* value);
            [propget] HRESULT VES([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.GeographicRegion)]
        [uuid(01E9A621-4A64-4ED9-954F-9EDEB07BD903)]
        interface IGeographicRegion : IInspectable
        {
            [propget] HRESULT Code([out] [retval] HSTRING* value);
            [propget] HRESULT CodeTwoLetter([out] [retval] HSTRING* value);
            [propget] HRESULT CodeThreeLetter([out] [retval] HSTRING* value);
            [propget] HRESULT CodeThreeDigit([out] [retval] HSTRING* value);
            [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
            [propget] HRESULT NativeName([out] [retval] HSTRING* value);
            [propget] HRESULT CurrenciesInUse([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.GeographicRegion)]
        [uuid(53425270-77B4-426B-859F-81E19D512546)]
        interface IGeographicRegionFactory : IInspectable
        {
            HRESULT CreateGeographicRegion([in] HSTRING geographicRegionCode, [out] [retval] Windows.Globalization.GeographicRegion** result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.GeographicRegion)]
        [uuid(29E28974-7AD9-4EF4-8799-B3B44FADEC08)]
        interface IGeographicRegionStatics : IInspectable
        {
            HRESULT IsSupported([in] HSTRING geographicRegionCode, [out] [retval] boolean* result);
        }

        [contract(Windows.Globalization.GlobalizationJapanesePhoneticAnalyzerContract, 1.0)]
        [exclusiveto(Windows.Globalization.JapanesePhoneme)]
        [uuid(2F6A9300-E85B-43E6-897D-5D82F862DF21)]
        interface IJapanesePhoneme : IInspectable
        {
            [propget] HRESULT DisplayText([out] [retval] HSTRING* value);
            [propget] HRESULT YomiText([out] [retval] HSTRING* value);
            [propget] HRESULT IsPhraseStart([out] [retval] boolean* value);
        }

        [contract(Windows.Globalization.GlobalizationJapanesePhoneticAnalyzerContract, 1.0)]
        [exclusiveto(Windows.Globalization.JapanesePhoneticAnalyzer)]
        [uuid(88AB9E90-93DE-41B2-B4D5-8EDB227FD1C2)]
        interface IJapanesePhoneticAnalyzerStatics : IInspectable
        {
            [overload("GetWords")] HRESULT GetWords([in] HSTRING input, [out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Globalization.JapanesePhoneme*>** result);
            [overload("GetWords")] HRESULT GetWordsWithMonoRubyOption([in] HSTRING input, [in] boolean monoRuby, [out] [retval] Windows.Foundation.Collections.IVectorView<Windows.Globalization.JapanesePhoneme*>** result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.Language)]
        [uuid(EA79A752-F7C2-4265-B1BD-C4DEC4E4F080)]
        interface ILanguage : IInspectable
        {
            [propget] HRESULT LanguageTag([out] [retval] HSTRING* value);
            [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
            [propget] HRESULT NativeName([out] [retval] HSTRING* value);
            [propget] HRESULT Script([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 6.0)]
        [exclusiveto(Windows.Globalization.Language)]
        [uuid(6A47E5B5-D94D-4886-A404-A5A5B9D5B494)]
        interface ILanguage2 : IInspectable
        {
            [propget] HRESULT LayoutDirection([out] [retval] Windows.Globalization.LanguageLayoutDirection* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 10.0)]
        [exclusiveto(Windows.Globalization.Language)]
        [uuid(C6AF3D10-641A-5BA4-BB43-5E12AED75954)]
        interface ILanguage3 : IInspectable
        {
            [propget] HRESULT AbbreviatedName([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.Language)]
        [uuid(7D7DAF45-368D-4364-852B-DEC927037B85)]
        interface ILanguageExtensionSubtags : IInspectable
        {
            HRESULT GetExtensionSubtags([in] HSTRING singleton, [out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.Language)]
        [uuid(9B0252AC-0C27-44F8-B792-9793FB66C63E)]
        interface ILanguageFactory : IInspectable
        {
            HRESULT CreateLanguage([in] HSTRING languageTag, [out] [retval] Windows.Globalization.Language** result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.Language)]
        [uuid(B23CD557-0865-46D4-89B8-D59BE8990F0D)]
        interface ILanguageStatics : IInspectable
        {
            HRESULT IsWellFormed([in] HSTRING languageTag, [out] [retval] boolean* result);
            [propget] HRESULT CurrentInputMethodLanguageTag([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.Language)]
        [uuid(30199F6E-914B-4B2A-9D6E-E3B0E27DBE4F)]
        interface ILanguageStatics2 : IInspectable
        {
            HRESULT TrySetInputMethodLanguageTag([in] HSTRING languageTag, [out] [retval] boolean* result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 10.0)]
        [exclusiveto(Windows.Globalization.Language)]
        [uuid(D15ECB5A-71DE-5752-9542-FAC5B4F27261)]
        interface ILanguageStatics3 : IInspectable
        {
            HRESULT GetMuiCompatibleLanguageListFromLanguageTags([in] Windows.Foundation.Collections.IIterable<HSTRING>* languageTags, [out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.NumeralSystemIdentifiers)]
        [uuid(A5C662C3-68C9-4D3D-B765-972029E21DEC)]
        interface INumeralSystemIdentifiersStatics : IInspectable
        {
            [propget] HRESULT Arab([out] [retval] HSTRING* value);
            [propget] HRESULT ArabExt([out] [retval] HSTRING* value);
            [propget] HRESULT Bali([out] [retval] HSTRING* value);
            [propget] HRESULT Beng([out] [retval] HSTRING* value);
            [propget] HRESULT Cham([out] [retval] HSTRING* value);
            [propget] HRESULT Deva([out] [retval] HSTRING* value);
            [propget] HRESULT FullWide([out] [retval] HSTRING* value);
            [propget] HRESULT Gujr([out] [retval] HSTRING* value);
            [propget] HRESULT Guru([out] [retval] HSTRING* value);
            [propget] HRESULT HaniDec([out] [retval] HSTRING* value);
            [propget] HRESULT Java([out] [retval] HSTRING* value);
            [propget] HRESULT Kali([out] [retval] HSTRING* value);
            [propget] HRESULT Khmr([out] [retval] HSTRING* value);
            [propget] HRESULT Knda([out] [retval] HSTRING* value);
            [propget] HRESULT Lana([out] [retval] HSTRING* value);
            [propget] HRESULT LanaTham([out] [retval] HSTRING* value);
            [propget] HRESULT Laoo([out] [retval] HSTRING* value);
            [propget] HRESULT Latn([out] [retval] HSTRING* value);
            [propget] HRESULT Lepc([out] [retval] HSTRING* value);
            [propget] HRESULT Limb([out] [retval] HSTRING* value);
            [propget] HRESULT Mlym([out] [retval] HSTRING* value);
            [propget] HRESULT Mong([out] [retval] HSTRING* value);
            [propget] HRESULT Mtei([out] [retval] HSTRING* value);
            [propget] HRESULT Mymr([out] [retval] HSTRING* value);
            [propget] HRESULT MymrShan([out] [retval] HSTRING* value);
            [propget] HRESULT Nkoo([out] [retval] HSTRING* value);
            [propget] HRESULT Olck([out] [retval] HSTRING* value);
            [propget] HRESULT Orya([out] [retval] HSTRING* value);
            [propget] HRESULT Saur([out] [retval] HSTRING* value);
            [propget] HRESULT Sund([out] [retval] HSTRING* value);
            [propget] HRESULT Talu([out] [retval] HSTRING* value);
            [propget] HRESULT TamlDec([out] [retval] HSTRING* value);
            [propget] HRESULT Telu([out] [retval] HSTRING* value);
            [propget] HRESULT Thai([out] [retval] HSTRING* value);
            [propget] HRESULT Tibt([out] [retval] HSTRING* value);
            [propget] HRESULT Vaii([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.NumeralSystemIdentifiers)]
        [uuid(7F003228-9DDB-4A34-9104-0260C091A7C7)]
        interface INumeralSystemIdentifiersStatics2 : IInspectable
        {
            [propget] HRESULT Brah([out] [retval] HSTRING* value);
            [propget] HRESULT Osma([out] [retval] HSTRING* value);
            [propget] HRESULT MathBold([out] [retval] HSTRING* value);
            [propget] HRESULT MathDbl([out] [retval] HSTRING* value);
            [propget] HRESULT MathSans([out] [retval] HSTRING* value);
            [propget] HRESULT MathSanb([out] [retval] HSTRING* value);
            [propget] HRESULT MathMono([out] [retval] HSTRING* value);
            [propget] HRESULT ZmthBold([out] [retval] HSTRING* value);
            [propget] HRESULT ZmthDbl([out] [retval] HSTRING* value);
            [propget] HRESULT ZmthSans([out] [retval] HSTRING* value);
            [propget] HRESULT ZmthSanb([out] [retval] HSTRING* value);
            [propget] HRESULT ZmthMono([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.Globalization.Calendar)]
        [uuid(BB3C25E5-46CF-4317-A3F5-02621AD54478)]
        interface ITimeZoneOnCalendar : IInspectable
        {
            HRESULT GetTimeZone([out] [retval] HSTRING* value);
            HRESULT ChangeTimeZone([in] HSTRING timeZoneId);
            [overload("TimeZoneAsString")] HRESULT TimeZoneAsFullString([out] [retval] HSTRING* result);
            [overload("TimeZoneAsString")] HRESULT TimeZoneAsString([in] INT32 idealLength, [out] [retval] HSTRING* result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        [static(Windows.Globalization.IApplicationLanguagesStatics, Windows.Foundation.UniversalApiContract, 1.0)]
        [static(Windows.Globalization.IApplicationLanguagesStatics2, Windows.Foundation.UniversalApiContract, 6.0)]
        [threading(both)]
        runtimeclass ApplicationLanguages
        {
        }

        [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
        [activatable(Windows.Globalization.ICalendarFactory, Windows.Foundation.UniversalApiContract, 1.0)]
        [activatable(Windows.Globalization.ICalendarFactory2, Windows.Foundation.UniversalApiContract, 1.0)]
        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass Calendar
        {
            [contract(Windows.Foundation.UniversalApiContract, 1.0)] [default] interface Windows.Globalization.ICalendar;
            [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Globalization.ITimeZoneOnCalendar;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        [static(Windows.Globalization.ICalendarIdentifiersStatics, Windows.Foundation.UniversalApiContract, 1.0)]
        [static(Windows.Globalization.ICalendarIdentifiersStatics2, Windows.Foundation.UniversalApiContract, 1.0)]
        [static(Windows.Globalization.ICalendarIdentifiersStatics3, Windows.Foundation.UniversalApiContract, 3.0)]
        [threading(both)]
        runtimeclass CalendarIdentifiers
        {
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        [static(Windows.Globalization.IClockIdentifiersStatics, Windows.Foundation.UniversalApiContract, 1.0)]
        [threading(both)]
        runtimeclass ClockIdentifiers
        {
        }

        [activatable(Windows.Globalization.ICurrencyAmountFactory, Windows.Foundation.UniversalApiContract, 8.0)]
        [contract(Windows.Foundation.UniversalApiContract, 8.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass CurrencyAmount
        {
            [default] interface Windows.Globalization.ICurrencyAmount;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        [static(Windows.Globalization.ICurrencyIdentifiersStatics, Windows.Foundation.UniversalApiContract, 1.0)]
        [static(Windows.Globalization.ICurrencyIdentifiersStatics2, Windows.Foundation.UniversalApiContract, 4.0)]
        [static(Windows.Globalization.ICurrencyIdentifiersStatics3, Windows.Foundation.UniversalApiContract, 7.0)]
        [threading(both)]
        runtimeclass CurrencyIdentifiers
        {
        }

        [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
        [activatable(Windows.Globalization.IGeographicRegionFactory, Windows.Foundation.UniversalApiContract, 1.0)]
        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        [static(Windows.Globalization.IGeographicRegionStatics, Windows.Foundation.UniversalApiContract, 1.0)]
        [threading(both)]
        runtimeclass GeographicRegion
        {
            [contract(Windows.Foundation.UniversalApiContract, 1.0)] [default] interface Windows.Globalization.IGeographicRegion;
        }

        [contract(Windows.Globalization.GlobalizationJapanesePhoneticAnalyzerContract, 1.0)]
        [marshaling_behavior(standard)]
        [threading(sta)]
        runtimeclass JapanesePhoneme
        {
            [default] interface Windows.Globalization.IJapanesePhoneme;
        }

        [contract(Windows.Globalization.GlobalizationJapanesePhoneticAnalyzerContract, 1.0)]
        [marshaling_behavior(standard)]
        [static(Windows.Globalization.IJapanesePhoneticAnalyzerStatics, Windows.Globalization.GlobalizationJapanesePhoneticAnalyzerContract, 1.0)]
        [threading(sta)]
        runtimeclass JapanesePhoneticAnalyzer
        {
        }

        [activatable(Windows.Globalization.ILanguageFactory, Windows.Foundation.UniversalApiContract, 1.0)]
        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        [static(Windows.Globalization.ILanguageStatics, Windows.Foundation.UniversalApiContract, 1.0)]
        [static(Windows.Globalization.ILanguageStatics2, Windows.Foundation.UniversalApiContract, 1.0)]
        [static(Windows.Globalization.ILanguageStatics3, Windows.Foundation.UniversalApiContract, 10.0)]
        [threading(both)]
        runtimeclass Language
        {
            [contract(Windows.Foundation.UniversalApiContract, 1.0)] [default] interface Windows.Globalization.ILanguage;
            [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Globalization.ILanguageExtensionSubtags;
            [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Globalization.ILanguage2;
            [contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.Globalization.ILanguage3;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        [static(Windows.Globalization.INumeralSystemIdentifiersStatics, Windows.Foundation.UniversalApiContract, 1.0)]
        [static(Windows.Globalization.INumeralSystemIdentifiersStatics2, Windows.Foundation.UniversalApiContract, 1.0)]
        [threading(both)]
        runtimeclass NumeralSystemIdentifiers
        {
        }
    }
}
