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

#pragma once

#include "pybase.h"

#if __has_include("py.Windows.ApplicationModel.h")
#include "py.Windows.ApplicationModel.h"
#endif

#if __has_include("py.Windows.ApplicationModel.Activation.h")
#include "py.Windows.ApplicationModel.Activation.h"
#endif

#if __has_include("py.Windows.ApplicationModel.Appointments.AppointmentsProvider.h")
#include "py.Windows.ApplicationModel.Appointments.AppointmentsProvider.h"
#endif

#if __has_include("py.Windows.ApplicationModel.Background.h")
#include "py.Windows.ApplicationModel.Background.h"
#endif

#if __has_include("py.Windows.ApplicationModel.Calls.h")
#include "py.Windows.ApplicationModel.Calls.h"
#endif

#if __has_include("py.Windows.ApplicationModel.Contacts.h")
#include "py.Windows.ApplicationModel.Contacts.h"
#endif

#if __has_include("py.Windows.ApplicationModel.Contacts.Provider.h")
#include "py.Windows.ApplicationModel.Contacts.Provider.h"
#endif

#if __has_include("py.Windows.ApplicationModel.Core.h")
#include "py.Windows.ApplicationModel.Core.h"
#endif

#if __has_include("py.Windows.ApplicationModel.DataTransfer.h")
#include "py.Windows.ApplicationModel.DataTransfer.h"
#endif

#if __has_include("py.Windows.ApplicationModel.DataTransfer.ShareTarget.h")
#include "py.Windows.ApplicationModel.DataTransfer.ShareTarget.h"
#endif

#if __has_include("py.Windows.ApplicationModel.Search.h")
#include "py.Windows.ApplicationModel.Search.h"
#endif

#if __has_include("py.Windows.ApplicationModel.UserDataAccounts.Provider.h")
#include "py.Windows.ApplicationModel.UserDataAccounts.Provider.h"
#endif

#if __has_include("py.Windows.ApplicationModel.Wallet.h")
#include "py.Windows.ApplicationModel.Wallet.h"
#endif

#if __has_include("py.Windows.Devices.Enumeration.h")
#include "py.Windows.Devices.Enumeration.h"
#endif

#if __has_include("py.Windows.Devices.Printers.Extensions.h")
#include "py.Windows.Devices.Printers.Extensions.h"
#endif

#if __has_include("py.Windows.Foundation.h")
#include "py.Windows.Foundation.h"
#endif

#if __has_include("py.Windows.Foundation.Collections.h")
#include "py.Windows.Foundation.Collections.h"
#endif

#if __has_include("py.Windows.Media.SpeechRecognition.h")
#include "py.Windows.Media.SpeechRecognition.h"
#endif

#if __has_include("py.Windows.Security.Authentication.Web.h")
#include "py.Windows.Security.Authentication.Web.h"
#endif

#if __has_include("py.Windows.Security.Authentication.Web.Provider.h")
#include "py.Windows.Security.Authentication.Web.Provider.h"
#endif

#if __has_include("py.Windows.Storage.h")
#include "py.Windows.Storage.h"
#endif

#if __has_include("py.Windows.Storage.Pickers.Provider.h")
#include "py.Windows.Storage.Pickers.Provider.h"
#endif

#if __has_include("py.Windows.Storage.Provider.h")
#include "py.Windows.Storage.Provider.h"
#endif

#if __has_include("py.Windows.Storage.Search.h")
#include "py.Windows.Storage.Search.h"
#endif

#if __has_include("py.Windows.Storage.Streams.h")
#include "py.Windows.Storage.Streams.h"
#endif

#if __has_include("py.Windows.System.h")
#include "py.Windows.System.h"
#endif

#if __has_include("py.Windows.UI.h")
#include "py.Windows.UI.h"
#endif

#if __has_include("py.Windows.Web.h")
#include "py.Windows.Web.h"
#endif

#if __has_include("py.Windows.Web.Http.h")
#include "py.Windows.Web.Http.h"
#endif

#if __has_include("py.Windows.Web.UI.h")
#include "py.Windows.Web.UI.h"
#endif

#include <winrt/Windows.ApplicationModel.h>
#include <winrt/Windows.ApplicationModel.Activation.h>
#include <winrt/Windows.ApplicationModel.Appointments.AppointmentsProvider.h>
#include <winrt/Windows.ApplicationModel.Background.h>
#include <winrt/Windows.ApplicationModel.Calls.h>
#include <winrt/Windows.ApplicationModel.Contacts.h>
#include <winrt/Windows.ApplicationModel.Contacts.Provider.h>
#include <winrt/Windows.ApplicationModel.Core.h>
#include <winrt/Windows.ApplicationModel.DataTransfer.h>
#include <winrt/Windows.ApplicationModel.DataTransfer.ShareTarget.h>
#include <winrt/Windows.ApplicationModel.Search.h>
#include <winrt/Windows.ApplicationModel.UserDataAccounts.Provider.h>
#include <winrt/Windows.ApplicationModel.Wallet.h>
#include <winrt/Windows.Devices.Enumeration.h>
#include <winrt/Windows.Devices.Printers.Extensions.h>
#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Foundation.Collections.h>
#include <winrt/Windows.Media.SpeechRecognition.h>
#include <winrt/Windows.Security.Authentication.Web.h>
#include <winrt/Windows.Security.Authentication.Web.Provider.h>
#include <winrt/Windows.Storage.h>
#include <winrt/Windows.Storage.Pickers.Provider.h>
#include <winrt/Windows.Storage.Provider.h>
#include <winrt/Windows.Storage.Search.h>
#include <winrt/Windows.Storage.Streams.h>
#include <winrt/Windows.System.h>
#include <winrt/Windows.UI.h>
#include <winrt/Windows.Web.h>
#include <winrt/Windows.Web.Http.h>
#include <winrt/Windows.Web.UI.h>

#include <winrt/Windows.UI.WebUI.h>

namespace py::proj::Windows::UI::WebUI
{}

namespace py::impl::Windows::UI::WebUI
{
    struct ActivatedEventHandler
    {
        static winrt::Windows::UI::WebUI::ActivatedEventHandler get(PyObject* callable)
        {
            py::delegate_callable _delegate{ callable };

            return [delegate = std::move(_delegate)](auto param0, auto param1)
            {
                winrt::handle_type<py::gil_state_traits> gil_state{ PyGILState_Ensure() };

                py::pyobj_handle py_param0{ py::convert(param0) };
                py::pyobj_handle py_param1{ py::convert(param1) };

                py::pyobj_handle args{ PyTuple_Pack(2, py_param0.get(), py_param1.get()) };

                if (!args) {
                    PyErr_WriteUnraisable(delegate.callable());
                    throw winrt::hresult_error();
                }

                py::pyobj_handle return_value{ PyObject_CallObject(delegate.callable(), args.get()) };

                if (!return_value)
                {
                    PyErr_WriteUnraisable(delegate.callable());
                    throw winrt::hresult_error();
                }
            };
        };
    };

    struct BackgroundActivatedEventHandler
    {
        static winrt::Windows::UI::WebUI::BackgroundActivatedEventHandler get(PyObject* callable)
        {
            py::delegate_callable _delegate{ callable };

            return [delegate = std::move(_delegate)](auto param0, auto param1)
            {
                winrt::handle_type<py::gil_state_traits> gil_state{ PyGILState_Ensure() };

                py::pyobj_handle py_param0{ py::convert(param0) };
                py::pyobj_handle py_param1{ py::convert(param1) };

                py::pyobj_handle args{ PyTuple_Pack(2, py_param0.get(), py_param1.get()) };

                if (!args) {
                    PyErr_WriteUnraisable(delegate.callable());
                    throw winrt::hresult_error();
                }

                py::pyobj_handle return_value{ PyObject_CallObject(delegate.callable(), args.get()) };

                if (!return_value)
                {
                    PyErr_WriteUnraisable(delegate.callable());
                    throw winrt::hresult_error();
                }
            };
        };
    };

    struct EnteredBackgroundEventHandler
    {
        static winrt::Windows::UI::WebUI::EnteredBackgroundEventHandler get(PyObject* callable)
        {
            py::delegate_callable _delegate{ callable };

            return [delegate = std::move(_delegate)](auto param0, auto param1)
            {
                winrt::handle_type<py::gil_state_traits> gil_state{ PyGILState_Ensure() };

                py::pyobj_handle py_param0{ py::convert(param0) };
                py::pyobj_handle py_param1{ py::convert(param1) };

                py::pyobj_handle args{ PyTuple_Pack(2, py_param0.get(), py_param1.get()) };

                if (!args) {
                    PyErr_WriteUnraisable(delegate.callable());
                    throw winrt::hresult_error();
                }

                py::pyobj_handle return_value{ PyObject_CallObject(delegate.callable(), args.get()) };

                if (!return_value)
                {
                    PyErr_WriteUnraisable(delegate.callable());
                    throw winrt::hresult_error();
                }
            };
        };
    };

    struct LeavingBackgroundEventHandler
    {
        static winrt::Windows::UI::WebUI::LeavingBackgroundEventHandler get(PyObject* callable)
        {
            py::delegate_callable _delegate{ callable };

            return [delegate = std::move(_delegate)](auto param0, auto param1)
            {
                winrt::handle_type<py::gil_state_traits> gil_state{ PyGILState_Ensure() };

                py::pyobj_handle py_param0{ py::convert(param0) };
                py::pyobj_handle py_param1{ py::convert(param1) };

                py::pyobj_handle args{ PyTuple_Pack(2, py_param0.get(), py_param1.get()) };

                if (!args) {
                    PyErr_WriteUnraisable(delegate.callable());
                    throw winrt::hresult_error();
                }

                py::pyobj_handle return_value{ PyObject_CallObject(delegate.callable(), args.get()) };

                if (!return_value)
                {
                    PyErr_WriteUnraisable(delegate.callable());
                    throw winrt::hresult_error();
                }
            };
        };
    };

    struct NavigatedEventHandler
    {
        static winrt::Windows::UI::WebUI::NavigatedEventHandler get(PyObject* callable)
        {
            py::delegate_callable _delegate{ callable };

            return [delegate = std::move(_delegate)](auto param0, auto param1)
            {
                winrt::handle_type<py::gil_state_traits> gil_state{ PyGILState_Ensure() };

                py::pyobj_handle py_param0{ py::convert(param0) };
                py::pyobj_handle py_param1{ py::convert(param1) };

                py::pyobj_handle args{ PyTuple_Pack(2, py_param0.get(), py_param1.get()) };

                if (!args) {
                    PyErr_WriteUnraisable(delegate.callable());
                    throw winrt::hresult_error();
                }

                py::pyobj_handle return_value{ PyObject_CallObject(delegate.callable(), args.get()) };

                if (!return_value)
                {
                    PyErr_WriteUnraisable(delegate.callable());
                    throw winrt::hresult_error();
                }
            };
        };
    };

    struct ResumingEventHandler
    {
        static winrt::Windows::UI::WebUI::ResumingEventHandler get(PyObject* callable)
        {
            py::delegate_callable _delegate{ callable };

            return [delegate = std::move(_delegate)](auto param0)
            {
                winrt::handle_type<py::gil_state_traits> gil_state{ PyGILState_Ensure() };

                py::pyobj_handle py_param0{ py::convert(param0) };

                py::pyobj_handle args{ PyTuple_Pack(1, py_param0.get()) };

                if (!args) {
                    PyErr_WriteUnraisable(delegate.callable());
                    throw winrt::hresult_error();
                }

                py::pyobj_handle return_value{ PyObject_CallObject(delegate.callable(), args.get()) };

                if (!return_value)
                {
                    PyErr_WriteUnraisable(delegate.callable());
                    throw winrt::hresult_error();
                }
            };
        };
    };

    struct SuspendingEventHandler
    {
        static winrt::Windows::UI::WebUI::SuspendingEventHandler get(PyObject* callable)
        {
            py::delegate_callable _delegate{ callable };

            return [delegate = std::move(_delegate)](auto param0, auto param1)
            {
                winrt::handle_type<py::gil_state_traits> gil_state{ PyGILState_Ensure() };

                py::pyobj_handle py_param0{ py::convert(param0) };
                py::pyobj_handle py_param1{ py::convert(param1) };

                py::pyobj_handle args{ PyTuple_Pack(2, py_param0.get(), py_param1.get()) };

                if (!args) {
                    PyErr_WriteUnraisable(delegate.callable());
                    throw winrt::hresult_error();
                }

                py::pyobj_handle return_value{ PyObject_CallObject(delegate.callable(), args.get()) };

                if (!return_value)
                {
                    PyErr_WriteUnraisable(delegate.callable());
                    throw winrt::hresult_error();
                }
            };
        };
    };
}

namespace py::wrapper::Windows::UI::WebUI
{
    using ActivatedDeferral = py::winrt_wrapper<winrt::Windows::UI::WebUI::ActivatedDeferral>;
    using ActivatedOperation = py::winrt_wrapper<winrt::Windows::UI::WebUI::ActivatedOperation>;
    using BackgroundActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::BackgroundActivatedEventArgs>;
    using EnteredBackgroundEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::EnteredBackgroundEventArgs>;
    using HtmlPrintDocumentSource = py::winrt_wrapper<winrt::Windows::UI::WebUI::HtmlPrintDocumentSource>;
    using LeavingBackgroundEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::LeavingBackgroundEventArgs>;
    using NewWebUIViewCreatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::NewWebUIViewCreatedEventArgs>;
    using SuspendingDeferral = py::winrt_wrapper<winrt::Windows::UI::WebUI::SuspendingDeferral>;
    using SuspendingEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::SuspendingEventArgs>;
    using SuspendingOperation = py::winrt_wrapper<winrt::Windows::UI::WebUI::SuspendingOperation>;
    using WebUIApplication = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIApplication>;
    using WebUIAppointmentsProviderAddAppointmentActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIAppointmentsProviderAddAppointmentActivatedEventArgs>;
    using WebUIAppointmentsProviderRemoveAppointmentActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIAppointmentsProviderRemoveAppointmentActivatedEventArgs>;
    using WebUIAppointmentsProviderReplaceAppointmentActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIAppointmentsProviderReplaceAppointmentActivatedEventArgs>;
    using WebUIAppointmentsProviderShowAppointmentDetailsActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIAppointmentsProviderShowAppointmentDetailsActivatedEventArgs>;
    using WebUIAppointmentsProviderShowTimeFrameActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIAppointmentsProviderShowTimeFrameActivatedEventArgs>;
    using WebUIBackgroundTaskInstance = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIBackgroundTaskInstance>;
    using WebUIBackgroundTaskInstanceRuntimeClass = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIBackgroundTaskInstanceRuntimeClass>;
    using WebUIBarcodeScannerPreviewActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIBarcodeScannerPreviewActivatedEventArgs>;
    using WebUICachedFileUpdaterActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUICachedFileUpdaterActivatedEventArgs>;
    using WebUICameraSettingsActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUICameraSettingsActivatedEventArgs>;
    using WebUICommandLineActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUICommandLineActivatedEventArgs>;
    using WebUIContactCallActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIContactCallActivatedEventArgs>;
    using WebUIContactMapActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIContactMapActivatedEventArgs>;
    using WebUIContactMessageActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIContactMessageActivatedEventArgs>;
    using WebUIContactPanelActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIContactPanelActivatedEventArgs>;
    using WebUIContactPickerActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIContactPickerActivatedEventArgs>;
    using WebUIContactPostActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIContactPostActivatedEventArgs>;
    using WebUIContactVideoCallActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIContactVideoCallActivatedEventArgs>;
    using WebUIDeviceActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIDeviceActivatedEventArgs>;
    using WebUIDevicePairingActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIDevicePairingActivatedEventArgs>;
    using WebUIDialReceiverActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIDialReceiverActivatedEventArgs>;
    using WebUIFileActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIFileActivatedEventArgs>;
    using WebUIFileOpenPickerActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIFileOpenPickerActivatedEventArgs>;
    using WebUIFileOpenPickerContinuationEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIFileOpenPickerContinuationEventArgs>;
    using WebUIFileSavePickerActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIFileSavePickerActivatedEventArgs>;
    using WebUIFileSavePickerContinuationEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIFileSavePickerContinuationEventArgs>;
    using WebUIFolderPickerContinuationEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIFolderPickerContinuationEventArgs>;
    using WebUILaunchActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUILaunchActivatedEventArgs>;
    using WebUILockScreenActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUILockScreenActivatedEventArgs>;
    using WebUILockScreenCallActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUILockScreenCallActivatedEventArgs>;
    using WebUILockScreenComponentActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUILockScreenComponentActivatedEventArgs>;
    using WebUINavigatedDeferral = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUINavigatedDeferral>;
    using WebUINavigatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUINavigatedEventArgs>;
    using WebUINavigatedOperation = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUINavigatedOperation>;
    using WebUIPhoneCallActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIPhoneCallActivatedEventArgs>;
    using WebUIPrint3DWorkflowActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIPrint3DWorkflowActivatedEventArgs>;
    using WebUIPrintTaskSettingsActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIPrintTaskSettingsActivatedEventArgs>;
    using WebUIPrintWorkflowForegroundTaskActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIPrintWorkflowForegroundTaskActivatedEventArgs>;
    using WebUIProtocolActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIProtocolActivatedEventArgs>;
    using WebUIProtocolForResultsActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIProtocolForResultsActivatedEventArgs>;
    using WebUIRestrictedLaunchActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIRestrictedLaunchActivatedEventArgs>;
    using WebUISearchActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUISearchActivatedEventArgs>;
    using WebUIShareTargetActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIShareTargetActivatedEventArgs>;
    using WebUIStartupTaskActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIStartupTaskActivatedEventArgs>;
    using WebUIToastNotificationActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIToastNotificationActivatedEventArgs>;
    using WebUIUserDataAccountProviderActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIUserDataAccountProviderActivatedEventArgs>;
    using WebUIView = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIView>;
    using WebUIVoiceCommandActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIVoiceCommandActivatedEventArgs>;
    using WebUIWalletActionActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIWalletActionActivatedEventArgs>;
    using WebUIWebAccountProviderActivatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIWebAccountProviderActivatedEventArgs>;
    using WebUIWebAuthenticationBrokerContinuationEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::WebUIWebAuthenticationBrokerContinuationEventArgs>;
    using IActivatedEventArgsDeferral = py::winrt_wrapper<winrt::Windows::UI::WebUI::IActivatedEventArgsDeferral>;
    using IWebUIBackgroundTaskInstance = py::winrt_wrapper<winrt::Windows::UI::WebUI::IWebUIBackgroundTaskInstance>;
    using IWebUINavigatedEventArgs = py::winrt_wrapper<winrt::Windows::UI::WebUI::IWebUINavigatedEventArgs>;
}

namespace py
{
    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::WebUI::PrintContent> = "i";


    template<>
    struct py_type<winrt::Windows::UI::WebUI::PrintContent>
    {
        static PyObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::ActivatedDeferral>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::ActivatedOperation>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::BackgroundActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::EnteredBackgroundEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::HtmlPrintDocumentSource>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::LeavingBackgroundEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::NewWebUIViewCreatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::SuspendingDeferral>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::SuspendingEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::SuspendingOperation>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIApplication>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIAppointmentsProviderAddAppointmentActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIAppointmentsProviderRemoveAppointmentActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIAppointmentsProviderReplaceAppointmentActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIAppointmentsProviderShowAppointmentDetailsActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIAppointmentsProviderShowTimeFrameActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIBackgroundTaskInstance>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIBackgroundTaskInstanceRuntimeClass>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIBarcodeScannerPreviewActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUICachedFileUpdaterActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUICameraSettingsActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUICommandLineActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIContactCallActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIContactMapActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIContactMessageActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIContactPanelActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIContactPickerActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIContactPostActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIContactVideoCallActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIDeviceActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIDevicePairingActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIDialReceiverActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIFileActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIFileOpenPickerActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIFileOpenPickerContinuationEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIFileSavePickerActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIFileSavePickerContinuationEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIFolderPickerContinuationEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUILaunchActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUILockScreenActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUILockScreenCallActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUILockScreenComponentActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUINavigatedDeferral>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUINavigatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUINavigatedOperation>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIPhoneCallActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIPrint3DWorkflowActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIPrintTaskSettingsActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIPrintWorkflowForegroundTaskActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIProtocolActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIProtocolForResultsActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIRestrictedLaunchActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUISearchActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIShareTargetActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIStartupTaskActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIToastNotificationActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIUserDataAccountProviderActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIView>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIVoiceCommandActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIWalletActionActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIWebAccountProviderActivatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::WebUIWebAuthenticationBrokerContinuationEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::IActivatedEventArgsDeferral>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::IWebUIBackgroundTaskInstance>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::UI::WebUI::IWebUINavigatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };
    template <>
    struct delegate_python_type<winrt::Windows::UI::WebUI::ActivatedEventHandler>
    {
        using type = py::impl::Windows::UI::WebUI::ActivatedEventHandler;
    };

    template <>
    struct delegate_python_type<winrt::Windows::UI::WebUI::BackgroundActivatedEventHandler>
    {
        using type = py::impl::Windows::UI::WebUI::BackgroundActivatedEventHandler;
    };

    template <>
    struct delegate_python_type<winrt::Windows::UI::WebUI::EnteredBackgroundEventHandler>
    {
        using type = py::impl::Windows::UI::WebUI::EnteredBackgroundEventHandler;
    };

    template <>
    struct delegate_python_type<winrt::Windows::UI::WebUI::LeavingBackgroundEventHandler>
    {
        using type = py::impl::Windows::UI::WebUI::LeavingBackgroundEventHandler;
    };

    template <>
    struct delegate_python_type<winrt::Windows::UI::WebUI::NavigatedEventHandler>
    {
        using type = py::impl::Windows::UI::WebUI::NavigatedEventHandler;
    };

    template <>
    struct delegate_python_type<winrt::Windows::UI::WebUI::ResumingEventHandler>
    {
        using type = py::impl::Windows::UI::WebUI::ResumingEventHandler;
    };

    template <>
    struct delegate_python_type<winrt::Windows::UI::WebUI::SuspendingEventHandler>
    {
        using type = py::impl::Windows::UI::WebUI::SuspendingEventHandler;
    };

}
