// C++/WinRT v2.0.190620.2

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

#ifndef WINRT_Windows_UI_Xaml_Automation_Provider_1_H
#define WINRT_Windows_UI_Xaml_Automation_Provider_1_H
#include "Windows.UI.Xaml.Automation.Provider.0.h"
namespace winrt::Windows::UI::Xaml::Automation::Provider
{
    struct __declspec(empty_bases) IAnnotationProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IAnnotationProvider>
    {
        IAnnotationProvider(std::nullptr_t = nullptr) noexcept {}
        IAnnotationProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ICustomNavigationProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<ICustomNavigationProvider>
    {
        ICustomNavigationProvider(std::nullptr_t = nullptr) noexcept {}
        ICustomNavigationProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IDockProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IDockProvider>
    {
        IDockProvider(std::nullptr_t = nullptr) noexcept {}
        IDockProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IDragProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IDragProvider>
    {
        IDragProvider(std::nullptr_t = nullptr) noexcept {}
        IDragProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IDropTargetProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IDropTargetProvider>
    {
        IDropTargetProvider(std::nullptr_t = nullptr) noexcept {}
        IDropTargetProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IExpandCollapseProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IExpandCollapseProvider>
    {
        IExpandCollapseProvider(std::nullptr_t = nullptr) noexcept {}
        IExpandCollapseProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IGridItemProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IGridItemProvider>
    {
        IGridItemProvider(std::nullptr_t = nullptr) noexcept {}
        IGridItemProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IGridProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IGridProvider>
    {
        IGridProvider(std::nullptr_t = nullptr) noexcept {}
        IGridProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IIRawElementProviderSimple :
        Windows::Foundation::IInspectable,
        impl::consume_t<IIRawElementProviderSimple>
    {
        IIRawElementProviderSimple(std::nullptr_t = nullptr) noexcept {}
        IIRawElementProviderSimple(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IInvokeProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IInvokeProvider>
    {
        IInvokeProvider(std::nullptr_t = nullptr) noexcept {}
        IInvokeProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IItemContainerProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IItemContainerProvider>
    {
        IItemContainerProvider(std::nullptr_t = nullptr) noexcept {}
        IItemContainerProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IMultipleViewProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IMultipleViewProvider>
    {
        IMultipleViewProvider(std::nullptr_t = nullptr) noexcept {}
        IMultipleViewProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IObjectModelProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IObjectModelProvider>
    {
        IObjectModelProvider(std::nullptr_t = nullptr) noexcept {}
        IObjectModelProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IRangeValueProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IRangeValueProvider>
    {
        IRangeValueProvider(std::nullptr_t = nullptr) noexcept {}
        IRangeValueProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IScrollItemProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IScrollItemProvider>
    {
        IScrollItemProvider(std::nullptr_t = nullptr) noexcept {}
        IScrollItemProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IScrollProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IScrollProvider>
    {
        IScrollProvider(std::nullptr_t = nullptr) noexcept {}
        IScrollProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ISelectionItemProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<ISelectionItemProvider>
    {
        ISelectionItemProvider(std::nullptr_t = nullptr) noexcept {}
        ISelectionItemProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ISelectionProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<ISelectionProvider>
    {
        ISelectionProvider(std::nullptr_t = nullptr) noexcept {}
        ISelectionProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ISpreadsheetItemProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<ISpreadsheetItemProvider>
    {
        ISpreadsheetItemProvider(std::nullptr_t = nullptr) noexcept {}
        ISpreadsheetItemProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ISpreadsheetProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<ISpreadsheetProvider>
    {
        ISpreadsheetProvider(std::nullptr_t = nullptr) noexcept {}
        ISpreadsheetProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IStylesProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IStylesProvider>
    {
        IStylesProvider(std::nullptr_t = nullptr) noexcept {}
        IStylesProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ISynchronizedInputProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<ISynchronizedInputProvider>
    {
        ISynchronizedInputProvider(std::nullptr_t = nullptr) noexcept {}
        ISynchronizedInputProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ITableItemProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<ITableItemProvider>
    {
        ITableItemProvider(std::nullptr_t = nullptr) noexcept {}
        ITableItemProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ITableProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<ITableProvider>
    {
        ITableProvider(std::nullptr_t = nullptr) noexcept {}
        ITableProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ITextChildProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<ITextChildProvider>
    {
        ITextChildProvider(std::nullptr_t = nullptr) noexcept {}
        ITextChildProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ITextEditProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<ITextEditProvider>,
        impl::require<Windows::UI::Xaml::Automation::Provider::ITextEditProvider, Windows::UI::Xaml::Automation::Provider::ITextProvider>
    {
        ITextEditProvider(std::nullptr_t = nullptr) noexcept {}
        ITextEditProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ITextProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<ITextProvider>
    {
        ITextProvider(std::nullptr_t = nullptr) noexcept {}
        ITextProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ITextProvider2 :
        Windows::Foundation::IInspectable,
        impl::consume_t<ITextProvider2>,
        impl::require<Windows::UI::Xaml::Automation::Provider::ITextProvider2, Windows::UI::Xaml::Automation::Provider::ITextProvider>
    {
        ITextProvider2(std::nullptr_t = nullptr) noexcept {}
        ITextProvider2(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ITextRangeProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<ITextRangeProvider>
    {
        ITextRangeProvider(std::nullptr_t = nullptr) noexcept {}
        ITextRangeProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ITextRangeProvider2 :
        Windows::Foundation::IInspectable,
        impl::consume_t<ITextRangeProvider2>,
        impl::require<Windows::UI::Xaml::Automation::Provider::ITextRangeProvider2, Windows::UI::Xaml::Automation::Provider::ITextRangeProvider>
    {
        ITextRangeProvider2(std::nullptr_t = nullptr) noexcept {}
        ITextRangeProvider2(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IToggleProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IToggleProvider>
    {
        IToggleProvider(std::nullptr_t = nullptr) noexcept {}
        IToggleProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ITransformProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<ITransformProvider>
    {
        ITransformProvider(std::nullptr_t = nullptr) noexcept {}
        ITransformProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) ITransformProvider2 :
        Windows::Foundation::IInspectable,
        impl::consume_t<ITransformProvider2>,
        impl::require<Windows::UI::Xaml::Automation::Provider::ITransformProvider2, Windows::UI::Xaml::Automation::Provider::ITransformProvider>
    {
        ITransformProvider2(std::nullptr_t = nullptr) noexcept {}
        ITransformProvider2(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IValueProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IValueProvider>
    {
        IValueProvider(std::nullptr_t = nullptr) noexcept {}
        IValueProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IVirtualizedItemProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IVirtualizedItemProvider>
    {
        IVirtualizedItemProvider(std::nullptr_t = nullptr) noexcept {}
        IVirtualizedItemProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct __declspec(empty_bases) IWindowProvider :
        Windows::Foundation::IInspectable,
        impl::consume_t<IWindowProvider>
    {
        IWindowProvider(std::nullptr_t = nullptr) noexcept {}
        IWindowProvider(void* ptr, take_ownership_from_abi_t) noexcept : Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
}
#endif
