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

#pragma once
#ifndef WINRT_Microsoft_UI_Xaml_Hosting_0_H
#define WINRT_Microsoft_UI_Xaml_Hosting_0_H
WINRT_EXPORT namespace winrt::Microsoft::UI
{
    struct WindowId;
}
WINRT_EXPORT namespace winrt::Microsoft::UI::Composition
{
    struct CompositionPropertySet;
    struct ICompositionAnimationBase;
    struct Visual;
}
WINRT_EXPORT namespace winrt::Microsoft::UI::Content
{
    struct DesktopChildSiteBridge;
}
WINRT_EXPORT namespace winrt::Microsoft::UI::Xaml
{
    struct UIElement;
}
WINRT_EXPORT namespace winrt::Microsoft::UI::Xaml::Controls
{
    struct ScrollViewer;
}
WINRT_EXPORT namespace winrt::Microsoft::UI::Xaml::Media
{
    struct SystemBackdrop;
}
WINRT_EXPORT namespace winrt::Windows::Foundation
{
    struct Deferral;
    struct EventRegistrationToken;
    struct Rect;
    template <typename TSender, typename TResult> struct WINRT_IMPL_EMPTY_BASES TypedEventHandler;
}
WINRT_EXPORT namespace winrt::Microsoft::UI::Xaml::Hosting
{
    enum class XamlSourceFocusNavigationReason : int32_t
    {
        Programmatic = 0,
        Restore = 1,
        First = 3,
        Last = 4,
        Left = 7,
        Up = 8,
        Right = 9,
        Down = 10,
    };
    struct IDesktopWindowXamlSource;
    struct IDesktopWindowXamlSource2;
    struct IDesktopWindowXamlSourceFactory;
    struct IDesktopWindowXamlSourceGotFocusEventArgs;
    struct IDesktopWindowXamlSourceTakeFocusRequestedEventArgs;
    struct IElementCompositionPreview;
    struct IElementCompositionPreviewStatics;
    struct IWindowsXamlManager;
    struct IWindowsXamlManager2;
    struct IWindowsXamlManagerStatics;
    struct IWindowsXamlManagerStatics2;
    struct IXamlShutdownCompletedOnThreadEventArgs;
    struct IXamlSourceFocusNavigationRequest;
    struct IXamlSourceFocusNavigationRequestFactory;
    struct IXamlSourceFocusNavigationResult;
    struct IXamlSourceFocusNavigationResultFactory;
    struct DesktopWindowXamlSource;
    struct DesktopWindowXamlSourceGotFocusEventArgs;
    struct DesktopWindowXamlSourceTakeFocusRequestedEventArgs;
    struct ElementCompositionPreview;
    struct WindowsXamlManager;
    struct XamlShutdownCompletedOnThreadEventArgs;
    struct XamlSourceFocusNavigationRequest;
    struct XamlSourceFocusNavigationResult;
}
namespace winrt::impl
{
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSource>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSource2>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceGotFocusEventArgs>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceTakeFocusRequestedEventArgs>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IElementCompositionPreview>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IElementCompositionPreviewStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManager>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManager2>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManagerStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManagerStatics2>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IXamlShutdownCompletedOnThreadEventArgs>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationRequest>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationRequestFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationResult>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationResultFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSource>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSourceGotFocusEventArgs>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSourceTakeFocusRequestedEventArgs>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::ElementCompositionPreview>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::WindowsXamlManager>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::XamlShutdownCompletedOnThreadEventArgs>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::XamlSourceFocusNavigationRequest>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::XamlSourceFocusNavigationResult>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Hosting::XamlSourceFocusNavigationReason>{ using type = enum_category; };
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSource> = L"Microsoft.UI.Xaml.Hosting.DesktopWindowXamlSource";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSourceGotFocusEventArgs> = L"Microsoft.UI.Xaml.Hosting.DesktopWindowXamlSourceGotFocusEventArgs";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSourceTakeFocusRequestedEventArgs> = L"Microsoft.UI.Xaml.Hosting.DesktopWindowXamlSourceTakeFocusRequestedEventArgs";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::ElementCompositionPreview> = L"Microsoft.UI.Xaml.Hosting.ElementCompositionPreview";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::WindowsXamlManager> = L"Microsoft.UI.Xaml.Hosting.WindowsXamlManager";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::XamlShutdownCompletedOnThreadEventArgs> = L"Microsoft.UI.Xaml.Hosting.XamlShutdownCompletedOnThreadEventArgs";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::XamlSourceFocusNavigationRequest> = L"Microsoft.UI.Xaml.Hosting.XamlSourceFocusNavigationRequest";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::XamlSourceFocusNavigationResult> = L"Microsoft.UI.Xaml.Hosting.XamlSourceFocusNavigationResult";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::XamlSourceFocusNavigationReason> = L"Microsoft.UI.Xaml.Hosting.XamlSourceFocusNavigationReason";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSource> = L"Microsoft.UI.Xaml.Hosting.IDesktopWindowXamlSource";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSource2> = L"Microsoft.UI.Xaml.Hosting.IDesktopWindowXamlSource2";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceFactory> = L"Microsoft.UI.Xaml.Hosting.IDesktopWindowXamlSourceFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceGotFocusEventArgs> = L"Microsoft.UI.Xaml.Hosting.IDesktopWindowXamlSourceGotFocusEventArgs";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceTakeFocusRequestedEventArgs> = L"Microsoft.UI.Xaml.Hosting.IDesktopWindowXamlSourceTakeFocusRequestedEventArgs";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IElementCompositionPreview> = L"Microsoft.UI.Xaml.Hosting.IElementCompositionPreview";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IElementCompositionPreviewStatics> = L"Microsoft.UI.Xaml.Hosting.IElementCompositionPreviewStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManager> = L"Microsoft.UI.Xaml.Hosting.IWindowsXamlManager";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManager2> = L"Microsoft.UI.Xaml.Hosting.IWindowsXamlManager2";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManagerStatics> = L"Microsoft.UI.Xaml.Hosting.IWindowsXamlManagerStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManagerStatics2> = L"Microsoft.UI.Xaml.Hosting.IWindowsXamlManagerStatics2";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IXamlShutdownCompletedOnThreadEventArgs> = L"Microsoft.UI.Xaml.Hosting.IXamlShutdownCompletedOnThreadEventArgs";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationRequest> = L"Microsoft.UI.Xaml.Hosting.IXamlSourceFocusNavigationRequest";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationRequestFactory> = L"Microsoft.UI.Xaml.Hosting.IXamlSourceFocusNavigationRequestFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationResult> = L"Microsoft.UI.Xaml.Hosting.IXamlSourceFocusNavigationResult";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationResultFactory> = L"Microsoft.UI.Xaml.Hosting.IXamlSourceFocusNavigationResultFactory";
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSource>{ 0x553AF92C,0x1381,0x51D6,{ 0xBE,0xE0,0xF3,0x4B,0xEB,0x04,0x2E,0xA8 } }; // 553AF92C-1381-51D6-BEE0-F34BEB042EA8
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSource2>{ 0xFB02B9F1,0x8588,0x5BD3,{ 0x89,0x51,0x46,0x64,0xA6,0x75,0xD8,0x72 } }; // FB02B9F1-8588-5BD3-8951-4664A675D872
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceFactory>{ 0x7D2DB617,0x14E7,0x5D49,{ 0xAE,0xEC,0xAE,0x10,0x88,0x7E,0x59,0x5D } }; // 7D2DB617-14E7-5D49-AEEC-AE10887E595D
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceGotFocusEventArgs>{ 0xCC63D863,0x2071,0x5F6B,{ 0xAE,0xF9,0xC0,0xBA,0x35,0xF3,0xB8,0xDF } }; // CC63D863-2071-5F6B-AEF9-C0BA35F3B8DF
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceTakeFocusRequestedEventArgs>{ 0x4F5A0E2C,0x4DDC,0x5C03,{ 0x93,0x9F,0x6F,0x3B,0xDA,0x56,0x03,0x63 } }; // 4F5A0E2C-4DDC-5C03-939F-6F3BDA560363
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IElementCompositionPreview>{ 0xC8AD1EF4,0xA93F,0x5A25,{ 0x85,0xBD,0x7C,0x49,0x8D,0x98,0x56,0xD3 } }; // C8AD1EF4-A93F-5A25-85BD-7C498D9856D3
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IElementCompositionPreviewStatics>{ 0x84DA5A6C,0x0CFA,0x532B,{ 0x9B,0x15,0xCC,0xD9,0x86,0x37,0x43,0x42 } }; // 84DA5A6C-0CFA-532B-9B15-CCD986374342
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManager>{ 0x85A2E562,0x7E8F,0x5333,{ 0xA1,0x04,0xA3,0xE6,0x72,0xA2,0xFF,0xEE } }; // 85A2E562-7E8F-5333-A104-A3E672A2FFEE
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManager2>{ 0xBD67CFF5,0xB887,0x56DA,{ 0xB0,0xA2,0xDA,0xD1,0x0A,0x65,0x20,0xE9 } }; // BD67CFF5-B887-56DA-B0A2-DAD10A6520E9
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManagerStatics>{ 0x56CB591D,0xDE97,0x539F,{ 0x88,0x1D,0x8C,0xCD,0xC4,0x4F,0xA6,0xC4 } }; // 56CB591D-DE97-539F-881D-8CCDC44FA6C4
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManagerStatics2>{ 0x1062430E,0x0898,0x5240,{ 0xBA,0x52,0x89,0xD9,0x22,0x5E,0x7E,0x58 } }; // 1062430E-0898-5240-BA52-89D9225E7E58
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IXamlShutdownCompletedOnThreadEventArgs>{ 0xACCD20E5,0x3576,0x5262,{ 0xA3,0xDD,0x99,0x06,0x57,0x68,0x1F,0x1F } }; // ACCD20E5-3576-5262-A3DD-990657681F1F
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationRequest>{ 0xC883EA8B,0x4CE2,0x58BE,{ 0xB5,0x47,0x66,0xDE,0xDF,0x62,0x03,0x12 } }; // C883EA8B-4CE2-58BE-B547-66DEDF620312
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationRequestFactory>{ 0x7A5124DD,0x2876,0x5ED8,{ 0xB5,0x64,0x58,0x67,0x73,0x1D,0x7F,0x1E } }; // 7A5124DD-2876-5ED8-B564-5867731D7F1E
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationResult>{ 0xD6BF378E,0x2AAC,0x5E5B,{ 0xAC,0x8A,0x6C,0x5D,0x9A,0x4C,0x1C,0xB8 } }; // D6BF378E-2AAC-5E5B-AC8A-6C5D9A4C1CB8
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationResultFactory>{ 0xF533F53B,0x5C00,0x5C88,{ 0x9A,0x41,0x38,0x88,0xCB,0x86,0xE4,0x95 } }; // F533F53B-5C00-5C88-9A41-3888CB86E495
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSource>{ using type = winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSource; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSourceGotFocusEventArgs>{ using type = winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceGotFocusEventArgs; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSourceTakeFocusRequestedEventArgs>{ using type = winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceTakeFocusRequestedEventArgs; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Hosting::ElementCompositionPreview>{ using type = winrt::Microsoft::UI::Xaml::Hosting::IElementCompositionPreview; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Hosting::WindowsXamlManager>{ using type = winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManager; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Hosting::XamlShutdownCompletedOnThreadEventArgs>{ using type = winrt::Microsoft::UI::Xaml::Hosting::IXamlShutdownCompletedOnThreadEventArgs; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Hosting::XamlSourceFocusNavigationRequest>{ using type = winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationRequest; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Hosting::XamlSourceFocusNavigationResult>{ using type = winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationResult; };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSource>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Content(void**) noexcept = 0;
            virtual int32_t __stdcall put_Content(void*) noexcept = 0;
            virtual int32_t __stdcall get_HasFocus(bool*) noexcept = 0;
            virtual int32_t __stdcall get_SystemBackdrop(void**) noexcept = 0;
            virtual int32_t __stdcall put_SystemBackdrop(void*) noexcept = 0;
            virtual int32_t __stdcall get_SiteBridge(void**) noexcept = 0;
            virtual int32_t __stdcall add_TakeFocusRequested(void*, winrt::event_token*) noexcept = 0;
            virtual int32_t __stdcall remove_TakeFocusRequested(winrt::event_token) noexcept = 0;
            virtual int32_t __stdcall add_GotFocus(void*, winrt::event_token*) noexcept = 0;
            virtual int32_t __stdcall remove_GotFocus(winrt::event_token) noexcept = 0;
            virtual int32_t __stdcall NavigateFocus(void*, void**) noexcept = 0;
            virtual int32_t __stdcall Initialize(struct struct_Microsoft_UI_WindowId) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSource2>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_ShouldConstrainPopupsToWorkArea(bool*) noexcept = 0;
            virtual int32_t __stdcall put_ShouldConstrainPopupsToWorkArea(bool) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceGotFocusEventArgs>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Request(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceTakeFocusRequestedEventArgs>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Request(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IElementCompositionPreview>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IElementCompositionPreviewStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall GetElementVisual(void*, void**) noexcept = 0;
            virtual int32_t __stdcall GetElementChildVisual(void*, void**) noexcept = 0;
            virtual int32_t __stdcall SetElementChildVisual(void*, void*) noexcept = 0;
            virtual int32_t __stdcall GetScrollViewerManipulationPropertySet(void*, void**) noexcept = 0;
            virtual int32_t __stdcall SetImplicitShowAnimation(void*, void*) noexcept = 0;
            virtual int32_t __stdcall SetImplicitHideAnimation(void*, void*) noexcept = 0;
            virtual int32_t __stdcall SetIsTranslationEnabled(void*, bool) noexcept = 0;
            virtual int32_t __stdcall GetPointerPositionPropertySet(void*, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManager>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManager2>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall add_XamlShutdownCompletedOnThread(void*, winrt::event_token*) noexcept = 0;
            virtual int32_t __stdcall remove_XamlShutdownCompletedOnThread(winrt::event_token) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManagerStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall InitializeForCurrentThread(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManagerStatics2>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall GetForCurrentThread(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IXamlShutdownCompletedOnThreadEventArgs>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall GetDispatcherQueueDeferral(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationRequest>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Reason(int32_t*) noexcept = 0;
            virtual int32_t __stdcall get_HintRect(winrt::Windows::Foundation::Rect*) noexcept = 0;
            virtual int32_t __stdcall get_CorrelationId(winrt::guid*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationRequestFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(int32_t, void**) noexcept = 0;
            virtual int32_t __stdcall CreateInstanceWithHintRect(int32_t, winrt::Windows::Foundation::Rect, void**) noexcept = 0;
            virtual int32_t __stdcall CreateInstanceWithHintRectAndCorrelationId(int32_t, winrt::Windows::Foundation::Rect, winrt::guid, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationResult>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_WasFocusMoved(bool*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationResultFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(bool, void**) noexcept = 0;
        };
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IDesktopWindowXamlSource
    {
        [[nodiscard]] auto Content() const;
        auto Content(winrt::Microsoft::UI::Xaml::UIElement const& value) const;
        [[nodiscard]] auto HasFocus() const;
        [[nodiscard]] auto SystemBackdrop() const;
        auto SystemBackdrop(winrt::Microsoft::UI::Xaml::Media::SystemBackdrop const& value) const;
        [[nodiscard]] auto SiteBridge() const;
        auto TakeFocusRequested(winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSource, winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSourceTakeFocusRequestedEventArgs> const& handler) const;
        using TakeFocusRequested_revoker = impl::event_revoker<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSource, &impl::abi_t<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSource>::remove_TakeFocusRequested>;
        [[nodiscard]] auto TakeFocusRequested(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSource, winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSourceTakeFocusRequestedEventArgs> const& handler) const;
        auto TakeFocusRequested(winrt::event_token const& token) const noexcept;
        auto GotFocus(winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSource, winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSourceGotFocusEventArgs> const& handler) const;
        using GotFocus_revoker = impl::event_revoker<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSource, &impl::abi_t<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSource>::remove_GotFocus>;
        [[nodiscard]] auto GotFocus(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSource, winrt::Microsoft::UI::Xaml::Hosting::DesktopWindowXamlSourceGotFocusEventArgs> const& handler) const;
        auto GotFocus(winrt::event_token const& token) const noexcept;
        auto NavigateFocus(winrt::Microsoft::UI::Xaml::Hosting::XamlSourceFocusNavigationRequest const& request) const;
        auto Initialize(winrt::Microsoft::UI::WindowId const& parentWindowId) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSource>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IDesktopWindowXamlSource<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IDesktopWindowXamlSource2
    {
        [[nodiscard]] auto ShouldConstrainPopupsToWorkArea() const;
        auto ShouldConstrainPopupsToWorkArea(bool value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSource2>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IDesktopWindowXamlSource2<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IDesktopWindowXamlSourceFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IDesktopWindowXamlSourceFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IDesktopWindowXamlSourceGotFocusEventArgs
    {
        [[nodiscard]] auto Request() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceGotFocusEventArgs>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IDesktopWindowXamlSourceGotFocusEventArgs<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IDesktopWindowXamlSourceTakeFocusRequestedEventArgs
    {
        [[nodiscard]] auto Request() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IDesktopWindowXamlSourceTakeFocusRequestedEventArgs>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IDesktopWindowXamlSourceTakeFocusRequestedEventArgs<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IElementCompositionPreview
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IElementCompositionPreview>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IElementCompositionPreview<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IElementCompositionPreviewStatics
    {
        auto GetElementVisual(winrt::Microsoft::UI::Xaml::UIElement const& element) const;
        auto GetElementChildVisual(winrt::Microsoft::UI::Xaml::UIElement const& element) const;
        auto SetElementChildVisual(winrt::Microsoft::UI::Xaml::UIElement const& element, winrt::Microsoft::UI::Composition::Visual const& visual) const;
        auto GetScrollViewerManipulationPropertySet(winrt::Microsoft::UI::Xaml::Controls::ScrollViewer const& scrollViewer) const;
        auto SetImplicitShowAnimation(winrt::Microsoft::UI::Xaml::UIElement const& element, winrt::Microsoft::UI::Composition::ICompositionAnimationBase const& animation) const;
        auto SetImplicitHideAnimation(winrt::Microsoft::UI::Xaml::UIElement const& element, winrt::Microsoft::UI::Composition::ICompositionAnimationBase const& animation) const;
        auto SetIsTranslationEnabled(winrt::Microsoft::UI::Xaml::UIElement const& element, bool value) const;
        auto GetPointerPositionPropertySet(winrt::Microsoft::UI::Xaml::UIElement const& targetElement) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IElementCompositionPreviewStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IElementCompositionPreviewStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IWindowsXamlManager
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManager>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IWindowsXamlManager<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IWindowsXamlManager2
    {
        auto XamlShutdownCompletedOnThread(winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Xaml::Hosting::WindowsXamlManager, winrt::Microsoft::UI::Xaml::Hosting::XamlShutdownCompletedOnThreadEventArgs> const& handler) const;
        using XamlShutdownCompletedOnThread_revoker = impl::event_revoker<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManager2, &impl::abi_t<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManager2>::remove_XamlShutdownCompletedOnThread>;
        [[nodiscard]] auto XamlShutdownCompletedOnThread(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Xaml::Hosting::WindowsXamlManager, winrt::Microsoft::UI::Xaml::Hosting::XamlShutdownCompletedOnThreadEventArgs> const& handler) const;
        auto XamlShutdownCompletedOnThread(winrt::event_token const& token) const noexcept;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManager2>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IWindowsXamlManager2<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IWindowsXamlManagerStatics
    {
        auto InitializeForCurrentThread() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManagerStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IWindowsXamlManagerStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IWindowsXamlManagerStatics2
    {
        auto GetForCurrentThread() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IWindowsXamlManagerStatics2>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IWindowsXamlManagerStatics2<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IXamlShutdownCompletedOnThreadEventArgs
    {
        auto GetDispatcherQueueDeferral() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IXamlShutdownCompletedOnThreadEventArgs>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IXamlShutdownCompletedOnThreadEventArgs<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IXamlSourceFocusNavigationRequest
    {
        [[nodiscard]] auto Reason() const;
        [[nodiscard]] auto HintRect() const;
        [[nodiscard]] auto CorrelationId() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationRequest>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IXamlSourceFocusNavigationRequest<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IXamlSourceFocusNavigationRequestFactory
    {
        auto CreateInstance(winrt::Microsoft::UI::Xaml::Hosting::XamlSourceFocusNavigationReason const& reason) const;
        auto CreateInstanceWithHintRect(winrt::Microsoft::UI::Xaml::Hosting::XamlSourceFocusNavigationReason const& reason, winrt::Windows::Foundation::Rect const& hintRect) const;
        auto CreateInstanceWithHintRectAndCorrelationId(winrt::Microsoft::UI::Xaml::Hosting::XamlSourceFocusNavigationReason const& reason, winrt::Windows::Foundation::Rect const& hintRect, winrt::guid const& correlationId) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationRequestFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IXamlSourceFocusNavigationRequestFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IXamlSourceFocusNavigationResult
    {
        [[nodiscard]] auto WasFocusMoved() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationResult>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IXamlSourceFocusNavigationResult<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Hosting_IXamlSourceFocusNavigationResultFactory
    {
        auto CreateInstance(bool focusMoved) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Hosting::IXamlSourceFocusNavigationResultFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Hosting_IXamlSourceFocusNavigationResultFactory<D>;
    };
}
#endif
