﻿// C++/WinRT v1.0.180821.2

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

#pragma once
#include "winrt/impl/Windows.Security.Cryptography.Certificates.0.h"
#include "winrt/impl/Windows.Storage.Streams.0.h"
#include "winrt/impl/Windows.Security.Cryptography.Core.0.h"

WINRT_EXPORT namespace winrt::Windows::Security::Cryptography::Core {

struct WINRT_EBO IAsymmetricAlgorithmNamesStatics :
    Windows::Foundation::IInspectable,
    impl::consume_t<IAsymmetricAlgorithmNamesStatics>
{
    IAsymmetricAlgorithmNamesStatics(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IAsymmetricAlgorithmNamesStatics2 :
    Windows::Foundation::IInspectable,
    impl::consume_t<IAsymmetricAlgorithmNamesStatics2>
{
    IAsymmetricAlgorithmNamesStatics2(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IAsymmetricKeyAlgorithmProvider :
    Windows::Foundation::IInspectable,
    impl::consume_t<IAsymmetricKeyAlgorithmProvider>
{
    IAsymmetricKeyAlgorithmProvider(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IAsymmetricKeyAlgorithmProvider2 :
    Windows::Foundation::IInspectable,
    impl::consume_t<IAsymmetricKeyAlgorithmProvider2>
{
    IAsymmetricKeyAlgorithmProvider2(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IAsymmetricKeyAlgorithmProviderStatics :
    Windows::Foundation::IInspectable,
    impl::consume_t<IAsymmetricKeyAlgorithmProviderStatics>
{
    IAsymmetricKeyAlgorithmProviderStatics(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO ICryptographicEngineStatics :
    Windows::Foundation::IInspectable,
    impl::consume_t<ICryptographicEngineStatics>
{
    ICryptographicEngineStatics(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO ICryptographicEngineStatics2 :
    Windows::Foundation::IInspectable,
    impl::consume_t<ICryptographicEngineStatics2>
{
    ICryptographicEngineStatics2(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO ICryptographicKey :
    Windows::Foundation::IInspectable,
    impl::consume_t<ICryptographicKey>
{
    ICryptographicKey(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IEccCurveNamesStatics :
    Windows::Foundation::IInspectable,
    impl::consume_t<IEccCurveNamesStatics>
{
    IEccCurveNamesStatics(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IEncryptedAndAuthenticatedData :
    Windows::Foundation::IInspectable,
    impl::consume_t<IEncryptedAndAuthenticatedData>
{
    IEncryptedAndAuthenticatedData(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IHashAlgorithmNamesStatics :
    Windows::Foundation::IInspectable,
    impl::consume_t<IHashAlgorithmNamesStatics>
{
    IHashAlgorithmNamesStatics(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IHashAlgorithmProvider :
    Windows::Foundation::IInspectable,
    impl::consume_t<IHashAlgorithmProvider>
{
    IHashAlgorithmProvider(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IHashAlgorithmProviderStatics :
    Windows::Foundation::IInspectable,
    impl::consume_t<IHashAlgorithmProviderStatics>
{
    IHashAlgorithmProviderStatics(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IHashComputation :
    Windows::Foundation::IInspectable,
    impl::consume_t<IHashComputation>
{
    IHashComputation(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IKeyDerivationAlgorithmNamesStatics :
    Windows::Foundation::IInspectable,
    impl::consume_t<IKeyDerivationAlgorithmNamesStatics>
{
    IKeyDerivationAlgorithmNamesStatics(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IKeyDerivationAlgorithmNamesStatics2 :
    Windows::Foundation::IInspectable,
    impl::consume_t<IKeyDerivationAlgorithmNamesStatics2>
{
    IKeyDerivationAlgorithmNamesStatics2(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IKeyDerivationAlgorithmProvider :
    Windows::Foundation::IInspectable,
    impl::consume_t<IKeyDerivationAlgorithmProvider>
{
    IKeyDerivationAlgorithmProvider(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IKeyDerivationAlgorithmProviderStatics :
    Windows::Foundation::IInspectable,
    impl::consume_t<IKeyDerivationAlgorithmProviderStatics>
{
    IKeyDerivationAlgorithmProviderStatics(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IKeyDerivationParameters :
    Windows::Foundation::IInspectable,
    impl::consume_t<IKeyDerivationParameters>
{
    IKeyDerivationParameters(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IKeyDerivationParameters2 :
    Windows::Foundation::IInspectable,
    impl::consume_t<IKeyDerivationParameters2>
{
    IKeyDerivationParameters2(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IKeyDerivationParametersStatics :
    Windows::Foundation::IInspectable,
    impl::consume_t<IKeyDerivationParametersStatics>
{
    IKeyDerivationParametersStatics(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IKeyDerivationParametersStatics2 :
    Windows::Foundation::IInspectable,
    impl::consume_t<IKeyDerivationParametersStatics2>
{
    IKeyDerivationParametersStatics2(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IMacAlgorithmNamesStatics :
    Windows::Foundation::IInspectable,
    impl::consume_t<IMacAlgorithmNamesStatics>
{
    IMacAlgorithmNamesStatics(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IMacAlgorithmProvider :
    Windows::Foundation::IInspectable,
    impl::consume_t<IMacAlgorithmProvider>
{
    IMacAlgorithmProvider(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IMacAlgorithmProvider2 :
    Windows::Foundation::IInspectable,
    impl::consume_t<IMacAlgorithmProvider2>
{
    IMacAlgorithmProvider2(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IMacAlgorithmProviderStatics :
    Windows::Foundation::IInspectable,
    impl::consume_t<IMacAlgorithmProviderStatics>
{
    IMacAlgorithmProviderStatics(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO IPersistedKeyProviderStatics :
    Windows::Foundation::IInspectable,
    impl::consume_t<IPersistedKeyProviderStatics>
{
    IPersistedKeyProviderStatics(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO ISymmetricAlgorithmNamesStatics :
    Windows::Foundation::IInspectable,
    impl::consume_t<ISymmetricAlgorithmNamesStatics>
{
    ISymmetricAlgorithmNamesStatics(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO ISymmetricKeyAlgorithmProvider :
    Windows::Foundation::IInspectable,
    impl::consume_t<ISymmetricKeyAlgorithmProvider>
{
    ISymmetricKeyAlgorithmProvider(std::nullptr_t = nullptr) noexcept {}
};

struct WINRT_EBO ISymmetricKeyAlgorithmProviderStatics :
    Windows::Foundation::IInspectable,
    impl::consume_t<ISymmetricKeyAlgorithmProviderStatics>
{
    ISymmetricKeyAlgorithmProviderStatics(std::nullptr_t = nullptr) noexcept {}
};

}
