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

#pragma once
#ifndef WINRT_Microsoft_UI_Xaml_Controls_Primitives_2_H
#define WINRT_Microsoft_UI_Xaml_Controls_Primitives_2_H
#include "winrt/impl/Microsoft.UI.Composition.1.h"
#include "winrt/impl/Microsoft.UI.Input.1.h"
#include "winrt/impl/Microsoft.UI.Xaml.1.h"
#include "winrt/impl/Microsoft.UI.Xaml.Automation.Peers.1.h"
#include "winrt/impl/Microsoft.UI.Xaml.Controls.1.h"
#include "winrt/impl/Microsoft.UI.Xaml.Data.1.h"
#include "winrt/impl/Microsoft.UI.Xaml.Input.1.h"
#include "winrt/impl/Windows.Foundation.1.h"
#include "winrt/impl/Microsoft.UI.Xaml.Controls.Primitives.1.h"
WINRT_EXPORT namespace winrt::Microsoft::UI::Xaml::Controls::Primitives
{
    struct DragCompletedEventHandler : winrt::Windows::Foundation::IUnknown
    {
        DragCompletedEventHandler(std::nullptr_t = nullptr) noexcept {}
        DragCompletedEventHandler(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IUnknown(ptr, take_ownership_from_abi) {}
        template <typename L> DragCompletedEventHandler(L lambda);
        template <typename F> DragCompletedEventHandler(F* function);
        template <typename O, typename M> DragCompletedEventHandler(O* object, M method);
        template <typename O, typename M> DragCompletedEventHandler(com_ptr<O>&& object, M method);
        template <typename O, typename LM> DragCompletedEventHandler(weak_ref<O>&& object, LM&& lambda_or_method);
        template <typename O, typename M> DragCompletedEventHandler(std::shared_ptr<O>&& object, M method);
        template <typename O, typename LM> DragCompletedEventHandler(std::weak_ptr<O>&& object, LM&& lambda_or_method);
        auto operator()(winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::Controls::Primitives::DragCompletedEventArgs const& e) const;
    };
    struct DragDeltaEventHandler : winrt::Windows::Foundation::IUnknown
    {
        DragDeltaEventHandler(std::nullptr_t = nullptr) noexcept {}
        DragDeltaEventHandler(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IUnknown(ptr, take_ownership_from_abi) {}
        template <typename L> DragDeltaEventHandler(L lambda);
        template <typename F> DragDeltaEventHandler(F* function);
        template <typename O, typename M> DragDeltaEventHandler(O* object, M method);
        template <typename O, typename M> DragDeltaEventHandler(com_ptr<O>&& object, M method);
        template <typename O, typename LM> DragDeltaEventHandler(weak_ref<O>&& object, LM&& lambda_or_method);
        template <typename O, typename M> DragDeltaEventHandler(std::shared_ptr<O>&& object, M method);
        template <typename O, typename LM> DragDeltaEventHandler(std::weak_ptr<O>&& object, LM&& lambda_or_method);
        auto operator()(winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::Controls::Primitives::DragDeltaEventArgs const& e) const;
    };
    struct DragStartedEventHandler : winrt::Windows::Foundation::IUnknown
    {
        DragStartedEventHandler(std::nullptr_t = nullptr) noexcept {}
        DragStartedEventHandler(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IUnknown(ptr, take_ownership_from_abi) {}
        template <typename L> DragStartedEventHandler(L lambda);
        template <typename F> DragStartedEventHandler(F* function);
        template <typename O, typename M> DragStartedEventHandler(O* object, M method);
        template <typename O, typename M> DragStartedEventHandler(com_ptr<O>&& object, M method);
        template <typename O, typename LM> DragStartedEventHandler(weak_ref<O>&& object, LM&& lambda_or_method);
        template <typename O, typename M> DragStartedEventHandler(std::shared_ptr<O>&& object, M method);
        template <typename O, typename LM> DragStartedEventHandler(std::weak_ptr<O>&& object, LM&& lambda_or_method);
        auto operator()(winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::Controls::Primitives::DragStartedEventArgs const& e) const;
    };
    struct ItemsChangedEventHandler : winrt::Windows::Foundation::IUnknown
    {
        ItemsChangedEventHandler(std::nullptr_t = nullptr) noexcept {}
        ItemsChangedEventHandler(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IUnknown(ptr, take_ownership_from_abi) {}
        template <typename L> ItemsChangedEventHandler(L lambda);
        template <typename F> ItemsChangedEventHandler(F* function);
        template <typename O, typename M> ItemsChangedEventHandler(O* object, M method);
        template <typename O, typename M> ItemsChangedEventHandler(com_ptr<O>&& object, M method);
        template <typename O, typename LM> ItemsChangedEventHandler(weak_ref<O>&& object, LM&& lambda_or_method);
        template <typename O, typename M> ItemsChangedEventHandler(std::shared_ptr<O>&& object, M method);
        template <typename O, typename LM> ItemsChangedEventHandler(std::weak_ptr<O>&& object, LM&& lambda_or_method);
        auto operator()(winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::Controls::Primitives::ItemsChangedEventArgs const& e) const;
    };
    struct RangeBaseValueChangedEventHandler : winrt::Windows::Foundation::IUnknown
    {
        RangeBaseValueChangedEventHandler(std::nullptr_t = nullptr) noexcept {}
        RangeBaseValueChangedEventHandler(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IUnknown(ptr, take_ownership_from_abi) {}
        template <typename L> RangeBaseValueChangedEventHandler(L lambda);
        template <typename F> RangeBaseValueChangedEventHandler(F* function);
        template <typename O, typename M> RangeBaseValueChangedEventHandler(O* object, M method);
        template <typename O, typename M> RangeBaseValueChangedEventHandler(com_ptr<O>&& object, M method);
        template <typename O, typename LM> RangeBaseValueChangedEventHandler(weak_ref<O>&& object, LM&& lambda_or_method);
        template <typename O, typename M> RangeBaseValueChangedEventHandler(std::shared_ptr<O>&& object, M method);
        template <typename O, typename LM> RangeBaseValueChangedEventHandler(std::weak_ptr<O>&& object, LM&& lambda_or_method);
        auto operator()(winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::Controls::Primitives::RangeBaseValueChangedEventArgs const& e) const;
    };
    struct ScrollEventHandler : winrt::Windows::Foundation::IUnknown
    {
        ScrollEventHandler(std::nullptr_t = nullptr) noexcept {}
        ScrollEventHandler(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IUnknown(ptr, take_ownership_from_abi) {}
        template <typename L> ScrollEventHandler(L lambda);
        template <typename F> ScrollEventHandler(F* function);
        template <typename O, typename M> ScrollEventHandler(O* object, M method);
        template <typename O, typename M> ScrollEventHandler(com_ptr<O>&& object, M method);
        template <typename O, typename LM> ScrollEventHandler(weak_ref<O>&& object, LM&& lambda_or_method);
        template <typename O, typename M> ScrollEventHandler(std::shared_ptr<O>&& object, M method);
        template <typename O, typename LM> ScrollEventHandler(std::weak_ptr<O>&& object, LM&& lambda_or_method);
        auto operator()(winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::Controls::Primitives::ScrollEventArgs const& e) const;
    };
    struct GeneratorPosition
    {
        int32_t Index;
        int32_t Offset;
    };
    inline bool operator==(GeneratorPosition const& left, GeneratorPosition const& right) noexcept
    {
        return left.Index == right.Index && left.Offset == right.Offset;
    }
    inline bool operator!=(GeneratorPosition const& left, GeneratorPosition const& right) noexcept
    {
        return !(left == right);
    }
    struct WINRT_IMPL_EMPTY_BASES AppBarButtonTemplateSettings : winrt::Microsoft::UI::Xaml::Controls::Primitives::IAppBarButtonTemplateSettings,
        impl::base<AppBarButtonTemplateSettings, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<AppBarButtonTemplateSettings, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        AppBarButtonTemplateSettings(std::nullptr_t) noexcept {}
        AppBarButtonTemplateSettings(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IAppBarButtonTemplateSettings(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES AppBarTemplateSettings : winrt::Microsoft::UI::Xaml::Controls::Primitives::IAppBarTemplateSettings,
        impl::base<AppBarTemplateSettings, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<AppBarTemplateSettings, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        AppBarTemplateSettings(std::nullptr_t) noexcept {}
        AppBarTemplateSettings(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IAppBarTemplateSettings(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES AppBarToggleButtonTemplateSettings : winrt::Microsoft::UI::Xaml::Controls::Primitives::IAppBarToggleButtonTemplateSettings,
        impl::base<AppBarToggleButtonTemplateSettings, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<AppBarToggleButtonTemplateSettings, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        AppBarToggleButtonTemplateSettings(std::nullptr_t) noexcept {}
        AppBarToggleButtonTemplateSettings(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IAppBarToggleButtonTemplateSettings(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES AutoSuggestBoxHelper : winrt::Microsoft::UI::Xaml::Controls::Primitives::IAutoSuggestBoxHelper
    {
        AutoSuggestBoxHelper(std::nullptr_t) noexcept {}
        AutoSuggestBoxHelper(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IAutoSuggestBoxHelper(ptr, take_ownership_from_abi) {}
        [[nodiscard]] static auto KeepInteriorCornersSquareProperty();
        static auto SetKeepInteriorCornersSquare(winrt::Microsoft::UI::Xaml::Controls::AutoSuggestBox const& autoSuggestBox, bool value);
        static auto GetKeepInteriorCornersSquare(winrt::Microsoft::UI::Xaml::Controls::AutoSuggestBox const& autoSuggestBox);
    };
    struct WINRT_IMPL_EMPTY_BASES ButtonBase : winrt::Microsoft::UI::Xaml::Controls::Primitives::IButtonBase,
        impl::base<ButtonBase, winrt::Microsoft::UI::Xaml::Controls::ContentControl, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<ButtonBase, winrt::Microsoft::UI::Xaml::Controls::IContentControl, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        ButtonBase(std::nullptr_t) noexcept {}
        ButtonBase(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IButtonBase(ptr, take_ownership_from_abi) {}
        [[nodiscard]] static auto ClickModeProperty();
        [[nodiscard]] static auto IsPointerOverProperty();
        [[nodiscard]] static auto IsPressedProperty();
        [[nodiscard]] static auto CommandProperty();
        [[nodiscard]] static auto CommandParameterProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES CalendarPanel : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICalendarPanel,
        impl::base<CalendarPanel, winrt::Microsoft::UI::Xaml::Controls::Panel, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<CalendarPanel, winrt::Microsoft::UI::Xaml::Controls::IPanel, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        CalendarPanel(std::nullptr_t) noexcept {}
        CalendarPanel(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICalendarPanel(ptr, take_ownership_from_abi) {}
        CalendarPanel();
    };
    struct WINRT_IMPL_EMPTY_BASES CalendarViewTemplateSettings : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICalendarViewTemplateSettings,
        impl::base<CalendarViewTemplateSettings, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<CalendarViewTemplateSettings, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        CalendarViewTemplateSettings(std::nullptr_t) noexcept {}
        CalendarViewTemplateSettings(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICalendarViewTemplateSettings(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES CarouselPanel : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICarouselPanel,
        impl::base<CarouselPanel, winrt::Microsoft::UI::Xaml::Controls::VirtualizingPanel, winrt::Microsoft::UI::Xaml::Controls::Panel, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<CarouselPanel, winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollSnapPointsInfo, winrt::Microsoft::UI::Xaml::Controls::IVirtualizingPanel, winrt::Microsoft::UI::Xaml::Controls::IPanel, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        CarouselPanel(std::nullptr_t) noexcept {}
        CarouselPanel(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICarouselPanel(ptr, take_ownership_from_abi) {}
        CarouselPanel();
    };
    struct WINRT_IMPL_EMPTY_BASES ColorPickerSlider : winrt::Microsoft::UI::Xaml::Controls::Primitives::IColorPickerSlider,
        impl::base<ColorPickerSlider, winrt::Microsoft::UI::Xaml::Controls::Slider, winrt::Microsoft::UI::Xaml::Controls::Primitives::RangeBase, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<ColorPickerSlider, winrt::Microsoft::UI::Xaml::Controls::ISlider, winrt::Microsoft::UI::Xaml::Controls::Primitives::IRangeBase, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        ColorPickerSlider(std::nullptr_t) noexcept {}
        ColorPickerSlider(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IColorPickerSlider(ptr, take_ownership_from_abi) {}
        ColorPickerSlider();
        [[nodiscard]] static auto ColorChannelProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES ColorSpectrum : winrt::Microsoft::UI::Xaml::Controls::Primitives::IColorSpectrum,
        impl::base<ColorSpectrum, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<ColorSpectrum, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        ColorSpectrum(std::nullptr_t) noexcept {}
        ColorSpectrum(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IColorSpectrum(ptr, take_ownership_from_abi) {}
        ColorSpectrum();
        [[nodiscard]] static auto ColorProperty();
        [[nodiscard]] static auto HsvColorProperty();
        [[nodiscard]] static auto MinHueProperty();
        [[nodiscard]] static auto MaxHueProperty();
        [[nodiscard]] static auto MinSaturationProperty();
        [[nodiscard]] static auto MaxSaturationProperty();
        [[nodiscard]] static auto MinValueProperty();
        [[nodiscard]] static auto MaxValueProperty();
        [[nodiscard]] static auto ShapeProperty();
        [[nodiscard]] static auto ComponentsProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES ColumnMajorUniformToLargestGridLayout : winrt::Microsoft::UI::Xaml::Controls::Primitives::IColumnMajorUniformToLargestGridLayout,
        impl::base<ColumnMajorUniformToLargestGridLayout, winrt::Microsoft::UI::Xaml::Controls::NonVirtualizingLayout, winrt::Microsoft::UI::Xaml::Controls::Layout, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<ColumnMajorUniformToLargestGridLayout, winrt::Microsoft::UI::Xaml::Controls::INonVirtualizingLayout, winrt::Microsoft::UI::Xaml::Controls::ILayout, winrt::Microsoft::UI::Xaml::Controls::ILayout2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        ColumnMajorUniformToLargestGridLayout(std::nullptr_t) noexcept {}
        ColumnMajorUniformToLargestGridLayout(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IColumnMajorUniformToLargestGridLayout(ptr, take_ownership_from_abi) {}
        ColumnMajorUniformToLargestGridLayout();
        [[nodiscard]] static auto MaxColumnsProperty();
        [[nodiscard]] static auto ColumnSpacingProperty();
        [[nodiscard]] static auto RowSpacingProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES ComboBoxHelper : winrt::Microsoft::UI::Xaml::Controls::Primitives::IComboBoxHelper
    {
        ComboBoxHelper(std::nullptr_t) noexcept {}
        ComboBoxHelper(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IComboBoxHelper(ptr, take_ownership_from_abi) {}
        [[nodiscard]] static auto KeepInteriorCornersSquareProperty();
        static auto SetKeepInteriorCornersSquare(winrt::Microsoft::UI::Xaml::Controls::ComboBox const& comboBox, bool value);
        static auto GetKeepInteriorCornersSquare(winrt::Microsoft::UI::Xaml::Controls::ComboBox const& comboBox);
    };
    struct WINRT_IMPL_EMPTY_BASES ComboBoxTemplateSettings : winrt::Microsoft::UI::Xaml::Controls::Primitives::IComboBoxTemplateSettings,
        impl::base<ComboBoxTemplateSettings, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<ComboBoxTemplateSettings, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        ComboBoxTemplateSettings(std::nullptr_t) noexcept {}
        ComboBoxTemplateSettings(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IComboBoxTemplateSettings(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES CommandBarFlyoutCommandBar : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICommandBarFlyoutCommandBar,
        impl::base<CommandBarFlyoutCommandBar, winrt::Microsoft::UI::Xaml::Controls::CommandBar, winrt::Microsoft::UI::Xaml::Controls::AppBar, winrt::Microsoft::UI::Xaml::Controls::ContentControl, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<CommandBarFlyoutCommandBar, winrt::Microsoft::UI::Xaml::Controls::Primitives::ICommandBarFlyoutCommandBar2, winrt::Microsoft::UI::Xaml::Controls::ICommandBar, winrt::Microsoft::UI::Xaml::Controls::IAppBar, winrt::Microsoft::UI::Xaml::Controls::IContentControl, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        CommandBarFlyoutCommandBar(std::nullptr_t) noexcept {}
        CommandBarFlyoutCommandBar(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICommandBarFlyoutCommandBar(ptr, take_ownership_from_abi) {}
        CommandBarFlyoutCommandBar();
        [[nodiscard]] static auto SystemBackdropProperty();
    };
    struct CommandBarFlyoutCommandBarAutomationProperties
    {
        CommandBarFlyoutCommandBarAutomationProperties() = delete;
        [[nodiscard]] static auto ControlTypeProperty();
        static auto GetControlType(winrt::Microsoft::UI::Xaml::UIElement const& element);
        static auto SetControlType(winrt::Microsoft::UI::Xaml::UIElement const& element, winrt::Microsoft::UI::Xaml::Automation::Peers::AutomationControlType const& value);
    };
    struct WINRT_IMPL_EMPTY_BASES CommandBarFlyoutCommandBarTemplateSettings : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICommandBarFlyoutCommandBarTemplateSettings,
        impl::base<CommandBarFlyoutCommandBarTemplateSettings, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<CommandBarFlyoutCommandBarTemplateSettings, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        CommandBarFlyoutCommandBarTemplateSettings(std::nullptr_t) noexcept {}
        CommandBarFlyoutCommandBarTemplateSettings(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICommandBarFlyoutCommandBarTemplateSettings(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES CommandBarTemplateSettings : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICommandBarTemplateSettings,
        impl::base<CommandBarTemplateSettings, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<CommandBarTemplateSettings, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        CommandBarTemplateSettings(std::nullptr_t) noexcept {}
        CommandBarTemplateSettings(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICommandBarTemplateSettings(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES CornerRadiusFilterConverter : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICornerRadiusFilterConverter,
        impl::base<CornerRadiusFilterConverter, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<CornerRadiusFilterConverter, winrt::Microsoft::UI::Xaml::Data::IValueConverter, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        CornerRadiusFilterConverter(std::nullptr_t) noexcept {}
        CornerRadiusFilterConverter(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICornerRadiusFilterConverter(ptr, take_ownership_from_abi) {}
        CornerRadiusFilterConverter();
        [[nodiscard]] static auto FilterProperty();
        [[nodiscard]] static auto ScaleProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES CornerRadiusToThicknessConverter : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICornerRadiusToThicknessConverter,
        impl::base<CornerRadiusToThicknessConverter, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<CornerRadiusToThicknessConverter, winrt::Microsoft::UI::Xaml::Data::IValueConverter, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        CornerRadiusToThicknessConverter(std::nullptr_t) noexcept {}
        CornerRadiusToThicknessConverter(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ICornerRadiusToThicknessConverter(ptr, take_ownership_from_abi) {}
        CornerRadiusToThicknessConverter();
        [[nodiscard]] static auto ConversionKindProperty();
        [[nodiscard]] static auto MultiplierProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES DragCompletedEventArgs : winrt::Microsoft::UI::Xaml::Controls::Primitives::IDragCompletedEventArgs,
        impl::base<DragCompletedEventArgs, winrt::Microsoft::UI::Xaml::RoutedEventArgs>,
        impl::require<DragCompletedEventArgs, winrt::Microsoft::UI::Xaml::IRoutedEventArgs>
    {
        DragCompletedEventArgs(std::nullptr_t) noexcept {}
        DragCompletedEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IDragCompletedEventArgs(ptr, take_ownership_from_abi) {}
        DragCompletedEventArgs(double horizontalChange, double verticalChange, bool canceled);
    };
    struct WINRT_IMPL_EMPTY_BASES DragDeltaEventArgs : winrt::Microsoft::UI::Xaml::Controls::Primitives::IDragDeltaEventArgs,
        impl::base<DragDeltaEventArgs, winrt::Microsoft::UI::Xaml::RoutedEventArgs>,
        impl::require<DragDeltaEventArgs, winrt::Microsoft::UI::Xaml::IRoutedEventArgs>
    {
        DragDeltaEventArgs(std::nullptr_t) noexcept {}
        DragDeltaEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IDragDeltaEventArgs(ptr, take_ownership_from_abi) {}
        DragDeltaEventArgs(double horizontalChange, double verticalChange);
    };
    struct WINRT_IMPL_EMPTY_BASES DragStartedEventArgs : winrt::Microsoft::UI::Xaml::Controls::Primitives::IDragStartedEventArgs,
        impl::base<DragStartedEventArgs, winrt::Microsoft::UI::Xaml::RoutedEventArgs>,
        impl::require<DragStartedEventArgs, winrt::Microsoft::UI::Xaml::IRoutedEventArgs>
    {
        DragStartedEventArgs(std::nullptr_t) noexcept {}
        DragStartedEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IDragStartedEventArgs(ptr, take_ownership_from_abi) {}
        DragStartedEventArgs(double horizontalOffset, double verticalOffset);
    };
    struct WINRT_IMPL_EMPTY_BASES FlyoutBase : winrt::Microsoft::UI::Xaml::Controls::Primitives::IFlyoutBase,
        impl::base<FlyoutBase, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<FlyoutBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::IFlyoutBase2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        FlyoutBase(std::nullptr_t) noexcept {}
        FlyoutBase(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IFlyoutBase(ptr, take_ownership_from_abi) {}
        [[nodiscard]] static auto TargetProperty();
        [[nodiscard]] static auto PlacementProperty();
        [[nodiscard]] static auto AllowFocusOnInteractionProperty();
        [[nodiscard]] static auto LightDismissOverlayModeProperty();
        [[nodiscard]] static auto AllowFocusWhenDisabledProperty();
        [[nodiscard]] static auto ShowModeProperty();
        [[nodiscard]] static auto InputDevicePrefersPrimaryCommandsProperty();
        [[nodiscard]] static auto AreOpenCloseAnimationsEnabledProperty();
        [[nodiscard]] static auto ShouldConstrainToRootBoundsProperty();
        [[nodiscard]] static auto ElementSoundModeProperty();
        [[nodiscard]] static auto OverlayInputPassThroughElementProperty();
        [[nodiscard]] static auto IsOpenProperty();
        [[nodiscard]] static auto AttachedFlyoutProperty();
        static auto GetAttachedFlyout(winrt::Microsoft::UI::Xaml::FrameworkElement const& element);
        static auto SetAttachedFlyout(winrt::Microsoft::UI::Xaml::FrameworkElement const& element, winrt::Microsoft::UI::Xaml::Controls::Primitives::FlyoutBase const& value);
        static auto ShowAttachedFlyout(winrt::Microsoft::UI::Xaml::FrameworkElement const& flyoutOwner);
        [[nodiscard]] static auto SystemBackdropProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES FlyoutBaseClosingEventArgs : winrt::Microsoft::UI::Xaml::Controls::Primitives::IFlyoutBaseClosingEventArgs
    {
        FlyoutBaseClosingEventArgs(std::nullptr_t) noexcept {}
        FlyoutBaseClosingEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IFlyoutBaseClosingEventArgs(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES FlyoutShowOptions : winrt::Microsoft::UI::Xaml::Controls::Primitives::IFlyoutShowOptions
    {
        FlyoutShowOptions(std::nullptr_t) noexcept {}
        FlyoutShowOptions(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IFlyoutShowOptions(ptr, take_ownership_from_abi) {}
        FlyoutShowOptions();
    };
    struct WINRT_IMPL_EMPTY_BASES GeneratorPositionHelper : winrt::Microsoft::UI::Xaml::Controls::Primitives::IGeneratorPositionHelper
    {
        GeneratorPositionHelper(std::nullptr_t) noexcept {}
        GeneratorPositionHelper(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IGeneratorPositionHelper(ptr, take_ownership_from_abi) {}
        static auto FromIndexAndOffset(int32_t index, int32_t offset);
    };
    struct WINRT_IMPL_EMPTY_BASES GridViewItemPresenter : winrt::Microsoft::UI::Xaml::Controls::Primitives::IGridViewItemPresenter,
        impl::base<GridViewItemPresenter, winrt::Microsoft::UI::Xaml::Controls::ContentPresenter, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<GridViewItemPresenter, winrt::Microsoft::UI::Xaml::Controls::IContentPresenter, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        GridViewItemPresenter(std::nullptr_t) noexcept {}
        GridViewItemPresenter(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IGridViewItemPresenter(ptr, take_ownership_from_abi) {}
        GridViewItemPresenter();
        [[nodiscard]] static auto SelectionCheckMarkVisualEnabledProperty();
        [[nodiscard]] static auto CheckHintBrushProperty();
        [[nodiscard]] static auto CheckSelectingBrushProperty();
        [[nodiscard]] static auto CheckBrushProperty();
        [[nodiscard]] static auto DragBackgroundProperty();
        [[nodiscard]] static auto DragForegroundProperty();
        [[nodiscard]] static auto FocusBorderBrushProperty();
        [[nodiscard]] static auto PlaceholderBackgroundProperty();
        [[nodiscard]] static auto PointerOverBackgroundProperty();
        [[nodiscard]] static auto SelectedBackgroundProperty();
        [[nodiscard]] static auto SelectedForegroundProperty();
        [[nodiscard]] static auto SelectedPointerOverBackgroundProperty();
        [[nodiscard]] static auto SelectedPointerOverBorderBrushProperty();
        [[nodiscard]] static auto SelectedBorderThicknessProperty();
        [[nodiscard]] static auto DisabledOpacityProperty();
        [[nodiscard]] static auto DragOpacityProperty();
        [[nodiscard]] static auto ReorderHintOffsetProperty();
        [[nodiscard]] static auto GridViewItemPresenterHorizontalContentAlignmentProperty();
        [[nodiscard]] static auto GridViewItemPresenterVerticalContentAlignmentProperty();
        [[nodiscard]] static auto GridViewItemPresenterPaddingProperty();
        [[nodiscard]] static auto PointerOverBackgroundMarginProperty();
        [[nodiscard]] static auto ContentMarginProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES GridViewItemTemplateSettings : winrt::Microsoft::UI::Xaml::Controls::Primitives::IGridViewItemTemplateSettings,
        impl::base<GridViewItemTemplateSettings, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<GridViewItemTemplateSettings, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        GridViewItemTemplateSettings(std::nullptr_t) noexcept {}
        GridViewItemTemplateSettings(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IGridViewItemTemplateSettings(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES InfoBarPanel : winrt::Microsoft::UI::Xaml::Controls::Primitives::IInfoBarPanel,
        impl::base<InfoBarPanel, winrt::Microsoft::UI::Xaml::Controls::Panel, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<InfoBarPanel, winrt::Microsoft::UI::Xaml::Controls::IPanel, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        InfoBarPanel(std::nullptr_t) noexcept {}
        InfoBarPanel(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IInfoBarPanel(ptr, take_ownership_from_abi) {}
        InfoBarPanel();
        [[nodiscard]] static auto HorizontalOrientationPaddingProperty();
        [[nodiscard]] static auto VerticalOrientationPaddingProperty();
        static auto SetHorizontalOrientationMargin(winrt::Microsoft::UI::Xaml::DependencyObject const& object, winrt::Microsoft::UI::Xaml::Thickness const& value);
        static auto GetHorizontalOrientationMargin(winrt::Microsoft::UI::Xaml::DependencyObject const& object);
        [[nodiscard]] static auto HorizontalOrientationMarginProperty();
        static auto SetVerticalOrientationMargin(winrt::Microsoft::UI::Xaml::DependencyObject const& object, winrt::Microsoft::UI::Xaml::Thickness const& value);
        static auto GetVerticalOrientationMargin(winrt::Microsoft::UI::Xaml::DependencyObject const& object);
        [[nodiscard]] static auto VerticalOrientationMarginProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES ItemsChangedEventArgs : winrt::Microsoft::UI::Xaml::Controls::Primitives::IItemsChangedEventArgs
    {
        ItemsChangedEventArgs(std::nullptr_t) noexcept {}
        ItemsChangedEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IItemsChangedEventArgs(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES JumpListItemBackgroundConverter : winrt::Microsoft::UI::Xaml::Controls::Primitives::IJumpListItemBackgroundConverter,
        impl::base<JumpListItemBackgroundConverter, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<JumpListItemBackgroundConverter, winrt::Microsoft::UI::Xaml::Data::IValueConverter, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        JumpListItemBackgroundConverter(std::nullptr_t) noexcept {}
        JumpListItemBackgroundConverter(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IJumpListItemBackgroundConverter(ptr, take_ownership_from_abi) {}
        JumpListItemBackgroundConverter();
        [[nodiscard]] static auto EnabledProperty();
        [[nodiscard]] static auto DisabledProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES JumpListItemForegroundConverter : winrt::Microsoft::UI::Xaml::Controls::Primitives::IJumpListItemForegroundConverter,
        impl::base<JumpListItemForegroundConverter, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<JumpListItemForegroundConverter, winrt::Microsoft::UI::Xaml::Data::IValueConverter, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        JumpListItemForegroundConverter(std::nullptr_t) noexcept {}
        JumpListItemForegroundConverter(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IJumpListItemForegroundConverter(ptr, take_ownership_from_abi) {}
        JumpListItemForegroundConverter();
        [[nodiscard]] static auto EnabledProperty();
        [[nodiscard]] static auto DisabledProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES LayoutInformation : winrt::Microsoft::UI::Xaml::Controls::Primitives::ILayoutInformation
    {
        LayoutInformation(std::nullptr_t) noexcept {}
        LayoutInformation(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ILayoutInformation(ptr, take_ownership_from_abi) {}
        static auto GetLayoutExceptionElement(winrt::Windows::Foundation::IInspectable const& dispatcher);
        static auto GetLayoutSlot(winrt::Microsoft::UI::Xaml::FrameworkElement const& element);
        static auto GetAvailableSize(winrt::Microsoft::UI::Xaml::UIElement const& element);
    };
    struct WINRT_IMPL_EMPTY_BASES ListViewItemPresenter : winrt::Microsoft::UI::Xaml::Controls::Primitives::IListViewItemPresenter,
        impl::base<ListViewItemPresenter, winrt::Microsoft::UI::Xaml::Controls::ContentPresenter, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<ListViewItemPresenter, winrt::Microsoft::UI::Xaml::Controls::IContentPresenter, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        ListViewItemPresenter(std::nullptr_t) noexcept {}
        ListViewItemPresenter(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IListViewItemPresenter(ptr, take_ownership_from_abi) {}
        ListViewItemPresenter();
        [[nodiscard]] static auto SelectionCheckMarkVisualEnabledProperty();
        [[nodiscard]] static auto CheckHintBrushProperty();
        [[nodiscard]] static auto CheckSelectingBrushProperty();
        [[nodiscard]] static auto CheckBrushProperty();
        [[nodiscard]] static auto DragBackgroundProperty();
        [[nodiscard]] static auto DragForegroundProperty();
        [[nodiscard]] static auto FocusBorderBrushProperty();
        [[nodiscard]] static auto PlaceholderBackgroundProperty();
        [[nodiscard]] static auto PointerOverBackgroundProperty();
        [[nodiscard]] static auto SelectedBackgroundProperty();
        [[nodiscard]] static auto SelectedForegroundProperty();
        [[nodiscard]] static auto SelectedPointerOverBackgroundProperty();
        [[nodiscard]] static auto SelectedPointerOverBorderBrushProperty();
        [[nodiscard]] static auto SelectedBorderThicknessProperty();
        [[nodiscard]] static auto DisabledOpacityProperty();
        [[nodiscard]] static auto DragOpacityProperty();
        [[nodiscard]] static auto ReorderHintOffsetProperty();
        [[nodiscard]] static auto ListViewItemPresenterHorizontalContentAlignmentProperty();
        [[nodiscard]] static auto ListViewItemPresenterVerticalContentAlignmentProperty();
        [[nodiscard]] static auto ListViewItemPresenterPaddingProperty();
        [[nodiscard]] static auto PointerOverBackgroundMarginProperty();
        [[nodiscard]] static auto ContentMarginProperty();
        [[nodiscard]] static auto SelectedPressedBackgroundProperty();
        [[nodiscard]] static auto PressedBackgroundProperty();
        [[nodiscard]] static auto CheckBoxBrushProperty();
        [[nodiscard]] static auto FocusSecondaryBorderBrushProperty();
        [[nodiscard]] static auto CheckModeProperty();
        [[nodiscard]] static auto PointerOverForegroundProperty();
        [[nodiscard]] static auto RevealBackgroundProperty();
        [[nodiscard]] static auto RevealBorderBrushProperty();
        [[nodiscard]] static auto RevealBorderThicknessProperty();
        [[nodiscard]] static auto RevealBackgroundShowsAboveContentProperty();
        [[nodiscard]] static auto SelectedDisabledBackgroundProperty();
        [[nodiscard]] static auto CheckPressedBrushProperty();
        [[nodiscard]] static auto CheckDisabledBrushProperty();
        [[nodiscard]] static auto CheckBoxPointerOverBrushProperty();
        [[nodiscard]] static auto CheckBoxPressedBrushProperty();
        [[nodiscard]] static auto CheckBoxDisabledBrushProperty();
        [[nodiscard]] static auto CheckBoxSelectedBrushProperty();
        [[nodiscard]] static auto CheckBoxSelectedPointerOverBrushProperty();
        [[nodiscard]] static auto CheckBoxSelectedPressedBrushProperty();
        [[nodiscard]] static auto CheckBoxSelectedDisabledBrushProperty();
        [[nodiscard]] static auto CheckBoxBorderBrushProperty();
        [[nodiscard]] static auto CheckBoxPointerOverBorderBrushProperty();
        [[nodiscard]] static auto CheckBoxPressedBorderBrushProperty();
        [[nodiscard]] static auto CheckBoxDisabledBorderBrushProperty();
        [[nodiscard]] static auto CheckBoxCornerRadiusProperty();
        [[nodiscard]] static auto SelectionIndicatorCornerRadiusProperty();
        [[nodiscard]] static auto SelectionIndicatorVisualEnabledProperty();
        [[nodiscard]] static auto SelectionIndicatorModeProperty();
        [[nodiscard]] static auto SelectionIndicatorBrushProperty();
        [[nodiscard]] static auto SelectionIndicatorPointerOverBrushProperty();
        [[nodiscard]] static auto SelectionIndicatorPressedBrushProperty();
        [[nodiscard]] static auto SelectionIndicatorDisabledBrushProperty();
        [[nodiscard]] static auto SelectedBorderBrushProperty();
        [[nodiscard]] static auto SelectedPressedBorderBrushProperty();
        [[nodiscard]] static auto SelectedDisabledBorderBrushProperty();
        [[nodiscard]] static auto SelectedInnerBorderBrushProperty();
        [[nodiscard]] static auto PointerOverBorderBrushProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES ListViewItemTemplateSettings : winrt::Microsoft::UI::Xaml::Controls::Primitives::IListViewItemTemplateSettings,
        impl::base<ListViewItemTemplateSettings, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<ListViewItemTemplateSettings, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        ListViewItemTemplateSettings(std::nullptr_t) noexcept {}
        ListViewItemTemplateSettings(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IListViewItemTemplateSettings(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES LoopingSelector : winrt::Microsoft::UI::Xaml::Controls::Primitives::ILoopingSelector,
        impl::base<LoopingSelector, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<LoopingSelector, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        LoopingSelector(std::nullptr_t) noexcept {}
        LoopingSelector(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ILoopingSelector(ptr, take_ownership_from_abi) {}
        [[nodiscard]] static auto ShouldLoopProperty();
        [[nodiscard]] static auto ItemsProperty();
        [[nodiscard]] static auto SelectedIndexProperty();
        [[nodiscard]] static auto SelectedItemProperty();
        [[nodiscard]] static auto ItemWidthProperty();
        [[nodiscard]] static auto ItemHeightProperty();
        [[nodiscard]] static auto ItemTemplateProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES LoopingSelectorItem : winrt::Microsoft::UI::Xaml::Controls::Primitives::ILoopingSelectorItem,
        impl::base<LoopingSelectorItem, winrt::Microsoft::UI::Xaml::Controls::ContentControl, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<LoopingSelectorItem, winrt::Microsoft::UI::Xaml::Controls::IContentControl, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        LoopingSelectorItem(std::nullptr_t) noexcept {}
        LoopingSelectorItem(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ILoopingSelectorItem(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES LoopingSelectorPanel : winrt::Microsoft::UI::Xaml::Controls::Primitives::ILoopingSelectorPanel,
        impl::base<LoopingSelectorPanel, winrt::Microsoft::UI::Xaml::Controls::Canvas, winrt::Microsoft::UI::Xaml::Controls::Panel, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<LoopingSelectorPanel, winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollSnapPointsInfo, winrt::Microsoft::UI::Xaml::Controls::ICanvas, winrt::Microsoft::UI::Xaml::Controls::IPanel, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        LoopingSelectorPanel(std::nullptr_t) noexcept {}
        LoopingSelectorPanel(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ILoopingSelectorPanel(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES MenuFlyoutItemTemplateSettings : winrt::Microsoft::UI::Xaml::Controls::Primitives::IMenuFlyoutItemTemplateSettings,
        impl::base<MenuFlyoutItemTemplateSettings, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<MenuFlyoutItemTemplateSettings, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        MenuFlyoutItemTemplateSettings(std::nullptr_t) noexcept {}
        MenuFlyoutItemTemplateSettings(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IMenuFlyoutItemTemplateSettings(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES MenuFlyoutPresenterTemplateSettings : winrt::Microsoft::UI::Xaml::Controls::Primitives::IMenuFlyoutPresenterTemplateSettings,
        impl::base<MenuFlyoutPresenterTemplateSettings, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<MenuFlyoutPresenterTemplateSettings, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        MenuFlyoutPresenterTemplateSettings(std::nullptr_t) noexcept {}
        MenuFlyoutPresenterTemplateSettings(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IMenuFlyoutPresenterTemplateSettings(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES MonochromaticOverlayPresenter : winrt::Microsoft::UI::Xaml::Controls::Primitives::IMonochromaticOverlayPresenter,
        impl::base<MonochromaticOverlayPresenter, winrt::Microsoft::UI::Xaml::Controls::Grid, winrt::Microsoft::UI::Xaml::Controls::Panel, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<MonochromaticOverlayPresenter, winrt::Microsoft::UI::Xaml::Controls::IGrid, winrt::Microsoft::UI::Xaml::Controls::IPanel, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        MonochromaticOverlayPresenter(std::nullptr_t) noexcept {}
        MonochromaticOverlayPresenter(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IMonochromaticOverlayPresenter(ptr, take_ownership_from_abi) {}
        MonochromaticOverlayPresenter();
        [[nodiscard]] static auto SourceElementProperty();
        [[nodiscard]] static auto ReplacementColorProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES NavigationViewItemPresenter : winrt::Microsoft::UI::Xaml::Controls::Primitives::INavigationViewItemPresenter,
        impl::base<NavigationViewItemPresenter, winrt::Microsoft::UI::Xaml::Controls::ContentControl, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<NavigationViewItemPresenter, winrt::Microsoft::UI::Xaml::Controls::Primitives::INavigationViewItemPresenter2, winrt::Microsoft::UI::Xaml::Controls::IContentControl, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        NavigationViewItemPresenter(std::nullptr_t) noexcept {}
        NavigationViewItemPresenter(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::INavigationViewItemPresenter(ptr, take_ownership_from_abi) {}
        NavigationViewItemPresenter();
        [[nodiscard]] static auto IconProperty();
        [[nodiscard]] static auto TemplateSettingsProperty();
        [[nodiscard]] static auto InfoBadgeProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES NavigationViewItemPresenterTemplateSettings : winrt::Microsoft::UI::Xaml::Controls::Primitives::INavigationViewItemPresenterTemplateSettings,
        impl::base<NavigationViewItemPresenterTemplateSettings, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<NavigationViewItemPresenterTemplateSettings, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        NavigationViewItemPresenterTemplateSettings(std::nullptr_t) noexcept {}
        NavigationViewItemPresenterTemplateSettings(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::INavigationViewItemPresenterTemplateSettings(ptr, take_ownership_from_abi) {}
        NavigationViewItemPresenterTemplateSettings();
        [[nodiscard]] static auto IconWidthProperty();
        [[nodiscard]] static auto SmallerIconWidthProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES OrientedVirtualizingPanel : winrt::Microsoft::UI::Xaml::Controls::Primitives::IOrientedVirtualizingPanel,
        impl::base<OrientedVirtualizingPanel, winrt::Microsoft::UI::Xaml::Controls::VirtualizingPanel, winrt::Microsoft::UI::Xaml::Controls::Panel, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<OrientedVirtualizingPanel, winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollSnapPointsInfo, winrt::Microsoft::UI::Xaml::Controls::IInsertionPanel, winrt::Microsoft::UI::Xaml::Controls::IVirtualizingPanel, winrt::Microsoft::UI::Xaml::Controls::IPanel, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        OrientedVirtualizingPanel(std::nullptr_t) noexcept {}
        OrientedVirtualizingPanel(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IOrientedVirtualizingPanel(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES PickerFlyoutBase : winrt::Microsoft::UI::Xaml::Controls::Primitives::IPickerFlyoutBase,
        impl::base<PickerFlyoutBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::FlyoutBase, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<PickerFlyoutBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::IFlyoutBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::IFlyoutBase2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        PickerFlyoutBase(std::nullptr_t) noexcept {}
        PickerFlyoutBase(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IPickerFlyoutBase(ptr, take_ownership_from_abi) {}
        [[nodiscard]] static auto TitleProperty();
        static auto GetTitle(winrt::Microsoft::UI::Xaml::DependencyObject const& element);
        static auto SetTitle(winrt::Microsoft::UI::Xaml::DependencyObject const& element, param::hstring const& value);
    };
    struct WINRT_IMPL_EMPTY_BASES PivotHeaderItem : winrt::Microsoft::UI::Xaml::Controls::Primitives::IPivotHeaderItem,
        impl::base<PivotHeaderItem, winrt::Microsoft::UI::Xaml::Controls::ContentControl, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<PivotHeaderItem, winrt::Microsoft::UI::Xaml::Controls::IContentControl, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        PivotHeaderItem(std::nullptr_t) noexcept {}
        PivotHeaderItem(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IPivotHeaderItem(ptr, take_ownership_from_abi) {}
        PivotHeaderItem();
    };
    struct WINRT_IMPL_EMPTY_BASES PivotHeaderPanel : winrt::Microsoft::UI::Xaml::Controls::Primitives::IPivotHeaderPanel,
        impl::base<PivotHeaderPanel, winrt::Microsoft::UI::Xaml::Controls::Canvas, winrt::Microsoft::UI::Xaml::Controls::Panel, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<PivotHeaderPanel, winrt::Microsoft::UI::Xaml::Controls::ICanvas, winrt::Microsoft::UI::Xaml::Controls::IPanel, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        PivotHeaderPanel(std::nullptr_t) noexcept {}
        PivotHeaderPanel(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IPivotHeaderPanel(ptr, take_ownership_from_abi) {}
        PivotHeaderPanel();
    };
    struct WINRT_IMPL_EMPTY_BASES PivotPanel : winrt::Microsoft::UI::Xaml::Controls::Primitives::IPivotPanel,
        impl::base<PivotPanel, winrt::Microsoft::UI::Xaml::Controls::Panel, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<PivotPanel, winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollSnapPointsInfo, winrt::Microsoft::UI::Xaml::Controls::IPanel, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        PivotPanel(std::nullptr_t) noexcept {}
        PivotPanel(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IPivotPanel(ptr, take_ownership_from_abi) {}
        PivotPanel();
    };
    struct WINRT_IMPL_EMPTY_BASES Popup : winrt::Microsoft::UI::Xaml::Controls::Primitives::IPopup,
        impl::base<Popup, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<Popup, winrt::Microsoft::UI::Xaml::Controls::Primitives::IPopup2, winrt::Microsoft::UI::Xaml::Controls::Primitives::IPopup3, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        Popup(std::nullptr_t) noexcept {}
        Popup(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IPopup(ptr, take_ownership_from_abi) {}
        Popup();
        [[nodiscard]] static auto ChildProperty();
        [[nodiscard]] static auto IsOpenProperty();
        [[nodiscard]] static auto HorizontalOffsetProperty();
        [[nodiscard]] static auto VerticalOffsetProperty();
        [[nodiscard]] static auto ChildTransitionsProperty();
        [[nodiscard]] static auto IsLightDismissEnabledProperty();
        [[nodiscard]] static auto LightDismissOverlayModeProperty();
        [[nodiscard]] static auto ShouldConstrainToRootBoundsProperty();
        [[nodiscard]] static auto PlacementTargetProperty();
        [[nodiscard]] static auto DesiredPlacementProperty();
        [[nodiscard]] static auto SystemBackdropProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES RangeBase : winrt::Microsoft::UI::Xaml::Controls::Primitives::IRangeBase,
        impl::base<RangeBase, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<RangeBase, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        RangeBase(std::nullptr_t) noexcept {}
        RangeBase(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IRangeBase(ptr, take_ownership_from_abi) {}
        [[nodiscard]] static auto MinimumProperty();
        [[nodiscard]] static auto MaximumProperty();
        [[nodiscard]] static auto SmallChangeProperty();
        [[nodiscard]] static auto LargeChangeProperty();
        [[nodiscard]] static auto ValueProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES RangeBaseValueChangedEventArgs : winrt::Microsoft::UI::Xaml::Controls::Primitives::IRangeBaseValueChangedEventArgs,
        impl::base<RangeBaseValueChangedEventArgs, winrt::Microsoft::UI::Xaml::RoutedEventArgs>,
        impl::require<RangeBaseValueChangedEventArgs, winrt::Microsoft::UI::Xaml::IRoutedEventArgs>
    {
        RangeBaseValueChangedEventArgs(std::nullptr_t) noexcept {}
        RangeBaseValueChangedEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IRangeBaseValueChangedEventArgs(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES RepeatButton : winrt::Microsoft::UI::Xaml::Controls::Primitives::IRepeatButton,
        impl::base<RepeatButton, winrt::Microsoft::UI::Xaml::Controls::Primitives::ButtonBase, winrt::Microsoft::UI::Xaml::Controls::ContentControl, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<RepeatButton, winrt::Microsoft::UI::Xaml::Controls::Primitives::IButtonBase, winrt::Microsoft::UI::Xaml::Controls::IContentControl, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        RepeatButton(std::nullptr_t) noexcept {}
        RepeatButton(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IRepeatButton(ptr, take_ownership_from_abi) {}
        RepeatButton();
        [[nodiscard]] static auto DelayProperty();
        [[nodiscard]] static auto IntervalProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES RepeatedScrollSnapPoint : winrt::Microsoft::UI::Xaml::Controls::Primitives::IRepeatedScrollSnapPoint,
        impl::base<RepeatedScrollSnapPoint, winrt::Microsoft::UI::Xaml::Controls::Primitives::ScrollSnapPointBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::SnapPointBase>,
        impl::require<RepeatedScrollSnapPoint, winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollSnapPointBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::ISnapPointBase>
    {
        RepeatedScrollSnapPoint(std::nullptr_t) noexcept {}
        RepeatedScrollSnapPoint(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IRepeatedScrollSnapPoint(ptr, take_ownership_from_abi) {}
        RepeatedScrollSnapPoint(double offset, double interval, double start, double end, winrt::Microsoft::UI::Xaml::Controls::Primitives::ScrollSnapPointsAlignment const& alignment);
    };
    struct WINRT_IMPL_EMPTY_BASES RepeatedZoomSnapPoint : winrt::Microsoft::UI::Xaml::Controls::Primitives::IRepeatedZoomSnapPoint,
        impl::base<RepeatedZoomSnapPoint, winrt::Microsoft::UI::Xaml::Controls::Primitives::ZoomSnapPointBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::SnapPointBase>,
        impl::require<RepeatedZoomSnapPoint, winrt::Microsoft::UI::Xaml::Controls::Primitives::IZoomSnapPointBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::ISnapPointBase>
    {
        RepeatedZoomSnapPoint(std::nullptr_t) noexcept {}
        RepeatedZoomSnapPoint(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IRepeatedZoomSnapPoint(ptr, take_ownership_from_abi) {}
        RepeatedZoomSnapPoint(double offset, double interval, double start, double end);
    };
    struct WINRT_IMPL_EMPTY_BASES ScrollBar : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollBar,
        impl::base<ScrollBar, winrt::Microsoft::UI::Xaml::Controls::Primitives::RangeBase, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<ScrollBar, winrt::Microsoft::UI::Xaml::Controls::Primitives::IRangeBase, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        ScrollBar(std::nullptr_t) noexcept {}
        ScrollBar(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollBar(ptr, take_ownership_from_abi) {}
        ScrollBar();
        [[nodiscard]] static auto OrientationProperty();
        [[nodiscard]] static auto ViewportSizeProperty();
        [[nodiscard]] static auto IndicatorModeProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES ScrollControllerAddScrollVelocityRequestedEventArgs : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollControllerAddScrollVelocityRequestedEventArgs
    {
        ScrollControllerAddScrollVelocityRequestedEventArgs(std::nullptr_t) noexcept {}
        ScrollControllerAddScrollVelocityRequestedEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollControllerAddScrollVelocityRequestedEventArgs(ptr, take_ownership_from_abi) {}
        ScrollControllerAddScrollVelocityRequestedEventArgs(float offsetVelocity, winrt::Windows::Foundation::IReference<float> const& inertiaDecayRate);
    };
    struct WINRT_IMPL_EMPTY_BASES ScrollControllerPanRequestedEventArgs : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollControllerPanRequestedEventArgs
    {
        ScrollControllerPanRequestedEventArgs(std::nullptr_t) noexcept {}
        ScrollControllerPanRequestedEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollControllerPanRequestedEventArgs(ptr, take_ownership_from_abi) {}
        explicit ScrollControllerPanRequestedEventArgs(winrt::Microsoft::UI::Input::PointerPoint const& pointerPoint);
    };
    struct WINRT_IMPL_EMPTY_BASES ScrollControllerScrollByRequestedEventArgs : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollControllerScrollByRequestedEventArgs
    {
        ScrollControllerScrollByRequestedEventArgs(std::nullptr_t) noexcept {}
        ScrollControllerScrollByRequestedEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollControllerScrollByRequestedEventArgs(ptr, take_ownership_from_abi) {}
        ScrollControllerScrollByRequestedEventArgs(double offsetDelta, winrt::Microsoft::UI::Xaml::Controls::ScrollingScrollOptions const& options);
    };
    struct WINRT_IMPL_EMPTY_BASES ScrollControllerScrollToRequestedEventArgs : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollControllerScrollToRequestedEventArgs
    {
        ScrollControllerScrollToRequestedEventArgs(std::nullptr_t) noexcept {}
        ScrollControllerScrollToRequestedEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollControllerScrollToRequestedEventArgs(ptr, take_ownership_from_abi) {}
        ScrollControllerScrollToRequestedEventArgs(double offset, winrt::Microsoft::UI::Xaml::Controls::ScrollingScrollOptions const& options);
    };
    struct WINRT_IMPL_EMPTY_BASES ScrollEventArgs : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollEventArgs,
        impl::base<ScrollEventArgs, winrt::Microsoft::UI::Xaml::RoutedEventArgs>,
        impl::require<ScrollEventArgs, winrt::Microsoft::UI::Xaml::IRoutedEventArgs>
    {
        ScrollEventArgs(std::nullptr_t) noexcept {}
        ScrollEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollEventArgs(ptr, take_ownership_from_abi) {}
        ScrollEventArgs();
    };
    struct WINRT_IMPL_EMPTY_BASES ScrollPresenter : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollPresenter,
        impl::base<ScrollPresenter, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<ScrollPresenter, winrt::Microsoft::UI::Xaml::Controls::IScrollAnchorProvider, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        ScrollPresenter(std::nullptr_t) noexcept {}
        ScrollPresenter(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollPresenter(ptr, take_ownership_from_abi) {}
        ScrollPresenter();
        [[nodiscard]] static auto BackgroundProperty();
        [[nodiscard]] static auto ContentProperty();
        [[nodiscard]] static auto ContentOrientationProperty();
        [[nodiscard]] static auto HorizontalScrollChainModeProperty();
        [[nodiscard]] static auto VerticalScrollChainModeProperty();
        [[nodiscard]] static auto HorizontalScrollRailModeProperty();
        [[nodiscard]] static auto VerticalScrollRailModeProperty();
        [[nodiscard]] static auto HorizontalScrollModeProperty();
        [[nodiscard]] static auto VerticalScrollModeProperty();
        [[nodiscard]] static auto ComputedHorizontalScrollModeProperty();
        [[nodiscard]] static auto ComputedVerticalScrollModeProperty();
        [[nodiscard]] static auto ZoomChainModeProperty();
        [[nodiscard]] static auto ZoomModeProperty();
        [[nodiscard]] static auto IgnoredInputKindsProperty();
        [[nodiscard]] static auto MinZoomFactorProperty();
        [[nodiscard]] static auto MaxZoomFactorProperty();
        [[nodiscard]] static auto HorizontalAnchorRatioProperty();
        [[nodiscard]] static auto VerticalAnchorRatioProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES ScrollSnapPoint : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollSnapPoint,
        impl::base<ScrollSnapPoint, winrt::Microsoft::UI::Xaml::Controls::Primitives::ScrollSnapPointBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::SnapPointBase>,
        impl::require<ScrollSnapPoint, winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollSnapPointBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::ISnapPointBase>
    {
        ScrollSnapPoint(std::nullptr_t) noexcept {}
        ScrollSnapPoint(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollSnapPoint(ptr, take_ownership_from_abi) {}
        ScrollSnapPoint(double snapPointValue, winrt::Microsoft::UI::Xaml::Controls::Primitives::ScrollSnapPointsAlignment const& alignment);
    };
    struct WINRT_IMPL_EMPTY_BASES ScrollSnapPointBase : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollSnapPointBase,
        impl::base<ScrollSnapPointBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::SnapPointBase>,
        impl::require<ScrollSnapPointBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::ISnapPointBase>
    {
        ScrollSnapPointBase(std::nullptr_t) noexcept {}
        ScrollSnapPointBase(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IScrollSnapPointBase(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES Selector : winrt::Microsoft::UI::Xaml::Controls::Primitives::ISelector,
        impl::base<Selector, winrt::Microsoft::UI::Xaml::Controls::ItemsControl, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<Selector, winrt::Microsoft::UI::Xaml::Controls::IItemsControl, winrt::Microsoft::UI::Xaml::Controls::IItemContainerMapping, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        Selector(std::nullptr_t) noexcept {}
        Selector(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ISelector(ptr, take_ownership_from_abi) {}
        [[nodiscard]] static auto SelectedIndexProperty();
        [[nodiscard]] static auto SelectedItemProperty();
        [[nodiscard]] static auto SelectedValueProperty();
        [[nodiscard]] static auto SelectedValuePathProperty();
        [[nodiscard]] static auto IsSynchronizedWithCurrentItemProperty();
        static auto GetIsSelectionActive(winrt::Microsoft::UI::Xaml::DependencyObject const& element);
    };
    struct WINRT_IMPL_EMPTY_BASES SelectorItem : winrt::Microsoft::UI::Xaml::Controls::Primitives::ISelectorItem,
        impl::base<SelectorItem, winrt::Microsoft::UI::Xaml::Controls::ContentControl, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<SelectorItem, winrt::Microsoft::UI::Xaml::Controls::IContentControl, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        SelectorItem(std::nullptr_t) noexcept {}
        SelectorItem(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ISelectorItem(ptr, take_ownership_from_abi) {}
        [[nodiscard]] static auto IsSelectedProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES SnapPointBase : winrt::Microsoft::UI::Xaml::Controls::Primitives::ISnapPointBase
    {
        SnapPointBase(std::nullptr_t) noexcept {}
        SnapPointBase(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ISnapPointBase(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES SplitViewTemplateSettings : winrt::Microsoft::UI::Xaml::Controls::Primitives::ISplitViewTemplateSettings,
        impl::base<SplitViewTemplateSettings, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<SplitViewTemplateSettings, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        SplitViewTemplateSettings(std::nullptr_t) noexcept {}
        SplitViewTemplateSettings(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ISplitViewTemplateSettings(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES TabViewListView : winrt::Microsoft::UI::Xaml::Controls::Primitives::ITabViewListView,
        impl::base<TabViewListView, winrt::Microsoft::UI::Xaml::Controls::ListView, winrt::Microsoft::UI::Xaml::Controls::ListViewBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::Selector, winrt::Microsoft::UI::Xaml::Controls::ItemsControl, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<TabViewListView, winrt::Microsoft::UI::Xaml::Controls::IListView, winrt::Microsoft::UI::Xaml::Controls::IListViewBase, winrt::Microsoft::UI::Xaml::Controls::ISemanticZoomInformation, winrt::Microsoft::UI::Xaml::Controls::Primitives::ISelector, winrt::Microsoft::UI::Xaml::Controls::IItemsControl, winrt::Microsoft::UI::Xaml::Controls::IItemContainerMapping, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        TabViewListView(std::nullptr_t) noexcept {}
        TabViewListView(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ITabViewListView(ptr, take_ownership_from_abi) {}
        TabViewListView();
    };
    struct WINRT_IMPL_EMPTY_BASES Thumb : winrt::Microsoft::UI::Xaml::Controls::Primitives::IThumb,
        impl::base<Thumb, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<Thumb, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        Thumb(std::nullptr_t) noexcept {}
        Thumb(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IThumb(ptr, take_ownership_from_abi) {}
        Thumb();
        [[nodiscard]] static auto IsDraggingProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES TickBar : winrt::Microsoft::UI::Xaml::Controls::Primitives::ITickBar,
        impl::base<TickBar, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<TickBar, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        TickBar(std::nullptr_t) noexcept {}
        TickBar(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::ITickBar(ptr, take_ownership_from_abi) {}
        TickBar();
        [[nodiscard]] static auto FillProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES ToggleButton : winrt::Microsoft::UI::Xaml::Controls::Primitives::IToggleButton,
        impl::base<ToggleButton, winrt::Microsoft::UI::Xaml::Controls::Primitives::ButtonBase, winrt::Microsoft::UI::Xaml::Controls::ContentControl, winrt::Microsoft::UI::Xaml::Controls::Control, winrt::Microsoft::UI::Xaml::FrameworkElement, winrt::Microsoft::UI::Xaml::UIElement, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<ToggleButton, winrt::Microsoft::UI::Xaml::Controls::Primitives::IButtonBase, winrt::Microsoft::UI::Xaml::Controls::IContentControl, winrt::Microsoft::UI::Xaml::Controls::IControl, winrt::Microsoft::UI::Xaml::IFrameworkElement, winrt::Microsoft::UI::Xaml::IUIElement, winrt::Microsoft::UI::Composition::IAnimationObject, winrt::Microsoft::UI::Composition::IVisualElement, winrt::Microsoft::UI::Composition::IVisualElement2, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        ToggleButton(std::nullptr_t) noexcept {}
        ToggleButton(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IToggleButton(ptr, take_ownership_from_abi) {}
        ToggleButton();
        [[nodiscard]] static auto IsCheckedProperty();
        [[nodiscard]] static auto IsThreeStateProperty();
    };
    struct WINRT_IMPL_EMPTY_BASES ToggleSwitchTemplateSettings : winrt::Microsoft::UI::Xaml::Controls::Primitives::IToggleSwitchTemplateSettings,
        impl::base<ToggleSwitchTemplateSettings, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<ToggleSwitchTemplateSettings, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        ToggleSwitchTemplateSettings(std::nullptr_t) noexcept {}
        ToggleSwitchTemplateSettings(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IToggleSwitchTemplateSettings(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES ToolTipTemplateSettings : winrt::Microsoft::UI::Xaml::Controls::Primitives::IToolTipTemplateSettings,
        impl::base<ToolTipTemplateSettings, winrt::Microsoft::UI::Xaml::DependencyObject>,
        impl::require<ToolTipTemplateSettings, winrt::Microsoft::UI::Xaml::IDependencyObject>
    {
        ToolTipTemplateSettings(std::nullptr_t) noexcept {}
        ToolTipTemplateSettings(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IToolTipTemplateSettings(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES ZoomSnapPoint : winrt::Microsoft::UI::Xaml::Controls::Primitives::IZoomSnapPoint,
        impl::base<ZoomSnapPoint, winrt::Microsoft::UI::Xaml::Controls::Primitives::ZoomSnapPointBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::SnapPointBase>,
        impl::require<ZoomSnapPoint, winrt::Microsoft::UI::Xaml::Controls::Primitives::IZoomSnapPointBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::ISnapPointBase>
    {
        ZoomSnapPoint(std::nullptr_t) noexcept {}
        ZoomSnapPoint(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IZoomSnapPoint(ptr, take_ownership_from_abi) {}
        explicit ZoomSnapPoint(double snapPointValue);
    };
    struct WINRT_IMPL_EMPTY_BASES ZoomSnapPointBase : winrt::Microsoft::UI::Xaml::Controls::Primitives::IZoomSnapPointBase,
        impl::base<ZoomSnapPointBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::SnapPointBase>,
        impl::require<ZoomSnapPointBase, winrt::Microsoft::UI::Xaml::Controls::Primitives::ISnapPointBase>
    {
        ZoomSnapPointBase(std::nullptr_t) noexcept {}
        ZoomSnapPointBase(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::UI::Xaml::Controls::Primitives::IZoomSnapPointBase(ptr, take_ownership_from_abi) {}
    };
    template <typename D>
    class IFlyoutBaseOverridesT
    {
        D& shim() noexcept { return *static_cast<D*>(this); }
        D const& shim() const noexcept { return *static_cast<const D*>(this); }
    public:
        using IFlyoutBaseOverrides = winrt::Microsoft::UI::Xaml::Controls::Primitives::IFlyoutBaseOverrides;
        auto CreatePresenter() const;
        auto OnProcessKeyboardAccelerators(winrt::Microsoft::UI::Xaml::Input::ProcessKeyboardAcceleratorEventArgs const& args) const;
    };
    template <typename D>
    class IPickerFlyoutBaseOverridesT
    {
        D& shim() noexcept { return *static_cast<D*>(this); }
        D const& shim() const noexcept { return *static_cast<const D*>(this); }
    public:
        using IPickerFlyoutBaseOverrides = winrt::Microsoft::UI::Xaml::Controls::Primitives::IPickerFlyoutBaseOverrides;
        auto OnConfirmed() const;
        auto ShouldShowConfirmationButtons() const;
    };
    template <typename D>
    class IRangeBaseOverridesT
    {
        D& shim() noexcept { return *static_cast<D*>(this); }
        D const& shim() const noexcept { return *static_cast<const D*>(this); }
    public:
        using IRangeBaseOverrides = winrt::Microsoft::UI::Xaml::Controls::Primitives::IRangeBaseOverrides;
        auto OnMinimumChanged(double oldMinimum, double newMinimum) const;
        auto OnMaximumChanged(double oldMaximum, double newMaximum) const;
        auto OnValueChanged(double oldValue, double newValue) const;
    };
    template <typename D>
    class IToggleButtonOverridesT
    {
        D& shim() noexcept { return *static_cast<D*>(this); }
        D const& shim() const noexcept { return *static_cast<const D*>(this); }
    public:
        using IToggleButtonOverrides = winrt::Microsoft::UI::Xaml::Controls::Primitives::IToggleButtonOverrides;
        auto OnToggle() const;
    };
}
#endif
