// C++/WinRT v2.0.250303.1

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

#pragma once
#ifndef WINRT_Windows_Security_Credentials_1_H
#define WINRT_Windows_Security_Credentials_1_H
#include "winrt/impl/Windows.Security.Credentials.0.h"
WINRT_EXPORT namespace winrt::Windows::Security::Credentials
{
    struct WINRT_IMPL_EMPTY_BASES ICredentialFactory :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<ICredentialFactory>
    {
        ICredentialFactory(std::nullptr_t = nullptr) noexcept {}
        ICredentialFactory(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyCredential :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyCredential>
    {
        IKeyCredential(std::nullptr_t = nullptr) noexcept {}
        IKeyCredential(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyCredential2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyCredential2>
    {
        IKeyCredential2(std::nullptr_t = nullptr) noexcept {}
        IKeyCredential2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyCredentialAttestationResult :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyCredentialAttestationResult>
    {
        IKeyCredentialAttestationResult(std::nullptr_t = nullptr) noexcept {}
        IKeyCredentialAttestationResult(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyCredentialCacheConfiguration :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyCredentialCacheConfiguration>
    {
        IKeyCredentialCacheConfiguration(std::nullptr_t = nullptr) noexcept {}
        IKeyCredentialCacheConfiguration(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyCredentialCacheConfigurationFactory :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyCredentialCacheConfigurationFactory>
    {
        IKeyCredentialCacheConfigurationFactory(std::nullptr_t = nullptr) noexcept {}
        IKeyCredentialCacheConfigurationFactory(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyCredentialManagerCreateWithWindowStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyCredentialManagerCreateWithWindowStatics>
    {
        IKeyCredentialManagerCreateWithWindowStatics(std::nullptr_t = nullptr) noexcept {}
        IKeyCredentialManagerCreateWithWindowStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyCredentialManagerStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyCredentialManagerStatics>
    {
        IKeyCredentialManagerStatics(std::nullptr_t = nullptr) noexcept {}
        IKeyCredentialManagerStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyCredentialManagerStatics2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyCredentialManagerStatics2>,
        impl::require<winrt::Windows::Security::Credentials::IKeyCredentialManagerStatics2, winrt::Windows::Security::Credentials::IKeyCredentialManagerStatics>
    {
        IKeyCredentialManagerStatics2(std::nullptr_t = nullptr) noexcept {}
        IKeyCredentialManagerStatics2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
        using impl::consume_t<IKeyCredentialManagerStatics2, IKeyCredentialManagerStatics2>::OpenAsync;
        using impl::consume_t<IKeyCredentialManagerStatics2, winrt::Windows::Security::Credentials::IKeyCredentialManagerStatics>::OpenAsync;
        using impl::consume_t<IKeyCredentialManagerStatics2, IKeyCredentialManagerStatics2>::RequestCreateAsync;
        using impl::consume_t<IKeyCredentialManagerStatics2, winrt::Windows::Security::Credentials::IKeyCredentialManagerStatics>::RequestCreateAsync;
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyCredentialOperationResult :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyCredentialOperationResult>
    {
        IKeyCredentialOperationResult(std::nullptr_t = nullptr) noexcept {}
        IKeyCredentialOperationResult(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyCredentialRetrievalResult :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyCredentialRetrievalResult>
    {
        IKeyCredentialRetrievalResult(std::nullptr_t = nullptr) noexcept {}
        IKeyCredentialRetrievalResult(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyCredentialWithWindow :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyCredentialWithWindow>
    {
        IKeyCredentialWithWindow(std::nullptr_t = nullptr) noexcept {}
        IKeyCredentialWithWindow(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IPasswordCredential :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IPasswordCredential>
    {
        IPasswordCredential(std::nullptr_t = nullptr) noexcept {}
        IPasswordCredential(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IPasswordVault :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IPasswordVault>
    {
        IPasswordVault(std::nullptr_t = nullptr) noexcept {}
        IPasswordVault(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IWebAccount :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IWebAccount>
    {
        IWebAccount(std::nullptr_t = nullptr) noexcept {}
        IWebAccount(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IWebAccount2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IWebAccount2>,
        impl::require<winrt::Windows::Security::Credentials::IWebAccount2, winrt::Windows::Security::Credentials::IWebAccount>
    {
        IWebAccount2(std::nullptr_t = nullptr) noexcept {}
        IWebAccount2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IWebAccountFactory :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IWebAccountFactory>
    {
        IWebAccountFactory(std::nullptr_t = nullptr) noexcept {}
        IWebAccountFactory(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IWebAccountProvider :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IWebAccountProvider>
    {
        IWebAccountProvider(std::nullptr_t = nullptr) noexcept {}
        IWebAccountProvider(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IWebAccountProvider2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IWebAccountProvider2>,
        impl::require<winrt::Windows::Security::Credentials::IWebAccountProvider2, winrt::Windows::Security::Credentials::IWebAccountProvider>
    {
        IWebAccountProvider2(std::nullptr_t = nullptr) noexcept {}
        IWebAccountProvider2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IWebAccountProvider3 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IWebAccountProvider3>,
        impl::require<winrt::Windows::Security::Credentials::IWebAccountProvider3, winrt::Windows::Security::Credentials::IWebAccountProvider, winrt::Windows::Security::Credentials::IWebAccountProvider2>
    {
        IWebAccountProvider3(std::nullptr_t = nullptr) noexcept {}
        IWebAccountProvider3(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IWebAccountProvider4 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IWebAccountProvider4>
    {
        IWebAccountProvider4(std::nullptr_t = nullptr) noexcept {}
        IWebAccountProvider4(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IWebAccountProviderFactory :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IWebAccountProviderFactory>
    {
        IWebAccountProviderFactory(std::nullptr_t = nullptr) noexcept {}
        IWebAccountProviderFactory(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
}
#endif
