// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.250303.1

#pragma once
#ifndef WINRT_Microsoft_Graphics_Canvas_Effects_2_H
#define WINRT_Microsoft_Graphics_Canvas_Effects_2_H
#include "winrt/impl/Microsoft.Graphics.Canvas.2.h"
#include "winrt/impl/Windows.Foundation.2.h"
#include "winrt/impl/Windows.Foundation.Numerics.2.h"
#include "winrt/impl/Windows.Graphics.DirectX.2.h"
#include "winrt/impl/Windows.Graphics.Effects.2.h"
#include "winrt/impl/Windows.UI.2.h"
#include "winrt/impl/Microsoft.Graphics.Canvas.Effects.1.h"
WINRT_EXPORT namespace winrt::Microsoft::Graphics::Canvas::Effects
{
    struct ColorManagementSimpleProfile
    {
        winrt::Windows::Foundation::Numerics::float2 RedPrimary {};
        winrt::Windows::Foundation::Numerics::float2 GreenPrimary {};
        winrt::Windows::Foundation::Numerics::float2 BluePrimary {};
        winrt::Windows::Foundation::Numerics::float2 WhitePointXZ {};
        winrt::Microsoft::Graphics::Canvas::Effects::ColorManagementGamma Gamma {};
    };
    inline bool operator==(ColorManagementSimpleProfile const& left, ColorManagementSimpleProfile const& right) noexcept
    {
        return left.RedPrimary == right.RedPrimary && left.GreenPrimary == right.GreenPrimary && left.BluePrimary == right.BluePrimary && left.WhitePointXZ == right.WhitePointXZ && left.Gamma == right.Gamma;
    }
    inline bool operator!=(ColorManagementSimpleProfile const& left, ColorManagementSimpleProfile const& right) noexcept
    {
        return !(left == right);
    }
    struct Matrix5x4
    {
        float M11 {};
        float M12 {};
        float M13 {};
        float M14 {};
        float M21 {};
        float M22 {};
        float M23 {};
        float M24 {};
        float M31 {};
        float M32 {};
        float M33 {};
        float M34 {};
        float M41 {};
        float M42 {};
        float M43 {};
        float M44 {};
        float M51 {};
        float M52 {};
        float M53 {};
        float M54 {};
    };
    inline bool operator==(Matrix5x4 const& left, Matrix5x4 const& right) noexcept
    {
        return left.M11 == right.M11 && left.M12 == right.M12 && left.M13 == right.M13 && left.M14 == right.M14 && left.M21 == right.M21 && left.M22 == right.M22 && left.M23 == right.M23 && left.M24 == right.M24 && left.M31 == right.M31 && left.M32 == right.M32 && left.M33 == right.M33 && left.M34 == right.M34 && left.M41 == right.M41 && left.M42 == right.M42 && left.M43 == right.M43 && left.M44 == right.M44 && left.M51 == right.M51 && left.M52 == right.M52 && left.M53 == right.M53 && left.M54 == right.M54;
    }
    inline bool operator!=(Matrix5x4 const& left, Matrix5x4 const& right) noexcept
    {
        return !(left == right);
    }
    struct WINRT_IMPL_EMPTY_BASES AlphaMaskEffect : winrt::Microsoft::Graphics::Canvas::Effects::IAlphaMaskEffect
    {
        AlphaMaskEffect(std::nullptr_t) noexcept {}
        AlphaMaskEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IAlphaMaskEffect(ptr, take_ownership_from_abi) {}
        AlphaMaskEffect();
        [[nodiscard]] static auto IsSupported();
    };
    struct WINRT_IMPL_EMPTY_BASES ArithmeticCompositeEffect : winrt::Microsoft::Graphics::Canvas::Effects::IArithmeticCompositeEffect
    {
        ArithmeticCompositeEffect(std::nullptr_t) noexcept {}
        ArithmeticCompositeEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IArithmeticCompositeEffect(ptr, take_ownership_from_abi) {}
        ArithmeticCompositeEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES AtlasEffect : winrt::Microsoft::Graphics::Canvas::Effects::IAtlasEffect
    {
        AtlasEffect(std::nullptr_t) noexcept {}
        AtlasEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IAtlasEffect(ptr, take_ownership_from_abi) {}
        AtlasEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES BlendEffect : winrt::Microsoft::Graphics::Canvas::Effects::IBlendEffect
    {
        BlendEffect(std::nullptr_t) noexcept {}
        BlendEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IBlendEffect(ptr, take_ownership_from_abi) {}
        BlendEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES BorderEffect : winrt::Microsoft::Graphics::Canvas::Effects::IBorderEffect
    {
        BorderEffect(std::nullptr_t) noexcept {}
        BorderEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IBorderEffect(ptr, take_ownership_from_abi) {}
        BorderEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES BrightnessEffect : winrt::Microsoft::Graphics::Canvas::Effects::IBrightnessEffect
    {
        BrightnessEffect(std::nullptr_t) noexcept {}
        BrightnessEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IBrightnessEffect(ptr, take_ownership_from_abi) {}
        BrightnessEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES ChromaKeyEffect : winrt::Microsoft::Graphics::Canvas::Effects::IChromaKeyEffect
    {
        ChromaKeyEffect(std::nullptr_t) noexcept {}
        ChromaKeyEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IChromaKeyEffect(ptr, take_ownership_from_abi) {}
        ChromaKeyEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES ColorManagementEffect : winrt::Microsoft::Graphics::Canvas::Effects::IColorManagementEffect
    {
        ColorManagementEffect(std::nullptr_t) noexcept {}
        ColorManagementEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IColorManagementEffect(ptr, take_ownership_from_abi) {}
        ColorManagementEffect();
        static auto IsBestQualitySupported(winrt::Microsoft::Graphics::Canvas::CanvasDevice const& device);
    };
    struct WINRT_IMPL_EMPTY_BASES ColorManagementProfile : winrt::Microsoft::Graphics::Canvas::Effects::IColorManagementProfile
    {
        ColorManagementProfile(std::nullptr_t) noexcept {}
        ColorManagementProfile(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IColorManagementProfile(ptr, take_ownership_from_abi) {}
        explicit ColorManagementProfile(winrt::Microsoft::Graphics::Canvas::CanvasColorSpace const& colorSpace);
        static auto CreateCustom(array_view<uint8_t const> iccProfile);
        static auto CreateSimple(winrt::Microsoft::Graphics::Canvas::Effects::ColorManagementSimpleProfile const& simpleProfile);
        static auto CreateExtended(winrt::Microsoft::Graphics::Canvas::Effects::ExtendedColorSpace const& colorSpace);
        static auto IsSupported(winrt::Microsoft::Graphics::Canvas::Effects::ColorManagementProfileType const& type, winrt::Microsoft::Graphics::Canvas::CanvasDevice const& device);
    };
    struct WINRT_IMPL_EMPTY_BASES ColorMatrixEffect : winrt::Microsoft::Graphics::Canvas::Effects::IColorMatrixEffect
    {
        ColorMatrixEffect(std::nullptr_t) noexcept {}
        ColorMatrixEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IColorMatrixEffect(ptr, take_ownership_from_abi) {}
        ColorMatrixEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES ColorSourceEffect : winrt::Microsoft::Graphics::Canvas::Effects::IColorSourceEffect
    {
        ColorSourceEffect(std::nullptr_t) noexcept {}
        ColorSourceEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IColorSourceEffect(ptr, take_ownership_from_abi) {}
        ColorSourceEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES CompositeEffect : winrt::Microsoft::Graphics::Canvas::Effects::ICompositeEffect
    {
        CompositeEffect(std::nullptr_t) noexcept {}
        CompositeEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ICompositeEffect(ptr, take_ownership_from_abi) {}
        CompositeEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES ContrastEffect : winrt::Microsoft::Graphics::Canvas::Effects::IContrastEffect
    {
        ContrastEffect(std::nullptr_t) noexcept {}
        ContrastEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IContrastEffect(ptr, take_ownership_from_abi) {}
        ContrastEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES ConvolveMatrixEffect : winrt::Microsoft::Graphics::Canvas::Effects::IConvolveMatrixEffect
    {
        ConvolveMatrixEffect(std::nullptr_t) noexcept {}
        ConvolveMatrixEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IConvolveMatrixEffect(ptr, take_ownership_from_abi) {}
        ConvolveMatrixEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES CropEffect : winrt::Microsoft::Graphics::Canvas::Effects::ICropEffect
    {
        CropEffect(std::nullptr_t) noexcept {}
        CropEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ICropEffect(ptr, take_ownership_from_abi) {}
        CropEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES CrossFadeEffect : winrt::Microsoft::Graphics::Canvas::Effects::ICrossFadeEffect
    {
        CrossFadeEffect(std::nullptr_t) noexcept {}
        CrossFadeEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ICrossFadeEffect(ptr, take_ownership_from_abi) {}
        CrossFadeEffect();
        [[nodiscard]] static auto IsSupported();
    };
    struct WINRT_IMPL_EMPTY_BASES DirectionalBlurEffect : winrt::Microsoft::Graphics::Canvas::Effects::IDirectionalBlurEffect
    {
        DirectionalBlurEffect(std::nullptr_t) noexcept {}
        DirectionalBlurEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IDirectionalBlurEffect(ptr, take_ownership_from_abi) {}
        DirectionalBlurEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES DiscreteTransferEffect : winrt::Microsoft::Graphics::Canvas::Effects::IDiscreteTransferEffect
    {
        DiscreteTransferEffect(std::nullptr_t) noexcept {}
        DiscreteTransferEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IDiscreteTransferEffect(ptr, take_ownership_from_abi) {}
        DiscreteTransferEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES DisplacementMapEffect : winrt::Microsoft::Graphics::Canvas::Effects::IDisplacementMapEffect
    {
        DisplacementMapEffect(std::nullptr_t) noexcept {}
        DisplacementMapEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IDisplacementMapEffect(ptr, take_ownership_from_abi) {}
        DisplacementMapEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES DistantDiffuseEffect : winrt::Microsoft::Graphics::Canvas::Effects::IDistantDiffuseEffect
    {
        DistantDiffuseEffect(std::nullptr_t) noexcept {}
        DistantDiffuseEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IDistantDiffuseEffect(ptr, take_ownership_from_abi) {}
        DistantDiffuseEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES DistantSpecularEffect : winrt::Microsoft::Graphics::Canvas::Effects::IDistantSpecularEffect
    {
        DistantSpecularEffect(std::nullptr_t) noexcept {}
        DistantSpecularEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IDistantSpecularEffect(ptr, take_ownership_from_abi) {}
        DistantSpecularEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES DpiCompensationEffect : winrt::Microsoft::Graphics::Canvas::Effects::IDpiCompensationEffect
    {
        DpiCompensationEffect(std::nullptr_t) noexcept {}
        DpiCompensationEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IDpiCompensationEffect(ptr, take_ownership_from_abi) {}
        DpiCompensationEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES EdgeDetectionEffect : winrt::Microsoft::Graphics::Canvas::Effects::IEdgeDetectionEffect
    {
        EdgeDetectionEffect(std::nullptr_t) noexcept {}
        EdgeDetectionEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IEdgeDetectionEffect(ptr, take_ownership_from_abi) {}
        EdgeDetectionEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES EffectTransferTable3D : winrt::Microsoft::Graphics::Canvas::Effects::IEffectTransferTable3D
    {
        EffectTransferTable3D(std::nullptr_t) noexcept {}
        EffectTransferTable3D(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IEffectTransferTable3D(ptr, take_ownership_from_abi) {}
        static auto CreateFromColors(winrt::Microsoft::Graphics::Canvas::ICanvasResourceCreator const& resourceCreator, array_view<winrt::Windows::UI::Color const> colors, int32_t sizeB, int32_t sizeG, int32_t sizeR);
        static auto CreateFromBytes(winrt::Microsoft::Graphics::Canvas::ICanvasResourceCreator const& resourceCreator, array_view<uint8_t const> bytes, int32_t sizeB, int32_t sizeG, int32_t sizeR, winrt::Windows::Graphics::DirectX::DirectXPixelFormat const& format);
    };
    struct WINRT_IMPL_EMPTY_BASES EmbossEffect : winrt::Microsoft::Graphics::Canvas::Effects::IEmbossEffect
    {
        EmbossEffect(std::nullptr_t) noexcept {}
        EmbossEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IEmbossEffect(ptr, take_ownership_from_abi) {}
        EmbossEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES ExposureEffect : winrt::Microsoft::Graphics::Canvas::Effects::IExposureEffect
    {
        ExposureEffect(std::nullptr_t) noexcept {}
        ExposureEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IExposureEffect(ptr, take_ownership_from_abi) {}
        ExposureEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES GammaTransferEffect : winrt::Microsoft::Graphics::Canvas::Effects::IGammaTransferEffect
    {
        GammaTransferEffect(std::nullptr_t) noexcept {}
        GammaTransferEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IGammaTransferEffect(ptr, take_ownership_from_abi) {}
        GammaTransferEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES GaussianBlurEffect : winrt::Microsoft::Graphics::Canvas::Effects::IGaussianBlurEffect
    {
        GaussianBlurEffect(std::nullptr_t) noexcept {}
        GaussianBlurEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IGaussianBlurEffect(ptr, take_ownership_from_abi) {}
        GaussianBlurEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES GrayscaleEffect : winrt::Microsoft::Graphics::Canvas::Effects::IGrayscaleEffect
    {
        GrayscaleEffect(std::nullptr_t) noexcept {}
        GrayscaleEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IGrayscaleEffect(ptr, take_ownership_from_abi) {}
        GrayscaleEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES HighlightsAndShadowsEffect : winrt::Microsoft::Graphics::Canvas::Effects::IHighlightsAndShadowsEffect
    {
        HighlightsAndShadowsEffect(std::nullptr_t) noexcept {}
        HighlightsAndShadowsEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IHighlightsAndShadowsEffect(ptr, take_ownership_from_abi) {}
        HighlightsAndShadowsEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES HueRotationEffect : winrt::Microsoft::Graphics::Canvas::Effects::IHueRotationEffect
    {
        HueRotationEffect(std::nullptr_t) noexcept {}
        HueRotationEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IHueRotationEffect(ptr, take_ownership_from_abi) {}
        HueRotationEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES HueToRgbEffect : winrt::Microsoft::Graphics::Canvas::Effects::IHueToRgbEffect
    {
        HueToRgbEffect(std::nullptr_t) noexcept {}
        HueToRgbEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IHueToRgbEffect(ptr, take_ownership_from_abi) {}
        HueToRgbEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES InvertEffect : winrt::Microsoft::Graphics::Canvas::Effects::IInvertEffect
    {
        InvertEffect(std::nullptr_t) noexcept {}
        InvertEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IInvertEffect(ptr, take_ownership_from_abi) {}
        InvertEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES LinearTransferEffect : winrt::Microsoft::Graphics::Canvas::Effects::ILinearTransferEffect
    {
        LinearTransferEffect(std::nullptr_t) noexcept {}
        LinearTransferEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ILinearTransferEffect(ptr, take_ownership_from_abi) {}
        LinearTransferEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES LuminanceToAlphaEffect : winrt::Microsoft::Graphics::Canvas::Effects::ILuminanceToAlphaEffect
    {
        LuminanceToAlphaEffect(std::nullptr_t) noexcept {}
        LuminanceToAlphaEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ILuminanceToAlphaEffect(ptr, take_ownership_from_abi) {}
        LuminanceToAlphaEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES MorphologyEffect : winrt::Microsoft::Graphics::Canvas::Effects::IMorphologyEffect
    {
        MorphologyEffect(std::nullptr_t) noexcept {}
        MorphologyEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IMorphologyEffect(ptr, take_ownership_from_abi) {}
        MorphologyEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES OpacityEffect : winrt::Microsoft::Graphics::Canvas::Effects::IOpacityEffect
    {
        OpacityEffect(std::nullptr_t) noexcept {}
        OpacityEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IOpacityEffect(ptr, take_ownership_from_abi) {}
        OpacityEffect();
        [[nodiscard]] static auto IsSupported();
    };
    struct WINRT_IMPL_EMPTY_BASES OpacityMetadataEffect : winrt::Microsoft::Graphics::Canvas::Effects::IOpacityMetadataEffect
    {
        OpacityMetadataEffect(std::nullptr_t) noexcept {}
        OpacityMetadataEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IOpacityMetadataEffect(ptr, take_ownership_from_abi) {}
        OpacityMetadataEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES PixelShaderEffect : winrt::Microsoft::Graphics::Canvas::Effects::IPixelShaderEffect
    {
        PixelShaderEffect(std::nullptr_t) noexcept {}
        PixelShaderEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IPixelShaderEffect(ptr, take_ownership_from_abi) {}
        explicit PixelShaderEffect(array_view<uint8_t const> shaderCode);
    };
    struct WINRT_IMPL_EMPTY_BASES PointDiffuseEffect : winrt::Microsoft::Graphics::Canvas::Effects::IPointDiffuseEffect
    {
        PointDiffuseEffect(std::nullptr_t) noexcept {}
        PointDiffuseEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IPointDiffuseEffect(ptr, take_ownership_from_abi) {}
        PointDiffuseEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES PointSpecularEffect : winrt::Microsoft::Graphics::Canvas::Effects::IPointSpecularEffect
    {
        PointSpecularEffect(std::nullptr_t) noexcept {}
        PointSpecularEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IPointSpecularEffect(ptr, take_ownership_from_abi) {}
        PointSpecularEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES PosterizeEffect : winrt::Microsoft::Graphics::Canvas::Effects::IPosterizeEffect
    {
        PosterizeEffect(std::nullptr_t) noexcept {}
        PosterizeEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IPosterizeEffect(ptr, take_ownership_from_abi) {}
        PosterizeEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES PremultiplyEffect : winrt::Microsoft::Graphics::Canvas::Effects::IPremultiplyEffect
    {
        PremultiplyEffect(std::nullptr_t) noexcept {}
        PremultiplyEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IPremultiplyEffect(ptr, take_ownership_from_abi) {}
        PremultiplyEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES RgbToHueEffect : winrt::Microsoft::Graphics::Canvas::Effects::IRgbToHueEffect
    {
        RgbToHueEffect(std::nullptr_t) noexcept {}
        RgbToHueEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IRgbToHueEffect(ptr, take_ownership_from_abi) {}
        RgbToHueEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES SaturationEffect : winrt::Microsoft::Graphics::Canvas::Effects::ISaturationEffect
    {
        SaturationEffect(std::nullptr_t) noexcept {}
        SaturationEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ISaturationEffect(ptr, take_ownership_from_abi) {}
        SaturationEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES ScaleEffect : winrt::Microsoft::Graphics::Canvas::Effects::IScaleEffect
    {
        ScaleEffect(std::nullptr_t) noexcept {}
        ScaleEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IScaleEffect(ptr, take_ownership_from_abi) {}
        ScaleEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES SepiaEffect : winrt::Microsoft::Graphics::Canvas::Effects::ISepiaEffect
    {
        SepiaEffect(std::nullptr_t) noexcept {}
        SepiaEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ISepiaEffect(ptr, take_ownership_from_abi) {}
        SepiaEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES ShadowEffect : winrt::Microsoft::Graphics::Canvas::Effects::IShadowEffect
    {
        ShadowEffect(std::nullptr_t) noexcept {}
        ShadowEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IShadowEffect(ptr, take_ownership_from_abi) {}
        ShadowEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES SharpenEffect : winrt::Microsoft::Graphics::Canvas::Effects::ISharpenEffect
    {
        SharpenEffect(std::nullptr_t) noexcept {}
        SharpenEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ISharpenEffect(ptr, take_ownership_from_abi) {}
        SharpenEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES SpotDiffuseEffect : winrt::Microsoft::Graphics::Canvas::Effects::ISpotDiffuseEffect
    {
        SpotDiffuseEffect(std::nullptr_t) noexcept {}
        SpotDiffuseEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ISpotDiffuseEffect(ptr, take_ownership_from_abi) {}
        SpotDiffuseEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES SpotSpecularEffect : winrt::Microsoft::Graphics::Canvas::Effects::ISpotSpecularEffect
    {
        SpotSpecularEffect(std::nullptr_t) noexcept {}
        SpotSpecularEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ISpotSpecularEffect(ptr, take_ownership_from_abi) {}
        SpotSpecularEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES StraightenEffect : winrt::Microsoft::Graphics::Canvas::Effects::IStraightenEffect
    {
        StraightenEffect(std::nullptr_t) noexcept {}
        StraightenEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IStraightenEffect(ptr, take_ownership_from_abi) {}
        StraightenEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES TableTransfer3DEffect : winrt::Microsoft::Graphics::Canvas::Effects::ITableTransfer3DEffect
    {
        TableTransfer3DEffect(std::nullptr_t) noexcept {}
        TableTransfer3DEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ITableTransfer3DEffect(ptr, take_ownership_from_abi) {}
        TableTransfer3DEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES TableTransferEffect : winrt::Microsoft::Graphics::Canvas::Effects::ITableTransferEffect
    {
        TableTransferEffect(std::nullptr_t) noexcept {}
        TableTransferEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ITableTransferEffect(ptr, take_ownership_from_abi) {}
        TableTransferEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES TemperatureAndTintEffect : winrt::Microsoft::Graphics::Canvas::Effects::ITemperatureAndTintEffect
    {
        TemperatureAndTintEffect(std::nullptr_t) noexcept {}
        TemperatureAndTintEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ITemperatureAndTintEffect(ptr, take_ownership_from_abi) {}
        TemperatureAndTintEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES TileEffect : winrt::Microsoft::Graphics::Canvas::Effects::ITileEffect
    {
        TileEffect(std::nullptr_t) noexcept {}
        TileEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ITileEffect(ptr, take_ownership_from_abi) {}
        TileEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES TintEffect : winrt::Microsoft::Graphics::Canvas::Effects::ITintEffect
    {
        TintEffect(std::nullptr_t) noexcept {}
        TintEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ITintEffect(ptr, take_ownership_from_abi) {}
        TintEffect();
        [[nodiscard]] static auto IsSupported();
    };
    struct WINRT_IMPL_EMPTY_BASES Transform2DEffect : winrt::Microsoft::Graphics::Canvas::Effects::ITransform2DEffect
    {
        Transform2DEffect(std::nullptr_t) noexcept {}
        Transform2DEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ITransform2DEffect(ptr, take_ownership_from_abi) {}
        Transform2DEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES Transform3DEffect : winrt::Microsoft::Graphics::Canvas::Effects::ITransform3DEffect
    {
        Transform3DEffect(std::nullptr_t) noexcept {}
        Transform3DEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ITransform3DEffect(ptr, take_ownership_from_abi) {}
        Transform3DEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES TurbulenceEffect : winrt::Microsoft::Graphics::Canvas::Effects::ITurbulenceEffect
    {
        TurbulenceEffect(std::nullptr_t) noexcept {}
        TurbulenceEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::ITurbulenceEffect(ptr, take_ownership_from_abi) {}
        TurbulenceEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES UnPremultiplyEffect : winrt::Microsoft::Graphics::Canvas::Effects::IUnPremultiplyEffect
    {
        UnPremultiplyEffect(std::nullptr_t) noexcept {}
        UnPremultiplyEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IUnPremultiplyEffect(ptr, take_ownership_from_abi) {}
        UnPremultiplyEffect();
    };
    struct WINRT_IMPL_EMPTY_BASES VignetteEffect : winrt::Microsoft::Graphics::Canvas::Effects::IVignetteEffect
    {
        VignetteEffect(std::nullptr_t) noexcept {}
        VignetteEffect(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Microsoft::Graphics::Canvas::Effects::IVignetteEffect(ptr, take_ownership_from_abi) {}
        VignetteEffect();
    };
}
#endif
