// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.250303.1

#pragma once
#ifndef WINRT_Microsoft_UI_Xaml_Markup_0_H
#define WINRT_Microsoft_UI_Xaml_Markup_0_H
WINRT_EXPORT namespace winrt::Microsoft::UI::Xaml
{
    struct DependencyObject;
    struct DependencyProperty;
    struct IXamlServiceProvider;
    struct UIElement;
}
WINRT_EXPORT namespace winrt::Windows::Foundation
{
    struct Point;
    struct Rect;
    struct Size;
    struct Uri;
}
WINRT_EXPORT namespace winrt::Windows::Foundation::Collections
{
    template <typename T> struct WINRT_IMPL_EMPTY_BASES IVector;
}
WINRT_EXPORT namespace winrt::Windows::Storage::Streams
{
    struct IRandomAccessStream;
}
WINRT_EXPORT namespace winrt::Windows::UI::Xaml::Interop
{
    struct TypeName;
}
WINRT_EXPORT namespace winrt::Microsoft::UI::Xaml::Markup
{
    struct IComponentConnector;
    struct IDataTemplateComponent;
    struct IMarkupExtension;
    struct IMarkupExtensionFactory;
    struct IMarkupExtensionOverrides;
    struct IProvideValueTarget;
    struct IProvideValueTargetProperty;
    struct IRootObjectProvider;
    struct IUriContext;
    struct IXamlBinaryWriter;
    struct IXamlBinaryWriterStatics;
    struct IXamlBindScopeDiagnostics;
    struct IXamlBindingHelper;
    struct IXamlBindingHelperStatics;
    struct IXamlMarkupHelper;
    struct IXamlMarkupHelperStatics;
    struct IXamlMember;
    struct IXamlMetadataProvider;
    struct IXamlReader;
    struct IXamlReaderStatics;
    struct IXamlType;
    struct IXamlTypeResolver;
    struct MarkupExtension;
    struct ProvideValueTargetProperty;
    struct XamlBinaryWriter;
    struct XamlBindingHelper;
    struct XamlMarkupHelper;
    struct XamlReader;
    struct XamlBinaryWriterErrorInformation;
    struct XmlnsDefinition;
}
namespace winrt::impl
{
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IComponentConnector>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IDataTemplateComponent>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IMarkupExtension>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IMarkupExtensionFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IMarkupExtensionOverrides>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IProvideValueTarget>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IProvideValueTargetProperty>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IRootObjectProvider>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IUriContext>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IXamlBinaryWriter>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IXamlBinaryWriterStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IXamlBindScopeDiagnostics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IXamlBindingHelper>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IXamlBindingHelperStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IXamlMarkupHelper>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IXamlMarkupHelperStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IXamlMember>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IXamlMetadataProvider>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IXamlReader>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IXamlReaderStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IXamlType>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::IXamlTypeResolver>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::MarkupExtension>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::ProvideValueTargetProperty>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::XamlBinaryWriter>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::XamlBindingHelper>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::XamlMarkupHelper>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::XamlReader>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::XamlBinaryWriterErrorInformation>{ using type = struct_category<uint32_t, uint32_t, uint32_t>; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Markup::XmlnsDefinition>{ using type = struct_category<hstring, hstring>; };
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::MarkupExtension> = L"Microsoft.UI.Xaml.Markup.MarkupExtension";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::ProvideValueTargetProperty> = L"Microsoft.UI.Xaml.Markup.ProvideValueTargetProperty";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::XamlBinaryWriter> = L"Microsoft.UI.Xaml.Markup.XamlBinaryWriter";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::XamlBindingHelper> = L"Microsoft.UI.Xaml.Markup.XamlBindingHelper";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::XamlMarkupHelper> = L"Microsoft.UI.Xaml.Markup.XamlMarkupHelper";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::XamlReader> = L"Microsoft.UI.Xaml.Markup.XamlReader";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::XamlBinaryWriterErrorInformation> = L"Microsoft.UI.Xaml.Markup.XamlBinaryWriterErrorInformation";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::XmlnsDefinition> = L"Microsoft.UI.Xaml.Markup.XmlnsDefinition";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IComponentConnector> = L"Microsoft.UI.Xaml.Markup.IComponentConnector";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IDataTemplateComponent> = L"Microsoft.UI.Xaml.Markup.IDataTemplateComponent";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IMarkupExtension> = L"Microsoft.UI.Xaml.Markup.IMarkupExtension";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IMarkupExtensionFactory> = L"Microsoft.UI.Xaml.Markup.IMarkupExtensionFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IMarkupExtensionOverrides> = L"Microsoft.UI.Xaml.Markup.IMarkupExtensionOverrides";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IProvideValueTarget> = L"Microsoft.UI.Xaml.Markup.IProvideValueTarget";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IProvideValueTargetProperty> = L"Microsoft.UI.Xaml.Markup.IProvideValueTargetProperty";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IRootObjectProvider> = L"Microsoft.UI.Xaml.Markup.IRootObjectProvider";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IUriContext> = L"Microsoft.UI.Xaml.Markup.IUriContext";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IXamlBinaryWriter> = L"Microsoft.UI.Xaml.Markup.IXamlBinaryWriter";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IXamlBinaryWriterStatics> = L"Microsoft.UI.Xaml.Markup.IXamlBinaryWriterStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IXamlBindScopeDiagnostics> = L"Microsoft.UI.Xaml.Markup.IXamlBindScopeDiagnostics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IXamlBindingHelper> = L"Microsoft.UI.Xaml.Markup.IXamlBindingHelper";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IXamlBindingHelperStatics> = L"Microsoft.UI.Xaml.Markup.IXamlBindingHelperStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IXamlMarkupHelper> = L"Microsoft.UI.Xaml.Markup.IXamlMarkupHelper";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IXamlMarkupHelperStatics> = L"Microsoft.UI.Xaml.Markup.IXamlMarkupHelperStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IXamlMember> = L"Microsoft.UI.Xaml.Markup.IXamlMember";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IXamlMetadataProvider> = L"Microsoft.UI.Xaml.Markup.IXamlMetadataProvider";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IXamlReader> = L"Microsoft.UI.Xaml.Markup.IXamlReader";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IXamlReaderStatics> = L"Microsoft.UI.Xaml.Markup.IXamlReaderStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IXamlType> = L"Microsoft.UI.Xaml.Markup.IXamlType";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Markup::IXamlTypeResolver> = L"Microsoft.UI.Xaml.Markup.IXamlTypeResolver";
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IComponentConnector>{ 0xAD401812,0xB091,0x51D0,{ 0xB9,0x15,0x2D,0x68,0x2C,0xD2,0xAF,0x10 } }; // AD401812-B091-51D0-B915-2D682CD2AF10
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IDataTemplateComponent>{ 0x1743DDF7,0x38BA,0x58C9,{ 0xA2,0xA6,0xB0,0xAE,0x28,0x71,0x3B,0xEE } }; // 1743DDF7-38BA-58C9-A2A6-B0AE28713BEE
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IMarkupExtension>{ 0xC355371E,0x091D,0x5136,{ 0xAF,0x4A,0xBA,0xF5,0xE0,0x06,0x16,0xBD } }; // C355371E-091D-5136-AF4A-BAF5E00616BD
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IMarkupExtensionFactory>{ 0x20651AFA,0x5F3A,0x5F0C,{ 0xAD,0xB1,0xB6,0x55,0x1F,0x53,0xA6,0xA0 } }; // 20651AFA-5F3A-5F0C-ADB1-B6551F53A6A0
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IMarkupExtensionOverrides>{ 0xA12AA575,0x5D31,0x5B68,{ 0xA3,0x0F,0x84,0x95,0x41,0x2A,0x35,0x1D } }; // A12AA575-5D31-5B68-A30F-8495412A351D
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IProvideValueTarget>{ 0x3F01FF68,0x3EFD,0x591D,{ 0xA5,0x06,0xDE,0x13,0xFC,0xAA,0xBD,0x83 } }; // 3F01FF68-3EFD-591D-A506-DE13FCAABD83
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IProvideValueTargetProperty>{ 0xCE777B1F,0xB42E,0x59D1,{ 0x87,0x0D,0x12,0xFD,0xF0,0x62,0x91,0x33 } }; // CE777B1F-B42E-59D1-870D-12FDF0629133
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IRootObjectProvider>{ 0x13D63599,0x352F,0x5EB8,{ 0x81,0xC1,0xBC,0x62,0xFB,0x12,0xD6,0xDA } }; // 13D63599-352F-5EB8-81C1-BC62FB12D6DA
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IUriContext>{ 0xFB8605F6,0x8F05,0x52EE,{ 0xA0,0x1C,0x3A,0x9E,0x11,0x8A,0x6E,0xA2 } }; // FB8605F6-8F05-52EE-A01C-3A9E118A6EA2
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IXamlBinaryWriter>{ 0x8FB45E3B,0xE689,0x55BF,{ 0xAA,0x11,0xD8,0x3B,0x1C,0x1C,0xDD,0xA1 } }; // 8FB45E3B-E689-55BF-AA11-D83B1C1CDDA1
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IXamlBinaryWriterStatics>{ 0x774907FC,0xC846,0x517F,{ 0xAB,0xCC,0xC3,0xF7,0xE8,0xC3,0xFF,0xC9 } }; // 774907FC-C846-517F-ABCC-C3F7E8C3FFC9
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IXamlBindScopeDiagnostics>{ 0x3EA84E4E,0xFDFE,0x55A8,{ 0xA5,0x61,0xED,0xF5,0x69,0x78,0x46,0xD7 } }; // 3EA84E4E-FDFE-55A8-A561-EDF5697846D7
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IXamlBindingHelper>{ 0x607A9BF2,0x5A6D,0x5C89,{ 0xA7,0x56,0xBB,0x44,0xF2,0x4F,0x28,0xF8 } }; // 607A9BF2-5A6D-5C89-A756-BB44F24F28F8
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IXamlBindingHelperStatics>{ 0x93C7DAD3,0xF9C2,0x5372,{ 0x84,0xDC,0x9E,0x9C,0x46,0x61,0xD0,0x83 } }; // 93C7DAD3-F9C2-5372-84DC-9E9C4661D083
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IXamlMarkupHelper>{ 0xCD677310,0x3B06,0x5A13,{ 0xB3,0x1A,0x40,0x18,0x49,0x57,0x08,0x58 } }; // CD677310-3B06-5A13-B31A-401849570858
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IXamlMarkupHelperStatics>{ 0xD9A0F6E3,0xC6CC,0x5CB6,{ 0x89,0x99,0x85,0x78,0x87,0x01,0xF3,0x39 } }; // D9A0F6E3-C6CC-5CB6-8999-85788701F339
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IXamlMember>{ 0xBF3A2913,0x5C63,0x50EC,{ 0x86,0x60,0x61,0x80,0x9B,0xE7,0xB9,0xB9 } }; // BF3A2913-5C63-50EC-8660-61809BE7B9B9
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IXamlMetadataProvider>{ 0xA96251F0,0x2214,0x5D53,{ 0x87,0x46,0xCE,0x99,0xA2,0x59,0x3C,0xD7 } }; // A96251F0-2214-5D53-8746-CE99A2593CD7
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IXamlReader>{ 0x54CE54C8,0x38C6,0x50D9,{ 0xAC,0x98,0x4B,0x03,0xED,0xDB,0xDE,0x9F } }; // 54CE54C8-38C6-50D9-AC98-4B03EDDBDE9F
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IXamlReaderStatics>{ 0x82A4CD9E,0x435E,0x5AEB,{ 0x8C,0x4F,0x30,0x0C,0xEC,0xE4,0x5C,0xAE } }; // 82A4CD9E-435E-5AEB-8C4F-300CECE45CAE
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IXamlType>{ 0xD24219DF,0x7EC9,0x57F1,{ 0xA2,0x7B,0x6A,0xF2,0x51,0xD9,0xC5,0xBC } }; // D24219DF-7EC9-57F1-A27B-6AF251D9C5BC
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Markup::IXamlTypeResolver>{ 0x3FA15615,0xCACF,0x547F,{ 0xB1,0xED,0x89,0xDA,0xE8,0xC6,0x74,0x52 } }; // 3FA15615-CACF-547F-B1ED-89DAE8C67452
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Markup::MarkupExtension>{ using type = winrt::Microsoft::UI::Xaml::Markup::IMarkupExtension; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Markup::ProvideValueTargetProperty>{ using type = winrt::Microsoft::UI::Xaml::Markup::IProvideValueTargetProperty; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Markup::XamlBinaryWriter>{ using type = winrt::Microsoft::UI::Xaml::Markup::IXamlBinaryWriter; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Markup::XamlBindingHelper>{ using type = winrt::Microsoft::UI::Xaml::Markup::IXamlBindingHelper; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Markup::XamlMarkupHelper>{ using type = winrt::Microsoft::UI::Xaml::Markup::IXamlMarkupHelper; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Markup::XamlReader>{ using type = winrt::Microsoft::UI::Xaml::Markup::IXamlReader; };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IComponentConnector>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall Connect(int32_t, void*) noexcept = 0;
            virtual int32_t __stdcall GetBindingConnector(int32_t, void*, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IDataTemplateComponent>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall Recycle() noexcept = 0;
            virtual int32_t __stdcall ProcessBindings(void*, int32_t, int32_t, int32_t*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IMarkupExtension>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IMarkupExtensionFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IMarkupExtensionOverrides>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall ProvideValue(void**) noexcept = 0;
            virtual int32_t __stdcall ProvideValueWithIXamlServiceProvider(void*, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IProvideValueTarget>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_TargetObject(void**) noexcept = 0;
            virtual int32_t __stdcall get_TargetProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IProvideValueTargetProperty>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Name(void**) noexcept = 0;
            virtual int32_t __stdcall get_Type(struct struct_Windows_UI_Xaml_Interop_TypeName*) noexcept = 0;
            virtual int32_t __stdcall get_DeclaringType(struct struct_Windows_UI_Xaml_Interop_TypeName*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IRootObjectProvider>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_RootObject(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IUriContext>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_BaseUri(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IXamlBinaryWriter>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IXamlBinaryWriterStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall Write(void*, void*, void*, struct struct_Microsoft_UI_Xaml_Markup_XamlBinaryWriterErrorInformation*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IXamlBindScopeDiagnostics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall Disable(int32_t, int32_t) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IXamlBindingHelper>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IXamlBindingHelperStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_DataTemplateComponentProperty(void**) noexcept = 0;
            virtual int32_t __stdcall GetDataTemplateComponent(void*, void**) noexcept = 0;
            virtual int32_t __stdcall SetDataTemplateComponent(void*, void*) noexcept = 0;
            virtual int32_t __stdcall SuspendRendering(void*) noexcept = 0;
            virtual int32_t __stdcall ResumeRendering(void*) noexcept = 0;
            virtual int32_t __stdcall ConvertValue(struct struct_Windows_UI_Xaml_Interop_TypeName, void*, void**) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromString(void*, void*, void*) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromBoolean(void*, void*, bool) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromChar16(void*, void*, char16_t) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromDateTime(void*, void*, int64_t) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromDouble(void*, void*, double) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromInt32(void*, void*, int32_t) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromUInt32(void*, void*, uint32_t) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromInt64(void*, void*, int64_t) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromUInt64(void*, void*, uint64_t) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromSingle(void*, void*, float) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromPoint(void*, void*, winrt::Windows::Foundation::Point) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromRect(void*, void*, winrt::Windows::Foundation::Rect) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromSize(void*, void*, winrt::Windows::Foundation::Size) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromTimeSpan(void*, void*, int64_t) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromByte(void*, void*, uint8_t) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromUri(void*, void*, void*) noexcept = 0;
            virtual int32_t __stdcall SetPropertyFromObject(void*, void*, void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IXamlMarkupHelper>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IXamlMarkupHelperStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall UnloadObject(void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IXamlMember>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_IsAttachable(bool*) noexcept = 0;
            virtual int32_t __stdcall get_IsDependencyProperty(bool*) noexcept = 0;
            virtual int32_t __stdcall get_IsReadOnly(bool*) noexcept = 0;
            virtual int32_t __stdcall get_Name(void**) noexcept = 0;
            virtual int32_t __stdcall get_TargetType(void**) noexcept = 0;
            virtual int32_t __stdcall get_Type(void**) noexcept = 0;
            virtual int32_t __stdcall GetValue(void*, void**) noexcept = 0;
            virtual int32_t __stdcall SetValue(void*, void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IXamlMetadataProvider>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall GetXamlType(struct struct_Windows_UI_Xaml_Interop_TypeName, void**) noexcept = 0;
            virtual int32_t __stdcall GetXamlTypeByFullName(void*, void**) noexcept = 0;
            virtual int32_t __stdcall GetXmlnsDefinitions(uint32_t* __resultSize, struct struct_Microsoft_UI_Xaml_Markup_XmlnsDefinition**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IXamlReader>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IXamlReaderStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall Load(void*, void**) noexcept = 0;
            virtual int32_t __stdcall LoadWithInitialTemplateValidation(void*, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IXamlType>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_BaseType(void**) noexcept = 0;
            virtual int32_t __stdcall get_ContentProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_FullName(void**) noexcept = 0;
            virtual int32_t __stdcall get_IsArray(bool*) noexcept = 0;
            virtual int32_t __stdcall get_IsCollection(bool*) noexcept = 0;
            virtual int32_t __stdcall get_IsConstructible(bool*) noexcept = 0;
            virtual int32_t __stdcall get_IsDictionary(bool*) noexcept = 0;
            virtual int32_t __stdcall get_IsMarkupExtension(bool*) noexcept = 0;
            virtual int32_t __stdcall get_IsBindable(bool*) noexcept = 0;
            virtual int32_t __stdcall get_ItemType(void**) noexcept = 0;
            virtual int32_t __stdcall get_KeyType(void**) noexcept = 0;
            virtual int32_t __stdcall get_BoxedType(void**) noexcept = 0;
            virtual int32_t __stdcall get_UnderlyingType(struct struct_Windows_UI_Xaml_Interop_TypeName*) noexcept = 0;
            virtual int32_t __stdcall ActivateInstance(void**) noexcept = 0;
            virtual int32_t __stdcall CreateFromString(void*, void**) noexcept = 0;
            virtual int32_t __stdcall GetMember(void*, void**) noexcept = 0;
            virtual int32_t __stdcall AddToVector(void*, void*) noexcept = 0;
            virtual int32_t __stdcall AddToMap(void*, void*, void*) noexcept = 0;
            virtual int32_t __stdcall RunInitializer() noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Markup::IXamlTypeResolver>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall Resolve(void*, struct struct_Windows_UI_Xaml_Interop_TypeName*) noexcept = 0;
        };
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IComponentConnector
    {
        auto Connect(int32_t connectionId, winrt::Windows::Foundation::IInspectable const& target) const;
        auto GetBindingConnector(int32_t connectionId, winrt::Windows::Foundation::IInspectable const& target) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IComponentConnector>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IComponentConnector<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IDataTemplateComponent
    {
        auto Recycle() const;
        auto ProcessBindings(winrt::Windows::Foundation::IInspectable const& item, int32_t itemIndex, int32_t phase, int32_t& nextPhase) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IDataTemplateComponent>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IDataTemplateComponent<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IMarkupExtension
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IMarkupExtension>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IMarkupExtension<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IMarkupExtensionFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IMarkupExtensionFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IMarkupExtensionFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IMarkupExtensionOverrides
    {
        auto ProvideValue() const;
        auto ProvideValue(winrt::Microsoft::UI::Xaml::IXamlServiceProvider const& serviceProvider) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IMarkupExtensionOverrides>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IMarkupExtensionOverrides<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IProvideValueTarget
    {
        [[nodiscard]] auto TargetObject() const;
        [[nodiscard]] auto TargetProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IProvideValueTarget>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IProvideValueTarget<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IProvideValueTargetProperty
    {
        [[nodiscard]] auto Name() const;
        [[nodiscard]] auto Type() const;
        [[nodiscard]] auto DeclaringType() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IProvideValueTargetProperty>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IProvideValueTargetProperty<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IRootObjectProvider
    {
        [[nodiscard]] auto RootObject() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IRootObjectProvider>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IRootObjectProvider<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IUriContext
    {
        [[nodiscard]] auto BaseUri() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IUriContext>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IUriContext<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IXamlBinaryWriter
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IXamlBinaryWriter>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IXamlBinaryWriter<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IXamlBinaryWriterStatics
    {
        auto Write(param::vector<winrt::Windows::Storage::Streams::IRandomAccessStream> const& inputStreams, param::vector<winrt::Windows::Storage::Streams::IRandomAccessStream> const& outputStreams, winrt::Microsoft::UI::Xaml::Markup::IXamlMetadataProvider const& xamlMetadataProvider) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IXamlBinaryWriterStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IXamlBinaryWriterStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IXamlBindScopeDiagnostics
    {
        auto Disable(int32_t lineNumber, int32_t columnNumber) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IXamlBindScopeDiagnostics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IXamlBindScopeDiagnostics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IXamlBindingHelper
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IXamlBindingHelper>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IXamlBindingHelper<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IXamlBindingHelperStatics
    {
        [[nodiscard]] auto DataTemplateComponentProperty() const;
        auto GetDataTemplateComponent(winrt::Microsoft::UI::Xaml::DependencyObject const& element) const;
        auto SetDataTemplateComponent(winrt::Microsoft::UI::Xaml::DependencyObject const& element, winrt::Microsoft::UI::Xaml::Markup::IDataTemplateComponent const& value) const;
        auto SuspendRendering(winrt::Microsoft::UI::Xaml::UIElement const& target) const;
        auto ResumeRendering(winrt::Microsoft::UI::Xaml::UIElement const& target) const;
        auto ConvertValue(winrt::Windows::UI::Xaml::Interop::TypeName const& type, winrt::Windows::Foundation::IInspectable const& value) const;
        auto SetPropertyFromString(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, param::hstring const& value) const;
        auto SetPropertyFromBoolean(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, bool value) const;
        auto SetPropertyFromChar16(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, char16_t value) const;
        auto SetPropertyFromDateTime(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, winrt::Windows::Foundation::DateTime const& value) const;
        auto SetPropertyFromDouble(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, double value) const;
        auto SetPropertyFromInt32(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, int32_t value) const;
        auto SetPropertyFromUInt32(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, uint32_t value) const;
        auto SetPropertyFromInt64(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, int64_t value) const;
        auto SetPropertyFromUInt64(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, uint64_t value) const;
        auto SetPropertyFromSingle(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, float value) const;
        auto SetPropertyFromPoint(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, winrt::Windows::Foundation::Point const& value) const;
        auto SetPropertyFromRect(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, winrt::Windows::Foundation::Rect const& value) const;
        auto SetPropertyFromSize(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, winrt::Windows::Foundation::Size const& value) const;
        auto SetPropertyFromTimeSpan(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, winrt::Windows::Foundation::TimeSpan const& value) const;
        auto SetPropertyFromByte(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, uint8_t value) const;
        auto SetPropertyFromUri(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, winrt::Windows::Foundation::Uri const& value) const;
        auto SetPropertyFromObject(winrt::Windows::Foundation::IInspectable const& dependencyObject, winrt::Microsoft::UI::Xaml::DependencyProperty const& propertyToSet, winrt::Windows::Foundation::IInspectable const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IXamlBindingHelperStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IXamlBindingHelperStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IXamlMarkupHelper
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IXamlMarkupHelper>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IXamlMarkupHelper<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IXamlMarkupHelperStatics
    {
        auto UnloadObject(winrt::Microsoft::UI::Xaml::DependencyObject const& element) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IXamlMarkupHelperStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IXamlMarkupHelperStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IXamlMember
    {
        [[nodiscard]] auto IsAttachable() const;
        [[nodiscard]] auto IsDependencyProperty() const;
        [[nodiscard]] auto IsReadOnly() const;
        [[nodiscard]] auto Name() const;
        [[nodiscard]] auto TargetType() const;
        [[nodiscard]] auto Type() const;
        auto GetValue(winrt::Windows::Foundation::IInspectable const& instance) const;
        auto SetValue(winrt::Windows::Foundation::IInspectable const& instance, winrt::Windows::Foundation::IInspectable const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IXamlMember>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IXamlMember<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IXamlMetadataProvider
    {
        auto GetXamlType(winrt::Windows::UI::Xaml::Interop::TypeName const& type) const;
        auto GetXamlType(param::hstring const& fullName) const;
        auto GetXmlnsDefinitions() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IXamlMetadataProvider>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IXamlMetadataProvider<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IXamlReader
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IXamlReader>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IXamlReader<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IXamlReaderStatics
    {
        auto Load(param::hstring const& xaml) const;
        auto LoadWithInitialTemplateValidation(param::hstring const& xaml) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IXamlReaderStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IXamlReaderStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IXamlType
    {
        [[nodiscard]] auto BaseType() const;
        [[nodiscard]] auto ContentProperty() const;
        [[nodiscard]] auto FullName() const;
        [[nodiscard]] auto IsArray() const;
        [[nodiscard]] auto IsCollection() const;
        [[nodiscard]] auto IsConstructible() const;
        [[nodiscard]] auto IsDictionary() const;
        [[nodiscard]] auto IsMarkupExtension() const;
        [[nodiscard]] auto IsBindable() const;
        [[nodiscard]] auto ItemType() const;
        [[nodiscard]] auto KeyType() const;
        [[nodiscard]] auto BoxedType() const;
        [[nodiscard]] auto UnderlyingType() const;
        auto ActivateInstance() const;
        auto CreateFromString(param::hstring const& value) const;
        auto GetMember(param::hstring const& name) const;
        auto AddToVector(winrt::Windows::Foundation::IInspectable const& instance, winrt::Windows::Foundation::IInspectable const& value) const;
        auto AddToMap(winrt::Windows::Foundation::IInspectable const& instance, winrt::Windows::Foundation::IInspectable const& key, winrt::Windows::Foundation::IInspectable const& value) const;
        auto RunInitializer() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IXamlType>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IXamlType<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Markup_IXamlTypeResolver
    {
        auto Resolve(param::hstring const& qualifiedTypeName) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Markup::IXamlTypeResolver>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Markup_IXamlTypeResolver<D>;
    };
    struct struct_Microsoft_UI_Xaml_Markup_XamlBinaryWriterErrorInformation
    {
        uint32_t InputStreamIndex;
        uint32_t LineNumber;
        uint32_t LinePosition;
    };
    template <> struct abi<Microsoft::UI::Xaml::Markup::XamlBinaryWriterErrorInformation>
    {
        using type = struct_Microsoft_UI_Xaml_Markup_XamlBinaryWriterErrorInformation;
    };
    struct struct_Microsoft_UI_Xaml_Markup_XmlnsDefinition
    {
        void* XmlNamespace;
        void* Namespace;
    };
    template <> struct abi<Microsoft::UI::Xaml::Markup::XmlnsDefinition>
    {
        using type = struct_Microsoft_UI_Xaml_Markup_XmlnsDefinition;
    };
}
#endif
