// C++/WinRT v2.0.250303.1

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

#pragma once
#ifndef WINRT_Windows_ApplicationModel_Contacts_1_H
#define WINRT_Windows_ApplicationModel_Contacts_1_H
#include "winrt/impl/Windows.Foundation.0.h"
#include "winrt/impl/Windows.ApplicationModel.Contacts.0.h"
WINRT_EXPORT namespace winrt::Windows::ApplicationModel::Contacts
{
    struct WINRT_IMPL_EMPTY_BASES IAggregateContactManager :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IAggregateContactManager>
    {
        IAggregateContactManager(std::nullptr_t = nullptr) noexcept {}
        IAggregateContactManager(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IAggregateContactManager2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IAggregateContactManager2>
    {
        IAggregateContactManager2(std::nullptr_t = nullptr) noexcept {}
        IAggregateContactManager2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContact :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContact>
    {
        IContact(std::nullptr_t = nullptr) noexcept {}
        IContact(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContact2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContact2>,
        impl::require<winrt::Windows::ApplicationModel::Contacts::IContact2, winrt::Windows::ApplicationModel::Contacts::IContact>
    {
        IContact2(std::nullptr_t = nullptr) noexcept {}
        IContact2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContact3 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContact3>,
        impl::require<winrt::Windows::ApplicationModel::Contacts::IContact3, winrt::Windows::ApplicationModel::Contacts::IContact, winrt::Windows::ApplicationModel::Contacts::IContact2>
    {
        IContact3(std::nullptr_t = nullptr) noexcept {}
        IContact3(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactAddress :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactAddress>
    {
        IContactAddress(std::nullptr_t = nullptr) noexcept {}
        IContactAddress(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactAnnotation :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactAnnotation>
    {
        IContactAnnotation(std::nullptr_t = nullptr) noexcept {}
        IContactAnnotation(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactAnnotation2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactAnnotation2>
    {
        IContactAnnotation2(std::nullptr_t = nullptr) noexcept {}
        IContactAnnotation2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactAnnotationList :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactAnnotationList>
    {
        IContactAnnotationList(std::nullptr_t = nullptr) noexcept {}
        IContactAnnotationList(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactAnnotationStore :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactAnnotationStore>
    {
        IContactAnnotationStore(std::nullptr_t = nullptr) noexcept {}
        IContactAnnotationStore(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactAnnotationStore2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactAnnotationStore2>
    {
        IContactAnnotationStore2(std::nullptr_t = nullptr) noexcept {}
        IContactAnnotationStore2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactBatch :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactBatch>
    {
        IContactBatch(std::nullptr_t = nullptr) noexcept {}
        IContactBatch(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactCardDelayedDataLoader :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactCardDelayedDataLoader>,
        impl::require<winrt::Windows::ApplicationModel::Contacts::IContactCardDelayedDataLoader, winrt::Windows::Foundation::IClosable>
    {
        IContactCardDelayedDataLoader(std::nullptr_t = nullptr) noexcept {}
        IContactCardDelayedDataLoader(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactCardOptions :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactCardOptions>
    {
        IContactCardOptions(std::nullptr_t = nullptr) noexcept {}
        IContactCardOptions(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactCardOptions2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactCardOptions2>,
        impl::require<winrt::Windows::ApplicationModel::Contacts::IContactCardOptions2, winrt::Windows::ApplicationModel::Contacts::IContactCardOptions>
    {
        IContactCardOptions2(std::nullptr_t = nullptr) noexcept {}
        IContactCardOptions2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactChange :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactChange>
    {
        IContactChange(std::nullptr_t = nullptr) noexcept {}
        IContactChange(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactChangeReader :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactChangeReader>
    {
        IContactChangeReader(std::nullptr_t = nullptr) noexcept {}
        IContactChangeReader(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactChangeTracker :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactChangeTracker>
    {
        IContactChangeTracker(std::nullptr_t = nullptr) noexcept {}
        IContactChangeTracker(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactChangeTracker2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactChangeTracker2>
    {
        IContactChangeTracker2(std::nullptr_t = nullptr) noexcept {}
        IContactChangeTracker2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactChangedDeferral :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactChangedDeferral>
    {
        IContactChangedDeferral(std::nullptr_t = nullptr) noexcept {}
        IContactChangedDeferral(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactChangedEventArgs :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactChangedEventArgs>
    {
        IContactChangedEventArgs(std::nullptr_t = nullptr) noexcept {}
        IContactChangedEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactConnectedServiceAccount :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactConnectedServiceAccount>
    {
        IContactConnectedServiceAccount(std::nullptr_t = nullptr) noexcept {}
        IContactConnectedServiceAccount(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactDate :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactDate>
    {
        IContactDate(std::nullptr_t = nullptr) noexcept {}
        IContactDate(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactEmail :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactEmail>
    {
        IContactEmail(std::nullptr_t = nullptr) noexcept {}
        IContactEmail(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactField :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactField>
    {
        IContactField(std::nullptr_t = nullptr) noexcept {}
        IContactField(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactFieldFactory :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactFieldFactory>
    {
        IContactFieldFactory(std::nullptr_t = nullptr) noexcept {}
        IContactFieldFactory(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactGroup :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactGroup>
    {
        IContactGroup(std::nullptr_t = nullptr) noexcept {}
        IContactGroup(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactInformation :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactInformation>
    {
        IContactInformation(std::nullptr_t = nullptr) noexcept {}
        IContactInformation(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactInstantMessageField :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactInstantMessageField>,
        impl::require<winrt::Windows::ApplicationModel::Contacts::IContactInstantMessageField, winrt::Windows::ApplicationModel::Contacts::IContactField>
    {
        IContactInstantMessageField(std::nullptr_t = nullptr) noexcept {}
        IContactInstantMessageField(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactInstantMessageFieldFactory :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactInstantMessageFieldFactory>
    {
        IContactInstantMessageFieldFactory(std::nullptr_t = nullptr) noexcept {}
        IContactInstantMessageFieldFactory(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactJobInfo :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactJobInfo>
    {
        IContactJobInfo(std::nullptr_t = nullptr) noexcept {}
        IContactJobInfo(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactLaunchActionVerbsStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactLaunchActionVerbsStatics>
    {
        IContactLaunchActionVerbsStatics(std::nullptr_t = nullptr) noexcept {}
        IContactLaunchActionVerbsStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactList :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactList>
    {
        IContactList(std::nullptr_t = nullptr) noexcept {}
        IContactList(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactList2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactList2>
    {
        IContactList2(std::nullptr_t = nullptr) noexcept {}
        IContactList2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactList3 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactList3>
    {
        IContactList3(std::nullptr_t = nullptr) noexcept {}
        IContactList3(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactListLimitedWriteOperations :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactListLimitedWriteOperations>
    {
        IContactListLimitedWriteOperations(std::nullptr_t = nullptr) noexcept {}
        IContactListLimitedWriteOperations(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactListSyncConstraints :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactListSyncConstraints>
    {
        IContactListSyncConstraints(std::nullptr_t = nullptr) noexcept {}
        IContactListSyncConstraints(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactListSyncManager :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactListSyncManager>
    {
        IContactListSyncManager(std::nullptr_t = nullptr) noexcept {}
        IContactListSyncManager(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactListSyncManager2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactListSyncManager2>
    {
        IContactListSyncManager2(std::nullptr_t = nullptr) noexcept {}
        IContactListSyncManager2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactLocationField :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactLocationField>,
        impl::require<winrt::Windows::ApplicationModel::Contacts::IContactLocationField, winrt::Windows::ApplicationModel::Contacts::IContactField>
    {
        IContactLocationField(std::nullptr_t = nullptr) noexcept {}
        IContactLocationField(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactLocationFieldFactory :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactLocationFieldFactory>
    {
        IContactLocationFieldFactory(std::nullptr_t = nullptr) noexcept {}
        IContactLocationFieldFactory(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactManagerForUser :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactManagerForUser>
    {
        IContactManagerForUser(std::nullptr_t = nullptr) noexcept {}
        IContactManagerForUser(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactManagerForUser2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactManagerForUser2>
    {
        IContactManagerForUser2(std::nullptr_t = nullptr) noexcept {}
        IContactManagerForUser2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactManagerStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactManagerStatics>
    {
        IContactManagerStatics(std::nullptr_t = nullptr) noexcept {}
        IContactManagerStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactManagerStatics2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactManagerStatics2>,
        impl::require<winrt::Windows::ApplicationModel::Contacts::IContactManagerStatics2, winrt::Windows::ApplicationModel::Contacts::IContactManagerStatics>
    {
        IContactManagerStatics2(std::nullptr_t = nullptr) noexcept {}
        IContactManagerStatics2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactManagerStatics3 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactManagerStatics3>,
        impl::require<winrt::Windows::ApplicationModel::Contacts::IContactManagerStatics3, winrt::Windows::ApplicationModel::Contacts::IContactManagerStatics, winrt::Windows::ApplicationModel::Contacts::IContactManagerStatics2>
    {
        IContactManagerStatics3(std::nullptr_t = nullptr) noexcept {}
        IContactManagerStatics3(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
        using impl::consume_t<IContactManagerStatics3, IContactManagerStatics3>::RequestStoreAsync;
        using impl::consume_t<IContactManagerStatics3, winrt::Windows::ApplicationModel::Contacts::IContactManagerStatics2>::RequestStoreAsync;
        using impl::consume_t<IContactManagerStatics3, IContactManagerStatics3>::ShowContactCard;
        using impl::consume_t<IContactManagerStatics3, winrt::Windows::ApplicationModel::Contacts::IContactManagerStatics>::ShowContactCard;
        using impl::consume_t<IContactManagerStatics3, IContactManagerStatics3>::ShowDelayLoadedContactCard;
        using impl::consume_t<IContactManagerStatics3, winrt::Windows::ApplicationModel::Contacts::IContactManagerStatics>::ShowDelayLoadedContactCard;
    };
    struct WINRT_IMPL_EMPTY_BASES IContactManagerStatics4 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactManagerStatics4>
    {
        IContactManagerStatics4(std::nullptr_t = nullptr) noexcept {}
        IContactManagerStatics4(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactManagerStatics5 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactManagerStatics5>
    {
        IContactManagerStatics5(std::nullptr_t = nullptr) noexcept {}
        IContactManagerStatics5(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactMatchReason :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactMatchReason>
    {
        IContactMatchReason(std::nullptr_t = nullptr) noexcept {}
        IContactMatchReason(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactName :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactName>
    {
        IContactName(std::nullptr_t = nullptr) noexcept {}
        IContactName(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactPanel :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactPanel>
    {
        IContactPanel(std::nullptr_t = nullptr) noexcept {}
        IContactPanel(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactPanelClosingEventArgs :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactPanelClosingEventArgs>
    {
        IContactPanelClosingEventArgs(std::nullptr_t = nullptr) noexcept {}
        IContactPanelClosingEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactPanelLaunchFullAppRequestedEventArgs :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactPanelLaunchFullAppRequestedEventArgs>
    {
        IContactPanelLaunchFullAppRequestedEventArgs(std::nullptr_t = nullptr) noexcept {}
        IContactPanelLaunchFullAppRequestedEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactPhone :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactPhone>
    {
        IContactPhone(std::nullptr_t = nullptr) noexcept {}
        IContactPhone(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactPicker :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactPicker>
    {
        IContactPicker(std::nullptr_t = nullptr) noexcept {}
        IContactPicker(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactPicker2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactPicker2>
    {
        IContactPicker2(std::nullptr_t = nullptr) noexcept {}
        IContactPicker2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactPicker3 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactPicker3>
    {
        IContactPicker3(std::nullptr_t = nullptr) noexcept {}
        IContactPicker3(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactPickerStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactPickerStatics>
    {
        IContactPickerStatics(std::nullptr_t = nullptr) noexcept {}
        IContactPickerStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactQueryOptions :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactQueryOptions>
    {
        IContactQueryOptions(std::nullptr_t = nullptr) noexcept {}
        IContactQueryOptions(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactQueryOptionsFactory :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactQueryOptionsFactory>
    {
        IContactQueryOptionsFactory(std::nullptr_t = nullptr) noexcept {}
        IContactQueryOptionsFactory(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactQueryTextSearch :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactQueryTextSearch>
    {
        IContactQueryTextSearch(std::nullptr_t = nullptr) noexcept {}
        IContactQueryTextSearch(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactReader :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactReader>
    {
        IContactReader(std::nullptr_t = nullptr) noexcept {}
        IContactReader(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactSignificantOther :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactSignificantOther>
    {
        IContactSignificantOther(std::nullptr_t = nullptr) noexcept {}
        IContactSignificantOther(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactSignificantOther2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactSignificantOther2>,
        impl::require<winrt::Windows::ApplicationModel::Contacts::IContactSignificantOther2, winrt::Windows::ApplicationModel::Contacts::IContactSignificantOther>
    {
        IContactSignificantOther2(std::nullptr_t = nullptr) noexcept {}
        IContactSignificantOther2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactStore :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactStore>
    {
        IContactStore(std::nullptr_t = nullptr) noexcept {}
        IContactStore(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactStore2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactStore2>,
        impl::require<winrt::Windows::ApplicationModel::Contacts::IContactStore2, winrt::Windows::ApplicationModel::Contacts::IContactStore>
    {
        IContactStore2(std::nullptr_t = nullptr) noexcept {}
        IContactStore2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactStore3 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactStore3>
    {
        IContactStore3(std::nullptr_t = nullptr) noexcept {}
        IContactStore3(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactStoreNotificationTriggerDetails :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactStoreNotificationTriggerDetails>
    {
        IContactStoreNotificationTriggerDetails(std::nullptr_t = nullptr) noexcept {}
        IContactStoreNotificationTriggerDetails(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactWebsite :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactWebsite>
    {
        IContactWebsite(std::nullptr_t = nullptr) noexcept {}
        IContactWebsite(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IContactWebsite2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IContactWebsite2>,
        impl::require<winrt::Windows::ApplicationModel::Contacts::IContactWebsite2, winrt::Windows::ApplicationModel::Contacts::IContactWebsite>
    {
        IContactWebsite2(std::nullptr_t = nullptr) noexcept {}
        IContactWebsite2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IFullContactCardOptions :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IFullContactCardOptions>
    {
        IFullContactCardOptions(std::nullptr_t = nullptr) noexcept {}
        IFullContactCardOptions(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKnownContactFieldStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKnownContactFieldStatics>
    {
        IKnownContactFieldStatics(std::nullptr_t = nullptr) noexcept {}
        IKnownContactFieldStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IPinnedContactIdsQueryResult :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IPinnedContactIdsQueryResult>
    {
        IPinnedContactIdsQueryResult(std::nullptr_t = nullptr) noexcept {}
        IPinnedContactIdsQueryResult(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IPinnedContactManager :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IPinnedContactManager>
    {
        IPinnedContactManager(std::nullptr_t = nullptr) noexcept {}
        IPinnedContactManager(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IPinnedContactManagerStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IPinnedContactManagerStatics>
    {
        IPinnedContactManagerStatics(std::nullptr_t = nullptr) noexcept {}
        IPinnedContactManagerStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
}
#endif
