// C++/WinRT v2.0.250303.1

// SPDX-License-Identifier: MIT OR Apache-2.0
// SPDX-FileCopyrightText: Copyright (c) Microsoft Corporation
//
// Generated using .winmd files from https://github.com/microsoft/windows-rs
//

#pragma once
#ifndef WINRT_Windows_Security_Cryptography_Core_1_H
#define WINRT_Windows_Security_Cryptography_Core_1_H
#include "winrt/impl/Windows.Security.Cryptography.Core.0.h"
WINRT_EXPORT namespace winrt::Windows::Security::Cryptography::Core
{
    struct WINRT_IMPL_EMPTY_BASES IAsymmetricAlgorithmNamesStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IAsymmetricAlgorithmNamesStatics>
    {
        IAsymmetricAlgorithmNamesStatics(std::nullptr_t = nullptr) noexcept {}
        IAsymmetricAlgorithmNamesStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IAsymmetricAlgorithmNamesStatics2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IAsymmetricAlgorithmNamesStatics2>
    {
        IAsymmetricAlgorithmNamesStatics2(std::nullptr_t = nullptr) noexcept {}
        IAsymmetricAlgorithmNamesStatics2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IAsymmetricKeyAlgorithmProvider :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IAsymmetricKeyAlgorithmProvider>
    {
        IAsymmetricKeyAlgorithmProvider(std::nullptr_t = nullptr) noexcept {}
        IAsymmetricKeyAlgorithmProvider(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IAsymmetricKeyAlgorithmProvider2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IAsymmetricKeyAlgorithmProvider2>
    {
        IAsymmetricKeyAlgorithmProvider2(std::nullptr_t = nullptr) noexcept {}
        IAsymmetricKeyAlgorithmProvider2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IAsymmetricKeyAlgorithmProviderStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IAsymmetricKeyAlgorithmProviderStatics>
    {
        IAsymmetricKeyAlgorithmProviderStatics(std::nullptr_t = nullptr) noexcept {}
        IAsymmetricKeyAlgorithmProviderStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES ICryptographicEngineStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<ICryptographicEngineStatics>
    {
        ICryptographicEngineStatics(std::nullptr_t = nullptr) noexcept {}
        ICryptographicEngineStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES ICryptographicEngineStatics2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<ICryptographicEngineStatics2>
    {
        ICryptographicEngineStatics2(std::nullptr_t = nullptr) noexcept {}
        ICryptographicEngineStatics2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES ICryptographicKey :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<ICryptographicKey>
    {
        ICryptographicKey(std::nullptr_t = nullptr) noexcept {}
        ICryptographicKey(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IEccCurveNamesStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IEccCurveNamesStatics>
    {
        IEccCurveNamesStatics(std::nullptr_t = nullptr) noexcept {}
        IEccCurveNamesStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IEncryptedAndAuthenticatedData :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IEncryptedAndAuthenticatedData>
    {
        IEncryptedAndAuthenticatedData(std::nullptr_t = nullptr) noexcept {}
        IEncryptedAndAuthenticatedData(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IHashAlgorithmNamesStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IHashAlgorithmNamesStatics>
    {
        IHashAlgorithmNamesStatics(std::nullptr_t = nullptr) noexcept {}
        IHashAlgorithmNamesStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IHashAlgorithmProvider :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IHashAlgorithmProvider>
    {
        IHashAlgorithmProvider(std::nullptr_t = nullptr) noexcept {}
        IHashAlgorithmProvider(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IHashAlgorithmProviderStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IHashAlgorithmProviderStatics>
    {
        IHashAlgorithmProviderStatics(std::nullptr_t = nullptr) noexcept {}
        IHashAlgorithmProviderStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IHashComputation :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IHashComputation>
    {
        IHashComputation(std::nullptr_t = nullptr) noexcept {}
        IHashComputation(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyDerivationAlgorithmNamesStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyDerivationAlgorithmNamesStatics>
    {
        IKeyDerivationAlgorithmNamesStatics(std::nullptr_t = nullptr) noexcept {}
        IKeyDerivationAlgorithmNamesStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyDerivationAlgorithmNamesStatics2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyDerivationAlgorithmNamesStatics2>
    {
        IKeyDerivationAlgorithmNamesStatics2(std::nullptr_t = nullptr) noexcept {}
        IKeyDerivationAlgorithmNamesStatics2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyDerivationAlgorithmProvider :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyDerivationAlgorithmProvider>
    {
        IKeyDerivationAlgorithmProvider(std::nullptr_t = nullptr) noexcept {}
        IKeyDerivationAlgorithmProvider(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyDerivationAlgorithmProviderStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyDerivationAlgorithmProviderStatics>
    {
        IKeyDerivationAlgorithmProviderStatics(std::nullptr_t = nullptr) noexcept {}
        IKeyDerivationAlgorithmProviderStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyDerivationParameters :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyDerivationParameters>
    {
        IKeyDerivationParameters(std::nullptr_t = nullptr) noexcept {}
        IKeyDerivationParameters(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyDerivationParameters2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyDerivationParameters2>
    {
        IKeyDerivationParameters2(std::nullptr_t = nullptr) noexcept {}
        IKeyDerivationParameters2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyDerivationParametersStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyDerivationParametersStatics>
    {
        IKeyDerivationParametersStatics(std::nullptr_t = nullptr) noexcept {}
        IKeyDerivationParametersStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IKeyDerivationParametersStatics2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IKeyDerivationParametersStatics2>
    {
        IKeyDerivationParametersStatics2(std::nullptr_t = nullptr) noexcept {}
        IKeyDerivationParametersStatics2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IMacAlgorithmNamesStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IMacAlgorithmNamesStatics>
    {
        IMacAlgorithmNamesStatics(std::nullptr_t = nullptr) noexcept {}
        IMacAlgorithmNamesStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IMacAlgorithmProvider :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IMacAlgorithmProvider>
    {
        IMacAlgorithmProvider(std::nullptr_t = nullptr) noexcept {}
        IMacAlgorithmProvider(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IMacAlgorithmProvider2 :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IMacAlgorithmProvider2>
    {
        IMacAlgorithmProvider2(std::nullptr_t = nullptr) noexcept {}
        IMacAlgorithmProvider2(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IMacAlgorithmProviderStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IMacAlgorithmProviderStatics>
    {
        IMacAlgorithmProviderStatics(std::nullptr_t = nullptr) noexcept {}
        IMacAlgorithmProviderStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES IPersistedKeyProviderStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<IPersistedKeyProviderStatics>
    {
        IPersistedKeyProviderStatics(std::nullptr_t = nullptr) noexcept {}
        IPersistedKeyProviderStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES ISymmetricAlgorithmNamesStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<ISymmetricAlgorithmNamesStatics>
    {
        ISymmetricAlgorithmNamesStatics(std::nullptr_t = nullptr) noexcept {}
        ISymmetricAlgorithmNamesStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES ISymmetricKeyAlgorithmProvider :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<ISymmetricKeyAlgorithmProvider>
    {
        ISymmetricKeyAlgorithmProvider(std::nullptr_t = nullptr) noexcept {}
        ISymmetricKeyAlgorithmProvider(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
    struct WINRT_IMPL_EMPTY_BASES ISymmetricKeyAlgorithmProviderStatics :
        winrt::Windows::Foundation::IInspectable,
        impl::consume_t<ISymmetricKeyAlgorithmProviderStatics>
    {
        ISymmetricKeyAlgorithmProviderStatics(std::nullptr_t = nullptr) noexcept {}
        ISymmetricKeyAlgorithmProviderStatics(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IInspectable(ptr, take_ownership_from_abi) {}
    };
}
#endif
