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

#pragma once
#ifndef WINRT_Microsoft_UI_Xaml_Media_0_H
#define WINRT_Microsoft_UI_Xaml_Media_0_H
WINRT_EXPORT namespace winrt::Microsoft::UI::Composition
{
    struct AnimationPropertyInfo;
    struct CompositionBrush;
    enum class CompositionColorSpace : int32_t;
    struct CompositionLight;
    struct Compositor;
    struct ICompositionSupportsSystemBackdrop;
}
WINRT_EXPORT namespace winrt::Microsoft::UI::Composition::SystemBackdrops
{
    enum class MicaKind : int32_t;
    struct SystemBackdropConfiguration;
}
WINRT_EXPORT namespace winrt::Microsoft::UI::Xaml
{
    struct DependencyObject;
    struct DependencyProperty;
    struct ExceptionRoutedEventHandler;
    struct RoutedEventHandler;
    struct UIElement;
    struct UIElementWeakCollection;
    struct Window;
    struct XamlRoot;
}
WINRT_EXPORT namespace winrt::Microsoft::UI::Xaml::Media::Media3D
{
    struct Matrix3D;
}
WINRT_EXPORT namespace winrt::Windows::Foundation
{
    struct Deferral;
    template <typename T> struct WINRT_IMPL_EMPTY_BASES EventHandler;
    struct EventRegistrationToken;
    template <typename T> struct WINRT_IMPL_EMPTY_BASES IReference;
    struct Point;
    struct Rect;
    struct Size;
    template <typename TSender, typename TResult> struct WINRT_IMPL_EMPTY_BASES TypedEventHandler;
    struct Uri;
}
WINRT_EXPORT namespace winrt::Windows::Foundation::Collections
{
    template <typename T> struct WINRT_IMPL_EMPTY_BASES IVector;
}
WINRT_EXPORT namespace winrt::Windows::Storage::Streams
{
    struct IInputStream;
    struct IRandomAccessStream;
}
WINRT_EXPORT namespace winrt::Windows::UI
{
    struct Color;
}
WINRT_EXPORT namespace winrt::Microsoft::UI::Xaml::Media
{
    enum class AlignmentX : int32_t
    {
        Left = 0,
        Center = 1,
        Right = 2,
    };
    enum class AlignmentY : int32_t
    {
        Top = 0,
        Center = 1,
        Bottom = 2,
    };
    enum class BrushMappingMode : int32_t
    {
        Absolute = 0,
        RelativeToBoundingBox = 1,
    };
    enum class ColorInterpolationMode : int32_t
    {
        ScRgbLinearInterpolation = 0,
        SRgbLinearInterpolation = 1,
    };
    enum class ElementCompositeMode : int32_t
    {
        Inherit = 0,
        SourceOver = 1,
        MinBlend = 2,
    };
    enum class FastPlayFallbackBehaviour : int32_t
    {
        Skip = 0,
        Hide = 1,
        Disable = 2,
    };
    enum class FillRule : int32_t
    {
        EvenOdd = 0,
        Nonzero = 1,
    };
    enum class GradientSpreadMethod : int32_t
    {
        Pad = 0,
        Reflect = 1,
        Repeat = 2,
    };
    enum class LoadedImageSourceLoadStatus : int32_t
    {
        Success = 0,
        NetworkError = 1,
        InvalidFormat = 2,
        Other = 3,
    };
    enum class PenLineCap : int32_t
    {
        Flat = 0,
        Square = 1,
        Round = 2,
        Triangle = 3,
    };
    enum class PenLineJoin : int32_t
    {
        Miter = 0,
        Bevel = 1,
        Round = 2,
    };
    enum class Stretch : int32_t
    {
        None = 0,
        Fill = 1,
        Uniform = 2,
        UniformToFill = 3,
    };
    enum class StyleSimulations : int32_t
    {
        None = 0,
        BoldSimulation = 1,
        ItalicSimulation = 2,
        BoldItalicSimulation = 3,
    };
    enum class SweepDirection : int32_t
    {
        Counterclockwise = 0,
        Clockwise = 1,
    };
    struct IAcrylicBrush;
    struct IAcrylicBrush2;
    struct IAcrylicBrushFactory;
    struct IAcrylicBrushStatics;
    struct IAcrylicBrushStatics2;
    struct IArcSegment;
    struct IArcSegmentStatics;
    struct IBezierSegment;
    struct IBezierSegmentStatics;
    struct IBitmapCache;
    struct IBrush;
    struct IBrushFactory;
    struct IBrushOverrides;
    struct IBrushStatics;
    struct ICacheMode;
    struct ICacheModeFactory;
    struct ICompositeTransform;
    struct ICompositeTransformStatics;
    struct ICompositionTarget;
    struct ICompositionTargetStatics;
    struct IDesktopAcrylicBackdrop;
    struct IDesktopAcrylicBackdropFactory;
    struct IEllipseGeometry;
    struct IEllipseGeometryStatics;
    struct IFontFamily;
    struct IFontFamilyFactory;
    struct IFontFamilyStatics;
    struct IGeneralTransform;
    struct IGeneralTransformFactory;
    struct IGeneralTransformOverrides;
    struct IGeometry;
    struct IGeometryFactory;
    struct IGeometryGroup;
    struct IGeometryGroupStatics;
    struct IGeometryStatics;
    struct IGradientBrush;
    struct IGradientBrushFactory;
    struct IGradientBrushStatics;
    struct IGradientStop;
    struct IGradientStopStatics;
    struct IImageBrush;
    struct IImageBrushStatics;
    struct IImageSource;
    struct IImageSourceFactory;
    struct ILineGeometry;
    struct ILineGeometryStatics;
    struct ILineSegment;
    struct ILineSegmentStatics;
    struct ILinearGradientBrush;
    struct ILinearGradientBrushFactory;
    struct ILinearGradientBrushStatics;
    struct ILoadedImageSourceLoadCompletedEventArgs;
    struct ILoadedImageSurface;
    struct ILoadedImageSurfaceStatics;
    struct IMatrix3DProjection;
    struct IMatrix3DProjectionStatics;
    struct IMatrixHelper;
    struct IMatrixHelperStatics;
    struct IMatrixTransform;
    struct IMatrixTransformStatics;
    struct IMediaTransportControlsThumbnailRequestedEventArgs;
    struct IMicaBackdrop;
    struct IMicaBackdropFactory;
    struct IMicaBackdropStatics;
    struct IPathFigure;
    struct IPathFigureStatics;
    struct IPathGeometry;
    struct IPathGeometryStatics;
    struct IPathSegment;
    struct IPathSegmentFactory;
    struct IPlaneProjection;
    struct IPlaneProjectionStatics;
    struct IPolyBezierSegment;
    struct IPolyBezierSegmentStatics;
    struct IPolyLineSegment;
    struct IPolyLineSegmentStatics;
    struct IPolyQuadraticBezierSegment;
    struct IPolyQuadraticBezierSegmentStatics;
    struct IProjection;
    struct IProjectionFactory;
    struct IQuadraticBezierSegment;
    struct IQuadraticBezierSegmentStatics;
    struct IRadialGradientBrush;
    struct IRadialGradientBrushFactory;
    struct IRadialGradientBrushStatics;
    struct IRectangleGeometry;
    struct IRectangleGeometryStatics;
    struct IRenderedEventArgs;
    struct IRenderingEventArgs;
    struct IRotateTransform;
    struct IRotateTransformStatics;
    struct IScaleTransform;
    struct IScaleTransformStatics;
    struct IShadow;
    struct IShadowFactory;
    struct ISkewTransform;
    struct ISkewTransformStatics;
    struct ISolidColorBrush;
    struct ISolidColorBrushFactory;
    struct ISolidColorBrushStatics;
    struct ISystemBackdrop;
    struct ISystemBackdropFactory;
    struct ISystemBackdropOverrides;
    struct IThemeShadow;
    struct IThemeShadowFactory;
    struct ITileBrush;
    struct ITileBrushFactory;
    struct ITileBrushStatics;
    struct ITransform;
    struct ITransformFactory;
    struct ITransformGroup;
    struct ITransformGroupStatics;
    struct ITranslateTransform;
    struct ITranslateTransformStatics;
    struct IVisualTreeHelper;
    struct IVisualTreeHelperStatics;
    struct IXamlCompositionBrushBase;
    struct IXamlCompositionBrushBaseFactory;
    struct IXamlCompositionBrushBaseOverrides;
    struct IXamlCompositionBrushBaseProtected;
    struct IXamlCompositionBrushBaseStatics;
    struct IXamlLight;
    struct IXamlLightFactory;
    struct IXamlLightOverrides;
    struct IXamlLightProtected;
    struct IXamlLightStatics;
    struct AcrylicBrush;
    struct ArcSegment;
    struct BezierSegment;
    struct BitmapCache;
    struct Brush;
    struct BrushCollection;
    struct CacheMode;
    struct CompositeTransform;
    struct CompositionTarget;
    struct DesktopAcrylicBackdrop;
    struct DoubleCollection;
    struct EllipseGeometry;
    struct FontFamily;
    struct GeneralTransform;
    struct Geometry;
    struct GeometryCollection;
    struct GeometryGroup;
    struct GradientBrush;
    struct GradientStop;
    struct GradientStopCollection;
    struct ImageBrush;
    struct ImageSource;
    struct LineGeometry;
    struct LineSegment;
    struct LinearGradientBrush;
    struct LoadedImageSourceLoadCompletedEventArgs;
    struct LoadedImageSurface;
    struct Matrix3DProjection;
    struct MatrixHelper;
    struct MatrixTransform;
    struct MediaTransportControlsThumbnailRequestedEventArgs;
    struct MicaBackdrop;
    struct PathFigure;
    struct PathFigureCollection;
    struct PathGeometry;
    struct PathSegment;
    struct PathSegmentCollection;
    struct PlaneProjection;
    struct PointCollection;
    struct PolyBezierSegment;
    struct PolyLineSegment;
    struct PolyQuadraticBezierSegment;
    struct Projection;
    struct QuadraticBezierSegment;
    struct RadialGradientBrush;
    struct RectangleGeometry;
    struct RenderedEventArgs;
    struct RenderingEventArgs;
    struct RotateTransform;
    struct ScaleTransform;
    struct Shadow;
    struct SkewTransform;
    struct SolidColorBrush;
    struct SystemBackdrop;
    struct ThemeShadow;
    struct TileBrush;
    struct Transform;
    struct TransformCollection;
    struct TransformGroup;
    struct TranslateTransform;
    struct VisualTreeHelper;
    struct XamlCompositionBrushBase;
    struct XamlLight;
    struct Matrix;
}
namespace winrt::impl
{
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrush>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrush2>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrushFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrushStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrushStatics2>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IArcSegment>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IArcSegmentStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IBezierSegment>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IBezierSegmentStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IBitmapCache>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IBrush>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IBrushFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IBrushOverrides>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IBrushStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ICacheMode>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ICacheModeFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ICompositeTransform>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ICompositeTransformStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ICompositionTarget>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ICompositionTargetStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IDesktopAcrylicBackdrop>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IDesktopAcrylicBackdropFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IEllipseGeometry>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IEllipseGeometryStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IFontFamily>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IFontFamilyFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IFontFamilyStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IGeneralTransform>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IGeneralTransformFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IGeneralTransformOverrides>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IGeometry>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IGeometryFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IGeometryGroup>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IGeometryGroupStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IGeometryStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IGradientBrush>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IGradientBrushFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IGradientBrushStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IGradientStop>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IGradientStopStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IImageBrush>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IImageBrushStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IImageSource>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IImageSourceFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ILineGeometry>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ILineGeometryStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ILineSegment>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ILineSegmentStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrush>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrushFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrushStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSourceLoadCompletedEventArgs>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSurface>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSurfaceStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IMatrix3DProjection>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IMatrix3DProjectionStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IMatrixHelper>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IMatrixHelperStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IMatrixTransform>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IMatrixTransformStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IMediaTransportControlsThumbnailRequestedEventArgs>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IMicaBackdrop>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IMicaBackdropFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IMicaBackdropStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IPathFigure>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IPathFigureStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IPathGeometry>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IPathGeometryStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IPathSegment>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IPathSegmentFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IPlaneProjection>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IPlaneProjectionStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IPolyBezierSegment>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IPolyBezierSegmentStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IPolyLineSegment>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IPolyLineSegmentStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IPolyQuadraticBezierSegment>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IPolyQuadraticBezierSegmentStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IProjection>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IProjectionFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IQuadraticBezierSegment>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IQuadraticBezierSegmentStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrush>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrushFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrushStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IRectangleGeometry>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IRectangleGeometryStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IRenderedEventArgs>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IRenderingEventArgs>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IRotateTransform>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IRotateTransformStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IScaleTransform>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IScaleTransformStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IShadow>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IShadowFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ISkewTransform>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ISkewTransformStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ISolidColorBrush>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ISolidColorBrushFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ISolidColorBrushStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ISystemBackdrop>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ISystemBackdropFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ISystemBackdropOverrides>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IThemeShadow>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IThemeShadowFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ITileBrush>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ITileBrushFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ITileBrushStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ITransform>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ITransformFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ITransformGroup>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ITransformGroupStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ITranslateTransform>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ITranslateTransformStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IVisualTreeHelper>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IVisualTreeHelperStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBase>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseOverrides>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseProtected>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IXamlLight>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IXamlLightFactory>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IXamlLightOverrides>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IXamlLightProtected>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::IXamlLightStatics>{ using type = interface_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::AcrylicBrush>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ArcSegment>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::BezierSegment>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::BitmapCache>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::Brush>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::BrushCollection>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::CacheMode>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::CompositeTransform>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::CompositionTarget>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::DesktopAcrylicBackdrop>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::DoubleCollection>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::EllipseGeometry>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::FontFamily>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::GeneralTransform>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::Geometry>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::GeometryCollection>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::GeometryGroup>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::GradientBrush>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::GradientStop>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::GradientStopCollection>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ImageBrush>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ImageSource>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::LineGeometry>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::LineSegment>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::LinearGradientBrush>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::LoadedImageSourceLoadCompletedEventArgs>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::LoadedImageSurface>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::Matrix3DProjection>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::MatrixHelper>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::MatrixTransform>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::MediaTransportControlsThumbnailRequestedEventArgs>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::MicaBackdrop>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::PathFigure>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::PathFigureCollection>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::PathGeometry>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::PathSegment>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::PathSegmentCollection>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::PlaneProjection>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::PointCollection>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::PolyBezierSegment>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::PolyLineSegment>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::PolyQuadraticBezierSegment>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::Projection>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::QuadraticBezierSegment>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::RadialGradientBrush>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::RectangleGeometry>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::RenderedEventArgs>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::RenderingEventArgs>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::RotateTransform>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ScaleTransform>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::Shadow>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::SkewTransform>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::SolidColorBrush>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::SystemBackdrop>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ThemeShadow>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::TileBrush>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::Transform>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::TransformCollection>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::TransformGroup>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::TranslateTransform>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::VisualTreeHelper>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::XamlCompositionBrushBase>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::XamlLight>{ using type = class_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::AlignmentX>{ using type = enum_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::AlignmentY>{ using type = enum_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::BrushMappingMode>{ using type = enum_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ColorInterpolationMode>{ using type = enum_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::ElementCompositeMode>{ using type = enum_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::FastPlayFallbackBehaviour>{ using type = enum_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::FillRule>{ using type = enum_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::GradientSpreadMethod>{ using type = enum_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::LoadedImageSourceLoadStatus>{ using type = enum_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::PenLineCap>{ using type = enum_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::PenLineJoin>{ using type = enum_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::Stretch>{ using type = enum_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::StyleSimulations>{ using type = enum_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::SweepDirection>{ using type = enum_category; };
    template <> struct category<winrt::Microsoft::UI::Xaml::Media::Matrix>{ using type = struct_category<double, double, double, double, double, double>; };
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::AcrylicBrush> = L"Microsoft.UI.Xaml.Media.AcrylicBrush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ArcSegment> = L"Microsoft.UI.Xaml.Media.ArcSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::BezierSegment> = L"Microsoft.UI.Xaml.Media.BezierSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::BitmapCache> = L"Microsoft.UI.Xaml.Media.BitmapCache";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::Brush> = L"Microsoft.UI.Xaml.Media.Brush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::BrushCollection> = L"Microsoft.UI.Xaml.Media.BrushCollection";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::CacheMode> = L"Microsoft.UI.Xaml.Media.CacheMode";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::CompositeTransform> = L"Microsoft.UI.Xaml.Media.CompositeTransform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::CompositionTarget> = L"Microsoft.UI.Xaml.Media.CompositionTarget";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::DesktopAcrylicBackdrop> = L"Microsoft.UI.Xaml.Media.DesktopAcrylicBackdrop";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::DoubleCollection> = L"Microsoft.UI.Xaml.Media.DoubleCollection";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::EllipseGeometry> = L"Microsoft.UI.Xaml.Media.EllipseGeometry";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::FontFamily> = L"Microsoft.UI.Xaml.Media.FontFamily";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::GeneralTransform> = L"Microsoft.UI.Xaml.Media.GeneralTransform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::Geometry> = L"Microsoft.UI.Xaml.Media.Geometry";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::GeometryCollection> = L"Microsoft.UI.Xaml.Media.GeometryCollection";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::GeometryGroup> = L"Microsoft.UI.Xaml.Media.GeometryGroup";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::GradientBrush> = L"Microsoft.UI.Xaml.Media.GradientBrush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::GradientStop> = L"Microsoft.UI.Xaml.Media.GradientStop";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::GradientStopCollection> = L"Microsoft.UI.Xaml.Media.GradientStopCollection";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ImageBrush> = L"Microsoft.UI.Xaml.Media.ImageBrush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ImageSource> = L"Microsoft.UI.Xaml.Media.ImageSource";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::LineGeometry> = L"Microsoft.UI.Xaml.Media.LineGeometry";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::LineSegment> = L"Microsoft.UI.Xaml.Media.LineSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::LinearGradientBrush> = L"Microsoft.UI.Xaml.Media.LinearGradientBrush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::LoadedImageSourceLoadCompletedEventArgs> = L"Microsoft.UI.Xaml.Media.LoadedImageSourceLoadCompletedEventArgs";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::LoadedImageSurface> = L"Microsoft.UI.Xaml.Media.LoadedImageSurface";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::Matrix3DProjection> = L"Microsoft.UI.Xaml.Media.Matrix3DProjection";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::MatrixHelper> = L"Microsoft.UI.Xaml.Media.MatrixHelper";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::MatrixTransform> = L"Microsoft.UI.Xaml.Media.MatrixTransform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::MediaTransportControlsThumbnailRequestedEventArgs> = L"Microsoft.UI.Xaml.Media.MediaTransportControlsThumbnailRequestedEventArgs";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::MicaBackdrop> = L"Microsoft.UI.Xaml.Media.MicaBackdrop";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::PathFigure> = L"Microsoft.UI.Xaml.Media.PathFigure";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::PathFigureCollection> = L"Microsoft.UI.Xaml.Media.PathFigureCollection";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::PathGeometry> = L"Microsoft.UI.Xaml.Media.PathGeometry";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::PathSegment> = L"Microsoft.UI.Xaml.Media.PathSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::PathSegmentCollection> = L"Microsoft.UI.Xaml.Media.PathSegmentCollection";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::PlaneProjection> = L"Microsoft.UI.Xaml.Media.PlaneProjection";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::PointCollection> = L"Microsoft.UI.Xaml.Media.PointCollection";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::PolyBezierSegment> = L"Microsoft.UI.Xaml.Media.PolyBezierSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::PolyLineSegment> = L"Microsoft.UI.Xaml.Media.PolyLineSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::PolyQuadraticBezierSegment> = L"Microsoft.UI.Xaml.Media.PolyQuadraticBezierSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::Projection> = L"Microsoft.UI.Xaml.Media.Projection";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::QuadraticBezierSegment> = L"Microsoft.UI.Xaml.Media.QuadraticBezierSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::RadialGradientBrush> = L"Microsoft.UI.Xaml.Media.RadialGradientBrush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::RectangleGeometry> = L"Microsoft.UI.Xaml.Media.RectangleGeometry";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::RenderedEventArgs> = L"Microsoft.UI.Xaml.Media.RenderedEventArgs";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::RenderingEventArgs> = L"Microsoft.UI.Xaml.Media.RenderingEventArgs";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::RotateTransform> = L"Microsoft.UI.Xaml.Media.RotateTransform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ScaleTransform> = L"Microsoft.UI.Xaml.Media.ScaleTransform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::Shadow> = L"Microsoft.UI.Xaml.Media.Shadow";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::SkewTransform> = L"Microsoft.UI.Xaml.Media.SkewTransform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::SolidColorBrush> = L"Microsoft.UI.Xaml.Media.SolidColorBrush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::SystemBackdrop> = L"Microsoft.UI.Xaml.Media.SystemBackdrop";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ThemeShadow> = L"Microsoft.UI.Xaml.Media.ThemeShadow";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::TileBrush> = L"Microsoft.UI.Xaml.Media.TileBrush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::Transform> = L"Microsoft.UI.Xaml.Media.Transform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::TransformCollection> = L"Microsoft.UI.Xaml.Media.TransformCollection";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::TransformGroup> = L"Microsoft.UI.Xaml.Media.TransformGroup";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::TranslateTransform> = L"Microsoft.UI.Xaml.Media.TranslateTransform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::VisualTreeHelper> = L"Microsoft.UI.Xaml.Media.VisualTreeHelper";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::XamlCompositionBrushBase> = L"Microsoft.UI.Xaml.Media.XamlCompositionBrushBase";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::XamlLight> = L"Microsoft.UI.Xaml.Media.XamlLight";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::AlignmentX> = L"Microsoft.UI.Xaml.Media.AlignmentX";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::AlignmentY> = L"Microsoft.UI.Xaml.Media.AlignmentY";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::BrushMappingMode> = L"Microsoft.UI.Xaml.Media.BrushMappingMode";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ColorInterpolationMode> = L"Microsoft.UI.Xaml.Media.ColorInterpolationMode";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ElementCompositeMode> = L"Microsoft.UI.Xaml.Media.ElementCompositeMode";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::FastPlayFallbackBehaviour> = L"Microsoft.UI.Xaml.Media.FastPlayFallbackBehaviour";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::FillRule> = L"Microsoft.UI.Xaml.Media.FillRule";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::GradientSpreadMethod> = L"Microsoft.UI.Xaml.Media.GradientSpreadMethod";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::LoadedImageSourceLoadStatus> = L"Microsoft.UI.Xaml.Media.LoadedImageSourceLoadStatus";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::PenLineCap> = L"Microsoft.UI.Xaml.Media.PenLineCap";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::PenLineJoin> = L"Microsoft.UI.Xaml.Media.PenLineJoin";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::Stretch> = L"Microsoft.UI.Xaml.Media.Stretch";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::StyleSimulations> = L"Microsoft.UI.Xaml.Media.StyleSimulations";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::SweepDirection> = L"Microsoft.UI.Xaml.Media.SweepDirection";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::Matrix> = L"Microsoft.UI.Xaml.Media.Matrix";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrush> = L"Microsoft.UI.Xaml.Media.IAcrylicBrush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrush2> = L"Microsoft.UI.Xaml.Media.IAcrylicBrush2";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrushFactory> = L"Microsoft.UI.Xaml.Media.IAcrylicBrushFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrushStatics> = L"Microsoft.UI.Xaml.Media.IAcrylicBrushStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrushStatics2> = L"Microsoft.UI.Xaml.Media.IAcrylicBrushStatics2";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IArcSegment> = L"Microsoft.UI.Xaml.Media.IArcSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IArcSegmentStatics> = L"Microsoft.UI.Xaml.Media.IArcSegmentStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IBezierSegment> = L"Microsoft.UI.Xaml.Media.IBezierSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IBezierSegmentStatics> = L"Microsoft.UI.Xaml.Media.IBezierSegmentStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IBitmapCache> = L"Microsoft.UI.Xaml.Media.IBitmapCache";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IBrush> = L"Microsoft.UI.Xaml.Media.IBrush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IBrushFactory> = L"Microsoft.UI.Xaml.Media.IBrushFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IBrushOverrides> = L"Microsoft.UI.Xaml.Media.IBrushOverrides";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IBrushStatics> = L"Microsoft.UI.Xaml.Media.IBrushStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ICacheMode> = L"Microsoft.UI.Xaml.Media.ICacheMode";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ICacheModeFactory> = L"Microsoft.UI.Xaml.Media.ICacheModeFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ICompositeTransform> = L"Microsoft.UI.Xaml.Media.ICompositeTransform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ICompositeTransformStatics> = L"Microsoft.UI.Xaml.Media.ICompositeTransformStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ICompositionTarget> = L"Microsoft.UI.Xaml.Media.ICompositionTarget";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ICompositionTargetStatics> = L"Microsoft.UI.Xaml.Media.ICompositionTargetStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IDesktopAcrylicBackdrop> = L"Microsoft.UI.Xaml.Media.IDesktopAcrylicBackdrop";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IDesktopAcrylicBackdropFactory> = L"Microsoft.UI.Xaml.Media.IDesktopAcrylicBackdropFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IEllipseGeometry> = L"Microsoft.UI.Xaml.Media.IEllipseGeometry";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IEllipseGeometryStatics> = L"Microsoft.UI.Xaml.Media.IEllipseGeometryStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IFontFamily> = L"Microsoft.UI.Xaml.Media.IFontFamily";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IFontFamilyFactory> = L"Microsoft.UI.Xaml.Media.IFontFamilyFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IFontFamilyStatics> = L"Microsoft.UI.Xaml.Media.IFontFamilyStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IGeneralTransform> = L"Microsoft.UI.Xaml.Media.IGeneralTransform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IGeneralTransformFactory> = L"Microsoft.UI.Xaml.Media.IGeneralTransformFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IGeneralTransformOverrides> = L"Microsoft.UI.Xaml.Media.IGeneralTransformOverrides";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IGeometry> = L"Microsoft.UI.Xaml.Media.IGeometry";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IGeometryFactory> = L"Microsoft.UI.Xaml.Media.IGeometryFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IGeometryGroup> = L"Microsoft.UI.Xaml.Media.IGeometryGroup";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IGeometryGroupStatics> = L"Microsoft.UI.Xaml.Media.IGeometryGroupStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IGeometryStatics> = L"Microsoft.UI.Xaml.Media.IGeometryStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IGradientBrush> = L"Microsoft.UI.Xaml.Media.IGradientBrush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IGradientBrushFactory> = L"Microsoft.UI.Xaml.Media.IGradientBrushFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IGradientBrushStatics> = L"Microsoft.UI.Xaml.Media.IGradientBrushStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IGradientStop> = L"Microsoft.UI.Xaml.Media.IGradientStop";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IGradientStopStatics> = L"Microsoft.UI.Xaml.Media.IGradientStopStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IImageBrush> = L"Microsoft.UI.Xaml.Media.IImageBrush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IImageBrushStatics> = L"Microsoft.UI.Xaml.Media.IImageBrushStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IImageSource> = L"Microsoft.UI.Xaml.Media.IImageSource";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IImageSourceFactory> = L"Microsoft.UI.Xaml.Media.IImageSourceFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ILineGeometry> = L"Microsoft.UI.Xaml.Media.ILineGeometry";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ILineGeometryStatics> = L"Microsoft.UI.Xaml.Media.ILineGeometryStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ILineSegment> = L"Microsoft.UI.Xaml.Media.ILineSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ILineSegmentStatics> = L"Microsoft.UI.Xaml.Media.ILineSegmentStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrush> = L"Microsoft.UI.Xaml.Media.ILinearGradientBrush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrushFactory> = L"Microsoft.UI.Xaml.Media.ILinearGradientBrushFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrushStatics> = L"Microsoft.UI.Xaml.Media.ILinearGradientBrushStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSourceLoadCompletedEventArgs> = L"Microsoft.UI.Xaml.Media.ILoadedImageSourceLoadCompletedEventArgs";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSurface> = L"Microsoft.UI.Xaml.Media.ILoadedImageSurface";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSurfaceStatics> = L"Microsoft.UI.Xaml.Media.ILoadedImageSurfaceStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IMatrix3DProjection> = L"Microsoft.UI.Xaml.Media.IMatrix3DProjection";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IMatrix3DProjectionStatics> = L"Microsoft.UI.Xaml.Media.IMatrix3DProjectionStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IMatrixHelper> = L"Microsoft.UI.Xaml.Media.IMatrixHelper";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IMatrixHelperStatics> = L"Microsoft.UI.Xaml.Media.IMatrixHelperStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IMatrixTransform> = L"Microsoft.UI.Xaml.Media.IMatrixTransform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IMatrixTransformStatics> = L"Microsoft.UI.Xaml.Media.IMatrixTransformStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IMediaTransportControlsThumbnailRequestedEventArgs> = L"Microsoft.UI.Xaml.Media.IMediaTransportControlsThumbnailRequestedEventArgs";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IMicaBackdrop> = L"Microsoft.UI.Xaml.Media.IMicaBackdrop";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IMicaBackdropFactory> = L"Microsoft.UI.Xaml.Media.IMicaBackdropFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IMicaBackdropStatics> = L"Microsoft.UI.Xaml.Media.IMicaBackdropStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IPathFigure> = L"Microsoft.UI.Xaml.Media.IPathFigure";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IPathFigureStatics> = L"Microsoft.UI.Xaml.Media.IPathFigureStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IPathGeometry> = L"Microsoft.UI.Xaml.Media.IPathGeometry";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IPathGeometryStatics> = L"Microsoft.UI.Xaml.Media.IPathGeometryStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IPathSegment> = L"Microsoft.UI.Xaml.Media.IPathSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IPathSegmentFactory> = L"Microsoft.UI.Xaml.Media.IPathSegmentFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IPlaneProjection> = L"Microsoft.UI.Xaml.Media.IPlaneProjection";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IPlaneProjectionStatics> = L"Microsoft.UI.Xaml.Media.IPlaneProjectionStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IPolyBezierSegment> = L"Microsoft.UI.Xaml.Media.IPolyBezierSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IPolyBezierSegmentStatics> = L"Microsoft.UI.Xaml.Media.IPolyBezierSegmentStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IPolyLineSegment> = L"Microsoft.UI.Xaml.Media.IPolyLineSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IPolyLineSegmentStatics> = L"Microsoft.UI.Xaml.Media.IPolyLineSegmentStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IPolyQuadraticBezierSegment> = L"Microsoft.UI.Xaml.Media.IPolyQuadraticBezierSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IPolyQuadraticBezierSegmentStatics> = L"Microsoft.UI.Xaml.Media.IPolyQuadraticBezierSegmentStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IProjection> = L"Microsoft.UI.Xaml.Media.IProjection";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IProjectionFactory> = L"Microsoft.UI.Xaml.Media.IProjectionFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IQuadraticBezierSegment> = L"Microsoft.UI.Xaml.Media.IQuadraticBezierSegment";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IQuadraticBezierSegmentStatics> = L"Microsoft.UI.Xaml.Media.IQuadraticBezierSegmentStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrush> = L"Microsoft.UI.Xaml.Media.IRadialGradientBrush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrushFactory> = L"Microsoft.UI.Xaml.Media.IRadialGradientBrushFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrushStatics> = L"Microsoft.UI.Xaml.Media.IRadialGradientBrushStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IRectangleGeometry> = L"Microsoft.UI.Xaml.Media.IRectangleGeometry";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IRectangleGeometryStatics> = L"Microsoft.UI.Xaml.Media.IRectangleGeometryStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IRenderedEventArgs> = L"Microsoft.UI.Xaml.Media.IRenderedEventArgs";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IRenderingEventArgs> = L"Microsoft.UI.Xaml.Media.IRenderingEventArgs";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IRotateTransform> = L"Microsoft.UI.Xaml.Media.IRotateTransform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IRotateTransformStatics> = L"Microsoft.UI.Xaml.Media.IRotateTransformStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IScaleTransform> = L"Microsoft.UI.Xaml.Media.IScaleTransform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IScaleTransformStatics> = L"Microsoft.UI.Xaml.Media.IScaleTransformStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IShadow> = L"Microsoft.UI.Xaml.Media.IShadow";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IShadowFactory> = L"Microsoft.UI.Xaml.Media.IShadowFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ISkewTransform> = L"Microsoft.UI.Xaml.Media.ISkewTransform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ISkewTransformStatics> = L"Microsoft.UI.Xaml.Media.ISkewTransformStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ISolidColorBrush> = L"Microsoft.UI.Xaml.Media.ISolidColorBrush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ISolidColorBrushFactory> = L"Microsoft.UI.Xaml.Media.ISolidColorBrushFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ISolidColorBrushStatics> = L"Microsoft.UI.Xaml.Media.ISolidColorBrushStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ISystemBackdrop> = L"Microsoft.UI.Xaml.Media.ISystemBackdrop";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ISystemBackdropFactory> = L"Microsoft.UI.Xaml.Media.ISystemBackdropFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ISystemBackdropOverrides> = L"Microsoft.UI.Xaml.Media.ISystemBackdropOverrides";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IThemeShadow> = L"Microsoft.UI.Xaml.Media.IThemeShadow";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IThemeShadowFactory> = L"Microsoft.UI.Xaml.Media.IThemeShadowFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ITileBrush> = L"Microsoft.UI.Xaml.Media.ITileBrush";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ITileBrushFactory> = L"Microsoft.UI.Xaml.Media.ITileBrushFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ITileBrushStatics> = L"Microsoft.UI.Xaml.Media.ITileBrushStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ITransform> = L"Microsoft.UI.Xaml.Media.ITransform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ITransformFactory> = L"Microsoft.UI.Xaml.Media.ITransformFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ITransformGroup> = L"Microsoft.UI.Xaml.Media.ITransformGroup";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ITransformGroupStatics> = L"Microsoft.UI.Xaml.Media.ITransformGroupStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ITranslateTransform> = L"Microsoft.UI.Xaml.Media.ITranslateTransform";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::ITranslateTransformStatics> = L"Microsoft.UI.Xaml.Media.ITranslateTransformStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IVisualTreeHelper> = L"Microsoft.UI.Xaml.Media.IVisualTreeHelper";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IVisualTreeHelperStatics> = L"Microsoft.UI.Xaml.Media.IVisualTreeHelperStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBase> = L"Microsoft.UI.Xaml.Media.IXamlCompositionBrushBase";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseFactory> = L"Microsoft.UI.Xaml.Media.IXamlCompositionBrushBaseFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseOverrides> = L"Microsoft.UI.Xaml.Media.IXamlCompositionBrushBaseOverrides";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseProtected> = L"Microsoft.UI.Xaml.Media.IXamlCompositionBrushBaseProtected";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseStatics> = L"Microsoft.UI.Xaml.Media.IXamlCompositionBrushBaseStatics";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IXamlLight> = L"Microsoft.UI.Xaml.Media.IXamlLight";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IXamlLightFactory> = L"Microsoft.UI.Xaml.Media.IXamlLightFactory";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IXamlLightOverrides> = L"Microsoft.UI.Xaml.Media.IXamlLightOverrides";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IXamlLightProtected> = L"Microsoft.UI.Xaml.Media.IXamlLightProtected";
    template <> inline constexpr auto& name_v<winrt::Microsoft::UI::Xaml::Media::IXamlLightStatics> = L"Microsoft.UI.Xaml.Media.IXamlLightStatics";
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrush>{ 0x3A8C760A,0x941F,0x58BC,{ 0xA6,0xD4,0xAA,0x7A,0x0D,0xD1,0xD0,0x36 } }; // 3A8C760A-941F-58BC-A6D4-AA7A0DD1D036
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrush2>{ 0x23FAD570,0x43ED,0x5A73,{ 0x9D,0xE7,0xA3,0x03,0x55,0x3D,0x54,0x14 } }; // 23FAD570-43ED-5A73-9DE7-A303553D5414
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrushFactory>{ 0x80173353,0x611D,0x5A02,{ 0x88,0x64,0x1A,0xAA,0x27,0x9D,0xFF,0x1C } }; // 80173353-611D-5A02-8864-1AAA279DFF1C
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrushStatics>{ 0x9D9D366B,0x00A3,0x5F3E,{ 0x98,0xB8,0x1D,0xF7,0xFE,0xC1,0x82,0x8C } }; // 9D9D366B-00A3-5F3E-98B8-1DF7FEC1828C
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrushStatics2>{ 0x6E3EB0BD,0x20A1,0x52EA,{ 0xAE,0xDE,0x47,0x80,0x61,0x01,0x22,0x79 } }; // 6E3EB0BD-20A1-52EA-AEDE-478061012279
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IArcSegment>{ 0x6B7CE02B,0x87BE,0x5ACB,{ 0x9D,0x3B,0xC9,0x96,0x4C,0x69,0x62,0xD0 } }; // 6B7CE02B-87BE-5ACB-9D3B-C9964C6962D0
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IArcSegmentStatics>{ 0x5BA7CCB3,0x5BC7,0x5038,{ 0x99,0xC5,0x93,0xDC,0x73,0x02,0x30,0xCF } }; // 5BA7CCB3-5BC7-5038-99C5-93DC730230CF
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IBezierSegment>{ 0x0F36BADE,0x892E,0x51FE,{ 0xB9,0x4A,0x38,0x75,0xE8,0x6F,0xEA,0xAE } }; // 0F36BADE-892E-51FE-B94A-3875E86FEAAE
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IBezierSegmentStatics>{ 0x98E74D5C,0xC97A,0x50B0,{ 0xAE,0x0E,0xD4,0x36,0xDC,0x9D,0xF1,0x6D } }; // 98E74D5C-C97A-50B0-AE0E-D436DC9DF16D
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IBitmapCache>{ 0x4B3A8983,0x27A2,0x592A,{ 0xBD,0xA4,0x27,0x04,0x31,0xEA,0xE0,0x38 } }; // 4B3A8983-27A2-592A-BDA4-270431EAE038
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IBrush>{ 0x2DE3CB83,0x1329,0x5679,{ 0x88,0xF8,0xC8,0x22,0xBC,0x54,0x42,0xCB } }; // 2DE3CB83-1329-5679-88F8-C822BC5442CB
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IBrushFactory>{ 0xB5258717,0x6C49,0x5BA5,{ 0x87,0xFD,0x35,0xDF,0x38,0x26,0x47,0xA5 } }; // B5258717-6C49-5BA5-87FD-35DF382647A5
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IBrushOverrides>{ 0xB6B08394,0xBACF,0x53DB,{ 0x9A,0xC7,0xBE,0x1C,0x69,0x3E,0x35,0x13 } }; // B6B08394-BACF-53DB-9AC7-BE1C693E3513
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IBrushStatics>{ 0x5B854F50,0xF818,0x5F01,{ 0x91,0xB0,0x28,0x13,0x2D,0x3F,0x59,0x57 } }; // 5B854F50-F818-5F01-91B0-28132D3F5957
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ICacheMode>{ 0x2FF1A1CB,0x0F48,0x53FD,{ 0xB1,0xDE,0xE2,0x22,0x3D,0xFB,0x2F,0xF6 } }; // 2FF1A1CB-0F48-53FD-B1DE-E2223DFB2FF6
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ICacheModeFactory>{ 0xE257811E,0xDCC5,0x51D8,{ 0x82,0x9A,0x3E,0x94,0x00,0x19,0x8A,0x41 } }; // E257811E-DCC5-51D8-829A-3E9400198A41
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ICompositeTransform>{ 0x55C5F8F3,0x20E4,0x5B80,{ 0xA0,0x46,0xCE,0x4D,0x0F,0x62,0xF2,0xFE } }; // 55C5F8F3-20E4-5B80-A046-CE4D0F62F2FE
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ICompositeTransformStatics>{ 0x7701385B,0x8EAB,0x5071,{ 0xBF,0xA5,0xB4,0x53,0xE1,0xE5,0x2B,0x43 } }; // 7701385B-8EAB-5071-BFA5-B453E1E52B43
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ICompositionTarget>{ 0x7D938324,0xE3AD,0x597C,{ 0x93,0xF6,0x52,0x07,0x25,0x41,0x0E,0x68 } }; // 7D938324-E3AD-597C-93F6-520725410E68
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ICompositionTargetStatics>{ 0x12A4BE6F,0x6DB1,0x5165,{ 0xB6,0x22,0xD5,0x7A,0xB7,0x82,0x74,0x5B } }; // 12A4BE6F-6DB1-5165-B622-D57AB782745B
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IDesktopAcrylicBackdrop>{ 0xBFD9915B,0x82A6,0x5DF6,{ 0xAF,0xF0,0xA4,0x82,0x4D,0xDC,0x11,0x43 } }; // BFD9915B-82A6-5DF6-AFF0-A4824DDC1143
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IDesktopAcrylicBackdropFactory>{ 0x00922E6D,0xAE51,0x564A,{ 0xBC,0xE2,0x19,0x73,0xD5,0xE4,0x63,0xDD } }; // 00922E6D-AE51-564A-BCE2-1973D5E463DD
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IEllipseGeometry>{ 0xABABD262,0xD8E4,0x5B49,{ 0xBC,0xE9,0x01,0x08,0xA5,0x20,0x9D,0x45 } }; // ABABD262-D8E4-5B49-BCE9-0108A5209D45
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IEllipseGeometryStatics>{ 0xE8A33C80,0xD72F,0x5248,{ 0xA7,0x1F,0x4B,0x70,0xA0,0x75,0x7F,0x89 } }; // E8A33C80-D72F-5248-A71F-4B70A0757F89
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IFontFamily>{ 0x18FA5BC1,0x7294,0x527C,{ 0xBB,0x02,0xB2,0x13,0xE0,0xB3,0xA2,0xA3 } }; // 18FA5BC1-7294-527C-BB02-B213E0B3A2A3
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IFontFamilyFactory>{ 0x61B88A77,0xD0F9,0x5E9E,{ 0x8C,0x28,0xED,0xA0,0x1F,0xED,0xE2,0x2E } }; // 61B88A77-D0F9-5E9E-8C28-EDA01FEDE22E
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IFontFamilyStatics>{ 0xB3EADCEB,0xC471,0x58FE,{ 0x93,0xD0,0xD7,0x1B,0x04,0xA7,0xFD,0x54 } }; // B3EADCEB-C471-58FE-93D0-D71B04A7FD54
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IGeneralTransform>{ 0x04EEDEEB,0x31E5,0x54C0,{ 0xAE,0x3F,0x8B,0xD0,0x66,0x45,0xD3,0x39 } }; // 04EEDEEB-31E5-54C0-AE3F-8BD06645D339
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IGeneralTransformFactory>{ 0x2F1025A3,0x5391,0x5D1B,{ 0x83,0x82,0x3C,0xAA,0xA1,0xD2,0x6A,0x96 } }; // 2F1025A3-5391-5D1B-8382-3CAAA1D26A96
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IGeneralTransformOverrides>{ 0xCE8970F1,0x83F8,0x543F,{ 0x9C,0xF5,0x43,0x9C,0x46,0x16,0x01,0xF1 } }; // CE8970F1-83F8-543F-9CF5-439C461601F1
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IGeometry>{ 0xDC102DCC,0x3BE2,0x5414,{ 0x85,0x99,0x94,0xB6,0xE7,0x6E,0xF3,0x9B } }; // DC102DCC-3BE2-5414-8599-94B6E76EF39B
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IGeometryFactory>{ 0x4EDCD536,0x7949,0x548A,{ 0xA9,0xB1,0x6F,0xF0,0x3B,0x95,0x1C,0xF3 } }; // 4EDCD536-7949-548A-A9B1-6FF03B951CF3
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IGeometryGroup>{ 0xB4DDE569,0xEA96,0x5883,{ 0x91,0x4C,0xEB,0xB7,0xD8,0x18,0xDD,0x3A } }; // B4DDE569-EA96-5883-914C-EBB7D818DD3A
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IGeometryGroupStatics>{ 0x56A23DA5,0xD015,0x568A,{ 0x9F,0x8B,0x11,0xB1,0x25,0xCF,0xD9,0xB4 } }; // 56A23DA5-D015-568A-9F8B-11B125CFD9B4
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IGeometryStatics>{ 0x349F78D0,0x4978,0x5742,{ 0xB7,0xD2,0xB3,0x4E,0xA2,0xC9,0x56,0x00 } }; // 349F78D0-4978-5742-B7D2-B34EA2C95600
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IGradientBrush>{ 0x77C347FA,0xC4C4,0x5174,{ 0xA9,0x45,0x65,0xCA,0xB3,0xAA,0x1C,0x75 } }; // 77C347FA-C4C4-5174-A945-65CAB3AA1C75
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IGradientBrushFactory>{ 0x64FF6177,0x1EDA,0x565B,{ 0xB7,0xAA,0xAC,0x50,0x15,0x2E,0x31,0x36 } }; // 64FF6177-1EDA-565B-B7AA-AC50152E3136
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IGradientBrushStatics>{ 0x4D3697D7,0xC6DB,0x501C,{ 0x8F,0xA2,0xDA,0x30,0xB8,0xC8,0xCA,0x3B } }; // 4D3697D7-C6DB-501C-8FA2-DA30B8C8CA3B
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IGradientStop>{ 0x48BCB039,0xE8E1,0x5743,{ 0x94,0xC3,0xF7,0x66,0x01,0x1D,0x3B,0x5D } }; // 48BCB039-E8E1-5743-94C3-F766011D3B5D
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IGradientStopStatics>{ 0x0B566C1B,0x37DE,0x5BFD,{ 0xB4,0x19,0x0F,0x7C,0x4C,0x0A,0x05,0x23 } }; // 0B566C1B-37DE-5BFD-B419-0F7C4C0A0523
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IImageBrush>{ 0xEDCD91A3,0xA868,0x5BA6,{ 0x94,0x89,0x5B,0x12,0xB4,0xC2,0x9D,0x85 } }; // EDCD91A3-A868-5BA6-9489-5B12B4C29D85
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IImageBrushStatics>{ 0xCE8082DC,0xA505,0x5B4F,{ 0x88,0x61,0x79,0x63,0x0F,0x52,0xC1,0x89 } }; // CE8082DC-A505-5B4F-8861-79630F52C189
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IImageSource>{ 0x6C2038F6,0xD6D5,0x55E9,{ 0x9B,0x9E,0x08,0x2F,0x12,0xDB,0xFF,0x60 } }; // 6C2038F6-D6D5-55E9-9B9E-082F12DBFF60
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IImageSourceFactory>{ 0x0B1E64A3,0xE353,0x5901,{ 0xB8,0x4B,0xAE,0x98,0x42,0xAE,0xA5,0xCD } }; // 0B1E64A3-E353-5901-B84B-AE9842AEA5CD
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ILineGeometry>{ 0x467EF3C5,0xBC43,0x50ED,{ 0xBB,0x23,0x16,0xBE,0x2C,0x63,0x35,0x6E } }; // 467EF3C5-BC43-50ED-BB23-16BE2C63356E
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ILineGeometryStatics>{ 0xCE0ECBF3,0x9389,0x5304,{ 0xB7,0xC8,0x5E,0x61,0x09,0x02,0xF2,0x58 } }; // CE0ECBF3-9389-5304-B7C8-5E610902F258
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ILineSegment>{ 0x0C618E54,0xD883,0x588C,{ 0x88,0x75,0xBD,0x8D,0xFD,0x6A,0x6A,0x3E } }; // 0C618E54-D883-588C-8875-BD8DFD6A6A3E
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ILineSegmentStatics>{ 0xC3EC48A9,0xB9C0,0x561F,{ 0x99,0x25,0xD1,0xD1,0xB2,0xA6,0xBA,0xE6 } }; // C3EC48A9-B9C0-561F-9925-D1D1B2A6BAE6
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrush>{ 0xC0AB9638,0x1BD9,0x5FA4,{ 0x96,0x49,0x48,0xCF,0xA1,0x2F,0x0D,0x1E } }; // C0AB9638-1BD9-5FA4-9649-48CFA12F0D1E
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrushFactory>{ 0xC0BA7DE3,0xCCFD,0x534C,{ 0x88,0x2F,0x3A,0xB3,0x9A,0xE7,0x23,0xF3 } }; // C0BA7DE3-CCFD-534C-882F-3AB39AE723F3
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrushStatics>{ 0xDF029E84,0xF6BE,0x5B7E,{ 0xBA,0x22,0x3B,0x4E,0x7A,0x6B,0xCE,0xEE } }; // DF029E84-F6BE-5B7E-BA22-3B4E7A6BCEEE
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSourceLoadCompletedEventArgs>{ 0x4121BB7C,0x48E8,0x542D,{ 0xB9,0x50,0x3E,0xA7,0xE7,0x09,0xC0,0xD6 } }; // 4121BB7C-48E8-542D-B950-3EA7E709C0D6
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSurface>{ 0xB5275540,0x1706,0x5851,{ 0x95,0xCC,0x49,0x8E,0xE8,0x1F,0xB1,0x83 } }; // B5275540-1706-5851-95CC-498EE81FB183
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSurfaceStatics>{ 0x25D390C4,0x4E32,0x52C2,{ 0x86,0x8F,0xF2,0xED,0xE7,0x4E,0xE4,0x42 } }; // 25D390C4-4E32-52C2-868F-F2EDE74EE442
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IMatrix3DProjection>{ 0xFC3338EF,0xF390,0x5BB1,{ 0x93,0x2E,0x3B,0x7C,0x08,0x78,0x81,0x87 } }; // FC3338EF-F390-5BB1-932E-3B7C08788187
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IMatrix3DProjectionStatics>{ 0xA5A7E267,0x7A5D,0x58EF,{ 0xA8,0xCD,0xB8,0x8E,0xBD,0xF8,0x22,0x07 } }; // A5A7E267-7A5D-58EF-A8CD-B88EBDF82207
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IMatrixHelper>{ 0x9571FD76,0xCC5C,0x534D,{ 0xAC,0x85,0xCB,0x4A,0xC8,0x70,0xC9,0x12 } }; // 9571FD76-CC5C-534D-AC85-CB4AC870C912
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IMatrixHelperStatics>{ 0x5762CF6B,0x4FB0,0x532F,{ 0x83,0x68,0xDE,0x96,0x00,0x42,0x70,0x1F } }; // 5762CF6B-4FB0-532F-8368-DE960042701F
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IMatrixTransform>{ 0xF03138E1,0xADDD,0x59FA,{ 0xB9,0x93,0x3E,0xA6,0x9B,0x88,0x8A,0xCE } }; // F03138E1-ADDD-59FA-B993-3EA69B888ACE
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IMatrixTransformStatics>{ 0xD7DB9DE3,0x5071,0x5115,{ 0x98,0xFB,0xCC,0xAD,0x2F,0xD4,0x6E,0x44 } }; // D7DB9DE3-5071-5115-98FB-CCAD2FD46E44
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IMediaTransportControlsThumbnailRequestedEventArgs>{ 0xFE0FFB86,0x74B0,0x5031,{ 0xAC,0xCC,0xB3,0x4D,0x03,0x82,0xA6,0x37 } }; // FE0FFB86-74B0-5031-ACCC-B34D0382A637
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IMicaBackdrop>{ 0xC156A404,0x3DAC,0x593A,{ 0xB1,0xF3,0x7A,0x33,0xC2,0x89,0xDC,0x83 } }; // C156A404-3DAC-593A-B1F3-7A33C289DC83
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IMicaBackdropFactory>{ 0x774379CE,0x74BD,0x59D4,{ 0x84,0x9D,0xD9,0x9C,0x41,0x84,0xD8,0x38 } }; // 774379CE-74BD-59D4-849D-D99C4184D838
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IMicaBackdropStatics>{ 0xA63ABDCE,0xC796,0x5509,{ 0x9F,0x4D,0x07,0x2B,0xC1,0xE5,0x99,0xF1 } }; // A63ABDCE-C796-5509-9F4D-072BC1E599F1
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IPathFigure>{ 0x0EE00712,0xBF65,0x5F27,{ 0x9C,0x06,0x14,0xAB,0xDF,0x66,0x56,0xD7 } }; // 0EE00712-BF65-5F27-9C06-14ABDF6656D7
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IPathFigureStatics>{ 0x93BC33C4,0x879A,0x5EDB,{ 0xB8,0xD7,0x7E,0xCB,0x86,0x1A,0x73,0x14 } }; // 93BC33C4-879A-5EDB-B8D7-7ECB861A7314
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IPathGeometry>{ 0x11B9D95D,0xD3D9,0x5337,{ 0xA0,0x5C,0x73,0xA2,0x7A,0x2B,0x51,0x24 } }; // 11B9D95D-D3D9-5337-A05C-73A27A2B5124
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IPathGeometryStatics>{ 0xD7F408FE,0x6C3A,0x5CCE,{ 0x91,0xCC,0xC5,0xA9,0x5D,0x4B,0x34,0x5A } }; // D7F408FE-6C3A-5CCE-91CC-C5A95D4B345A
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IPathSegment>{ 0xB922EBBE,0x08F0,0x57E9,{ 0x87,0x85,0x7E,0x57,0x09,0x7F,0x3B,0xD4 } }; // B922EBBE-08F0-57E9-8785-7E57097F3BD4
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IPathSegmentFactory>{ 0x0559A4FF,0xAC4B,0x5BB7,{ 0xB5,0x41,0xD3,0x73,0x96,0x0E,0x08,0x3B } }; // 0559A4FF-AC4B-5BB7-B541-D373960E083B
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IPlaneProjection>{ 0xD3E22836,0x0322,0x5D75,{ 0x94,0x1C,0xA5,0xFF,0xB0,0x51,0x92,0xB2 } }; // D3E22836-0322-5D75-941C-A5FFB05192B2
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IPlaneProjectionStatics>{ 0x96D86C18,0x90DD,0x564A,{ 0x82,0x8A,0x87,0x35,0xE4,0x21,0x9B,0x1D } }; // 96D86C18-90DD-564A-828A-8735E4219B1D
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IPolyBezierSegment>{ 0xD7F760A0,0xB93A,0x562A,{ 0x81,0x18,0x63,0x30,0xED,0x22,0xC3,0x07 } }; // D7F760A0-B93A-562A-8118-6330ED22C307
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IPolyBezierSegmentStatics>{ 0x738EF089,0xA80F,0x53E0,{ 0x81,0x6F,0xF7,0x87,0xA4,0x46,0x19,0x07 } }; // 738EF089-A80F-53E0-816F-F787A4461907
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IPolyLineSegment>{ 0x426EF287,0x0287,0x536F,{ 0xAD,0x9E,0x6A,0x05,0xEC,0xBB,0x32,0x3A } }; // 426EF287-0287-536F-AD9E-6A05ECBB323A
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IPolyLineSegmentStatics>{ 0xCF54E568,0x101A,0x5349,{ 0x91,0x89,0x6F,0x9A,0x1E,0x7F,0x52,0x80 } }; // CF54E568-101A-5349-9189-6F9A1E7F5280
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IPolyQuadraticBezierSegment>{ 0x56372F4C,0xC531,0x5C3E,{ 0xB0,0xE0,0x16,0x45,0xF5,0xA8,0xD8,0x72 } }; // 56372F4C-C531-5C3E-B0E0-1645F5A8D872
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IPolyQuadraticBezierSegmentStatics>{ 0x7EB6374D,0xCD30,0x5507,{ 0xB2,0xAB,0xC4,0xE3,0xA7,0xDC,0x60,0xBF } }; // 7EB6374D-CD30-5507-B2AB-C4E3A7DC60BF
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IProjection>{ 0xC95364B3,0x6058,0x5EE5,{ 0x9E,0x28,0xD3,0x8B,0x76,0x79,0xFC,0xD4 } }; // C95364B3-6058-5EE5-9E28-D38B7679FCD4
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IProjectionFactory>{ 0x870EA34F,0xDB61,0x5B75,{ 0x89,0xAD,0xE0,0x48,0x0C,0x80,0x29,0x37 } }; // 870EA34F-DB61-5B75-89AD-E0480C802937
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IQuadraticBezierSegment>{ 0x6048ABE4,0x7A12,0x5195,{ 0xBD,0x61,0x71,0xDF,0xD0,0x36,0x1C,0x38 } }; // 6048ABE4-7A12-5195-BD61-71DFD0361C38
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IQuadraticBezierSegmentStatics>{ 0x4D56EA65,0x0A1A,0x528A,{ 0xA5,0xB6,0x41,0xDA,0x03,0xAC,0x71,0xF4 } }; // 4D56EA65-0A1A-528A-A5B6-41DA03AC71F4
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrush>{ 0x5D493CE1,0xB844,0x546A,{ 0xB7,0x72,0xB3,0xBC,0xBA,0x7E,0x98,0xEE } }; // 5D493CE1-B844-546A-B772-B3BCBA7E98EE
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrushFactory>{ 0xD90BA26E,0x9E67,0x54BD,{ 0xA2,0xD9,0x61,0xC8,0xF9,0xF1,0xD4,0x33 } }; // D90BA26E-9E67-54BD-A2D9-61C8F9F1D433
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrushStatics>{ 0xF275A0B8,0x66F9,0x5B7D,{ 0xA4,0x15,0x7E,0xDA,0x65,0xFE,0x6D,0xD3 } }; // F275A0B8-66F9-5B7D-A415-7EDA65FE6DD3
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IRectangleGeometry>{ 0xB6143890,0xA5F5,0x54E0,{ 0xAB,0x42,0xD8,0x8B,0xAB,0x45,0x1F,0x04 } }; // B6143890-A5F5-54E0-AB42-D88BAB451F04
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IRectangleGeometryStatics>{ 0x1AE7AC26,0x8A8B,0x55A5,{ 0xB0,0x35,0x58,0x6E,0x2B,0x64,0x29,0x19 } }; // 1AE7AC26-8A8B-55A5-B035-586E2B642919
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IRenderedEventArgs>{ 0xB268B885,0x118D,0x5B66,{ 0x80,0x99,0x3B,0x6B,0xB8,0x64,0x47,0x26 } }; // B268B885-118D-5B66-8099-3B6BB8644726
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IRenderingEventArgs>{ 0xA67C8F8D,0x1885,0x5FC9,{ 0x97,0x5C,0x90,0x12,0x24,0xF7,0x9B,0x1E } }; // A67C8F8D-1885-5FC9-975C-901224F79B1E
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IRotateTransform>{ 0xD4686E7C,0xA374,0x5CAC,{ 0x89,0x27,0x0E,0xF0,0x7C,0x5B,0x25,0x4D } }; // D4686E7C-A374-5CAC-8927-0EF07C5B254D
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IRotateTransformStatics>{ 0x8EC4C662,0x04F8,0x51D7,{ 0xBC,0xB2,0x17,0xF1,0x0C,0x2F,0xAA,0x38 } }; // 8EC4C662-04F8-51D7-BCB2-17F10C2FAA38
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IScaleTransform>{ 0x94B064A4,0x34F0,0x5EF9,{ 0x8B,0x67,0x44,0x4F,0x56,0x99,0xF5,0x2A } }; // 94B064A4-34F0-5EF9-8B67-444F5699F52A
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IScaleTransformStatics>{ 0x76485BD5,0xA5BF,0x5790,{ 0xA8,0x37,0x81,0x93,0xC8,0x4D,0xF3,0x53 } }; // 76485BD5-A5BF-5790-A837-8193C84DF353
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IShadow>{ 0xCC12FD6A,0x50AA,0x5EB3,{ 0x9A,0x0E,0xB9,0x38,0xB4,0x54,0xC4,0x39 } }; // CC12FD6A-50AA-5EB3-9A0E-B938B454C439
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IShadowFactory>{ 0xC9115FBB,0xFCC3,0x52BF,{ 0xB8,0xEE,0xC3,0x48,0x10,0x2A,0x46,0xE0 } }; // C9115FBB-FCC3-52BF-B8EE-C348102A46E0
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ISkewTransform>{ 0x230ABAA6,0xA9B6,0x5210,{ 0x87,0x3F,0x36,0xBE,0xA2,0x9D,0x7C,0x06 } }; // 230ABAA6-A9B6-5210-873F-36BEA29D7C06
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ISkewTransformStatics>{ 0x93265150,0x53D0,0x52E3,{ 0x88,0xA3,0x3D,0x93,0xE2,0xED,0x86,0x1A } }; // 93265150-53D0-52E3-88A3-3D93E2ED861A
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ISolidColorBrush>{ 0xB3865C31,0x37C8,0x55C1,{ 0x8A,0x72,0xD4,0x1C,0x67,0x64,0x2E,0x2A } }; // B3865C31-37C8-55C1-8A72-D41C67642E2A
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ISolidColorBrushFactory>{ 0x7B559384,0x4DAA,0x54F4,{ 0x91,0xEF,0x33,0xA2,0x3F,0xD8,0x16,0xCA } }; // 7B559384-4DAA-54F4-91EF-33A23FD816CA
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ISolidColorBrushStatics>{ 0x6BC16DA0,0xC4E6,0x59B8,{ 0x99,0x5B,0xB3,0x1E,0x48,0x42,0x4C,0x07 } }; // 6BC16DA0-C4E6-59B8-995B-B31E48424C07
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ISystemBackdrop>{ 0x5AEED5C4,0x37AC,0x5852,{ 0xB7,0x3F,0x1B,0x76,0xEB,0xC3,0x20,0x5F } }; // 5AEED5C4-37AC-5852-B73F-1B76EBC3205F
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ISystemBackdropFactory>{ 0x1E07656B,0xFAD2,0x5B29,{ 0x91,0x3F,0xB6,0x74,0x8B,0xC4,0x59,0x42 } }; // 1E07656B-FAD2-5B29-913F-B6748BC45942
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ISystemBackdropOverrides>{ 0xEB1F5399,0xCAD7,0x5611,{ 0xB6,0x37,0x09,0xD7,0x6A,0x07,0xE7,0x08 } }; // EB1F5399-CAD7-5611-B637-09D76A07E708
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IThemeShadow>{ 0xC264208A,0xD1F4,0x58AE,{ 0x8A,0x88,0xFC,0x59,0x14,0x8B,0xEE,0x69 } }; // C264208A-D1F4-58AE-8A88-FC59148BEE69
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IThemeShadowFactory>{ 0x704A9C96,0x76A0,0x569E,{ 0x8C,0xEB,0x34,0xE9,0x2A,0x23,0xFE,0x11 } }; // 704A9C96-76A0-569E-8CEB-34E92A23FE11
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ITileBrush>{ 0xEE46060D,0xCABC,0x505D,{ 0x88,0x3C,0x75,0xD2,0xE0,0xE4,0x58,0x75 } }; // EE46060D-CABC-505D-883C-75D2E0E45875
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ITileBrushFactory>{ 0x8542E5E6,0x5177,0x506F,{ 0x8A,0x3B,0xAA,0x7D,0xA6,0x51,0xF0,0x99 } }; // 8542E5E6-5177-506F-8A3B-AA7DA651F099
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ITileBrushStatics>{ 0xF402197B,0x9047,0x5F8A,{ 0x90,0xBC,0x6F,0x5D,0x8C,0x74,0x8A,0x5F } }; // F402197B-9047-5F8A-90BC-6F5D8C748A5F
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ITransform>{ 0x92A8DEE5,0x1413,0x56B9,{ 0x8C,0xCA,0x3C,0x46,0x91,0x8F,0xDE,0x1B } }; // 92A8DEE5-1413-56B9-8CCA-3C46918FDE1B
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ITransformFactory>{ 0x7DA293F9,0xB82E,0x5D15,{ 0xB6,0x23,0xC0,0x82,0x10,0xCB,0xB6,0x40 } }; // 7DA293F9-B82E-5D15-B623-C08210CBB640
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ITransformGroup>{ 0x17C55F3B,0x899C,0x588F,{ 0x8B,0xD4,0x40,0xFA,0x3A,0x5F,0xCB,0x04 } }; // 17C55F3B-899C-588F-8BD4-40FA3A5FCB04
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ITransformGroupStatics>{ 0x8F1508F6,0x7DCF,0x53D5,{ 0xBB,0xC0,0xD8,0xFC,0xD9,0x6D,0x73,0x99 } }; // 8F1508F6-7DCF-53D5-BBC0-D8FCD96D7399
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ITranslateTransform>{ 0xCFA21CA9,0xB79F,0x5450,{ 0xB4,0x59,0xA9,0x6C,0x48,0xCB,0x2C,0x8F } }; // CFA21CA9-B79F-5450-B459-A96C48CB2C8F
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::ITranslateTransformStatics>{ 0x1342EB11,0x5A6E,0x5263,{ 0xAB,0x3E,0x9B,0x67,0x2A,0x86,0xFC,0x0C } }; // 1342EB11-5A6E-5263-AB3E-9B672A86FC0C
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IVisualTreeHelper>{ 0x5F69AC1E,0x6504,0x5E3F,{ 0xA1,0x1C,0x87,0x68,0x4C,0x1D,0xB8,0x14 } }; // 5F69AC1E-6504-5E3F-A11C-87684C1DB814
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IVisualTreeHelperStatics>{ 0x5AECE43C,0x7651,0x5BB5,{ 0x85,0x5C,0x21,0x98,0x49,0x6E,0x45,0x5E } }; // 5AECE43C-7651-5BB5-855C-2198496E455E
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBase>{ 0xFEAEAD28,0x5CD0,0x5E58,{ 0xBC,0xEA,0x86,0x70,0xF8,0x32,0xAC,0xA9 } }; // FEAEAD28-5CD0-5E58-BCEA-8670F832ACA9
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseFactory>{ 0xB1626D56,0x0F6F,0x5416,{ 0xAD,0xA4,0x5C,0x81,0x05,0xD3,0xF0,0x82 } }; // B1626D56-0F6F-5416-ADA4-5C8105D3F082
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseOverrides>{ 0x8881B559,0x54A0,0x56C4,{ 0xA7,0x9A,0x13,0x51,0x52,0xFB,0x1D,0xFA } }; // 8881B559-54A0-56C4-A79A-135152FB1DFA
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseProtected>{ 0x6617E1A5,0xE27A,0x5B95,{ 0xB0,0x3E,0x67,0x58,0xB5,0x8F,0x92,0xA0 } }; // 6617E1A5-E27A-5B95-B03E-6758B58F92A0
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseStatics>{ 0x3EED6E16,0xC386,0x5A1C,{ 0xB7,0x0D,0xEF,0x1C,0x00,0x15,0xE6,0x91 } }; // 3EED6E16-C386-5A1C-B70D-EF1C0015E691
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IXamlLight>{ 0xDCD20139,0x8CD5,0x5DA5,{ 0xA2,0x5C,0x2B,0x7B,0x81,0x3D,0x8D,0x58 } }; // DCD20139-8CD5-5DA5-A25C-2B7B813D8D58
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IXamlLightFactory>{ 0x76DA6306,0x96FC,0x553E,{ 0xBB,0x39,0x9A,0x48,0x01,0xD0,0x6F,0x48 } }; // 76DA6306-96FC-553E-BB39-9A4801D06F48
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IXamlLightOverrides>{ 0x696D4F30,0x92EE,0x540D,{ 0xAD,0x70,0x33,0xD4,0x48,0x95,0x14,0xD0 } }; // 696D4F30-92EE-540D-AD70-33D4489514D0
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IXamlLightProtected>{ 0xC307BF12,0xFDAF,0x54CA,{ 0xA6,0x31,0xAD,0x0E,0x86,0x26,0x3C,0x6E } }; // C307BF12-FDAF-54CA-A631-AD0E86263C6E
    template <> inline constexpr guid guid_v<winrt::Microsoft::UI::Xaml::Media::IXamlLightStatics>{ 0xA2D8EA26,0x26FF,0x5374,{ 0xB1,0xDD,0xF2,0x32,0xD5,0x60,0x4F,0x6A } }; // A2D8EA26-26FF-5374-B1DD-F232D5604F6A
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::AcrylicBrush>{ using type = winrt::Microsoft::UI::Xaml::Media::IAcrylicBrush; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::ArcSegment>{ using type = winrt::Microsoft::UI::Xaml::Media::IArcSegment; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::BezierSegment>{ using type = winrt::Microsoft::UI::Xaml::Media::IBezierSegment; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::BitmapCache>{ using type = winrt::Microsoft::UI::Xaml::Media::IBitmapCache; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::Brush>{ using type = winrt::Microsoft::UI::Xaml::Media::IBrush; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::BrushCollection>{ using type = winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::UI::Xaml::Media::Brush>; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::CacheMode>{ using type = winrt::Microsoft::UI::Xaml::Media::ICacheMode; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::CompositeTransform>{ using type = winrt::Microsoft::UI::Xaml::Media::ICompositeTransform; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::CompositionTarget>{ using type = winrt::Microsoft::UI::Xaml::Media::ICompositionTarget; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::DesktopAcrylicBackdrop>{ using type = winrt::Microsoft::UI::Xaml::Media::IDesktopAcrylicBackdrop; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::DoubleCollection>{ using type = winrt::Windows::Foundation::Collections::IVector<double>; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::EllipseGeometry>{ using type = winrt::Microsoft::UI::Xaml::Media::IEllipseGeometry; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::FontFamily>{ using type = winrt::Microsoft::UI::Xaml::Media::IFontFamily; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::GeneralTransform>{ using type = winrt::Microsoft::UI::Xaml::Media::IGeneralTransform; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::Geometry>{ using type = winrt::Microsoft::UI::Xaml::Media::IGeometry; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::GeometryCollection>{ using type = winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::UI::Xaml::Media::Geometry>; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::GeometryGroup>{ using type = winrt::Microsoft::UI::Xaml::Media::IGeometryGroup; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::GradientBrush>{ using type = winrt::Microsoft::UI::Xaml::Media::IGradientBrush; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::GradientStop>{ using type = winrt::Microsoft::UI::Xaml::Media::IGradientStop; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::GradientStopCollection>{ using type = winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::UI::Xaml::Media::GradientStop>; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::ImageBrush>{ using type = winrt::Microsoft::UI::Xaml::Media::IImageBrush; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::ImageSource>{ using type = winrt::Microsoft::UI::Xaml::Media::IImageSource; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::LineGeometry>{ using type = winrt::Microsoft::UI::Xaml::Media::ILineGeometry; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::LineSegment>{ using type = winrt::Microsoft::UI::Xaml::Media::ILineSegment; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::LinearGradientBrush>{ using type = winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrush; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::LoadedImageSourceLoadCompletedEventArgs>{ using type = winrt::Microsoft::UI::Xaml::Media::ILoadedImageSourceLoadCompletedEventArgs; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::LoadedImageSurface>{ using type = winrt::Microsoft::UI::Xaml::Media::ILoadedImageSurface; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::Matrix3DProjection>{ using type = winrt::Microsoft::UI::Xaml::Media::IMatrix3DProjection; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::MatrixHelper>{ using type = winrt::Microsoft::UI::Xaml::Media::IMatrixHelper; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::MatrixTransform>{ using type = winrt::Microsoft::UI::Xaml::Media::IMatrixTransform; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::MediaTransportControlsThumbnailRequestedEventArgs>{ using type = winrt::Microsoft::UI::Xaml::Media::IMediaTransportControlsThumbnailRequestedEventArgs; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::MicaBackdrop>{ using type = winrt::Microsoft::UI::Xaml::Media::IMicaBackdrop; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::PathFigure>{ using type = winrt::Microsoft::UI::Xaml::Media::IPathFigure; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::PathFigureCollection>{ using type = winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::UI::Xaml::Media::PathFigure>; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::PathGeometry>{ using type = winrt::Microsoft::UI::Xaml::Media::IPathGeometry; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::PathSegment>{ using type = winrt::Microsoft::UI::Xaml::Media::IPathSegment; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::PathSegmentCollection>{ using type = winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::UI::Xaml::Media::PathSegment>; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::PlaneProjection>{ using type = winrt::Microsoft::UI::Xaml::Media::IPlaneProjection; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::PointCollection>{ using type = winrt::Windows::Foundation::Collections::IVector<winrt::Windows::Foundation::Point>; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::PolyBezierSegment>{ using type = winrt::Microsoft::UI::Xaml::Media::IPolyBezierSegment; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::PolyLineSegment>{ using type = winrt::Microsoft::UI::Xaml::Media::IPolyLineSegment; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::PolyQuadraticBezierSegment>{ using type = winrt::Microsoft::UI::Xaml::Media::IPolyQuadraticBezierSegment; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::Projection>{ using type = winrt::Microsoft::UI::Xaml::Media::IProjection; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::QuadraticBezierSegment>{ using type = winrt::Microsoft::UI::Xaml::Media::IQuadraticBezierSegment; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::RadialGradientBrush>{ using type = winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrush; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::RectangleGeometry>{ using type = winrt::Microsoft::UI::Xaml::Media::IRectangleGeometry; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::RenderedEventArgs>{ using type = winrt::Microsoft::UI::Xaml::Media::IRenderedEventArgs; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::RenderingEventArgs>{ using type = winrt::Microsoft::UI::Xaml::Media::IRenderingEventArgs; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::RotateTransform>{ using type = winrt::Microsoft::UI::Xaml::Media::IRotateTransform; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::ScaleTransform>{ using type = winrt::Microsoft::UI::Xaml::Media::IScaleTransform; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::Shadow>{ using type = winrt::Microsoft::UI::Xaml::Media::IShadow; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::SkewTransform>{ using type = winrt::Microsoft::UI::Xaml::Media::ISkewTransform; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::SolidColorBrush>{ using type = winrt::Microsoft::UI::Xaml::Media::ISolidColorBrush; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::SystemBackdrop>{ using type = winrt::Microsoft::UI::Xaml::Media::ISystemBackdrop; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::ThemeShadow>{ using type = winrt::Microsoft::UI::Xaml::Media::IThemeShadow; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::TileBrush>{ using type = winrt::Microsoft::UI::Xaml::Media::ITileBrush; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::Transform>{ using type = winrt::Microsoft::UI::Xaml::Media::ITransform; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::TransformCollection>{ using type = winrt::Windows::Foundation::Collections::IVector<winrt::Microsoft::UI::Xaml::Media::Transform>; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::TransformGroup>{ using type = winrt::Microsoft::UI::Xaml::Media::ITransformGroup; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::TranslateTransform>{ using type = winrt::Microsoft::UI::Xaml::Media::ITranslateTransform; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::VisualTreeHelper>{ using type = winrt::Microsoft::UI::Xaml::Media::IVisualTreeHelper; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::XamlCompositionBrushBase>{ using type = winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBase; };
    template <> struct default_interface<winrt::Microsoft::UI::Xaml::Media::XamlLight>{ using type = winrt::Microsoft::UI::Xaml::Media::IXamlLight; };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrush>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_TintColor(struct struct_Windows_UI_Color*) noexcept = 0;
            virtual int32_t __stdcall put_TintColor(struct struct_Windows_UI_Color) noexcept = 0;
            virtual int32_t __stdcall get_TintOpacity(double*) noexcept = 0;
            virtual int32_t __stdcall put_TintOpacity(double) noexcept = 0;
            virtual int32_t __stdcall get_TintTransitionDuration(int64_t*) noexcept = 0;
            virtual int32_t __stdcall put_TintTransitionDuration(int64_t) noexcept = 0;
            virtual int32_t __stdcall get_AlwaysUseFallback(bool*) noexcept = 0;
            virtual int32_t __stdcall put_AlwaysUseFallback(bool) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrush2>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_TintLuminosityOpacity(void**) noexcept = 0;
            virtual int32_t __stdcall put_TintLuminosityOpacity(void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrushFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrushStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_TintColorProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_TintOpacityProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_TintTransitionDurationProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_AlwaysUseFallbackProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrushStatics2>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_TintLuminosityOpacityProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IArcSegment>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Point(winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall put_Point(winrt::Windows::Foundation::Point) noexcept = 0;
            virtual int32_t __stdcall get_Size(winrt::Windows::Foundation::Size*) noexcept = 0;
            virtual int32_t __stdcall put_Size(winrt::Windows::Foundation::Size) noexcept = 0;
            virtual int32_t __stdcall get_RotationAngle(double*) noexcept = 0;
            virtual int32_t __stdcall put_RotationAngle(double) noexcept = 0;
            virtual int32_t __stdcall get_IsLargeArc(bool*) noexcept = 0;
            virtual int32_t __stdcall put_IsLargeArc(bool) noexcept = 0;
            virtual int32_t __stdcall get_SweepDirection(int32_t*) noexcept = 0;
            virtual int32_t __stdcall put_SweepDirection(int32_t) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IArcSegmentStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_PointProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_SizeProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_RotationAngleProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_IsLargeArcProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_SweepDirectionProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IBezierSegment>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Point1(winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall put_Point1(winrt::Windows::Foundation::Point) noexcept = 0;
            virtual int32_t __stdcall get_Point2(winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall put_Point2(winrt::Windows::Foundation::Point) noexcept = 0;
            virtual int32_t __stdcall get_Point3(winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall put_Point3(winrt::Windows::Foundation::Point) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IBezierSegmentStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Point1Property(void**) noexcept = 0;
            virtual int32_t __stdcall get_Point2Property(void**) noexcept = 0;
            virtual int32_t __stdcall get_Point3Property(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IBitmapCache>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IBrush>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Opacity(double*) noexcept = 0;
            virtual int32_t __stdcall put_Opacity(double) noexcept = 0;
            virtual int32_t __stdcall get_Transform(void**) noexcept = 0;
            virtual int32_t __stdcall put_Transform(void*) noexcept = 0;
            virtual int32_t __stdcall get_RelativeTransform(void**) noexcept = 0;
            virtual int32_t __stdcall put_RelativeTransform(void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IBrushFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IBrushOverrides>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall PopulatePropertyInfoOverride(void*, void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IBrushStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_OpacityProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_TransformProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_RelativeTransformProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ICacheMode>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ICacheModeFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ICompositeTransform>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_CenterX(double*) noexcept = 0;
            virtual int32_t __stdcall put_CenterX(double) noexcept = 0;
            virtual int32_t __stdcall get_CenterY(double*) noexcept = 0;
            virtual int32_t __stdcall put_CenterY(double) noexcept = 0;
            virtual int32_t __stdcall get_ScaleX(double*) noexcept = 0;
            virtual int32_t __stdcall put_ScaleX(double) noexcept = 0;
            virtual int32_t __stdcall get_ScaleY(double*) noexcept = 0;
            virtual int32_t __stdcall put_ScaleY(double) noexcept = 0;
            virtual int32_t __stdcall get_SkewX(double*) noexcept = 0;
            virtual int32_t __stdcall put_SkewX(double) noexcept = 0;
            virtual int32_t __stdcall get_SkewY(double*) noexcept = 0;
            virtual int32_t __stdcall put_SkewY(double) noexcept = 0;
            virtual int32_t __stdcall get_Rotation(double*) noexcept = 0;
            virtual int32_t __stdcall put_Rotation(double) noexcept = 0;
            virtual int32_t __stdcall get_TranslateX(double*) noexcept = 0;
            virtual int32_t __stdcall put_TranslateX(double) noexcept = 0;
            virtual int32_t __stdcall get_TranslateY(double*) noexcept = 0;
            virtual int32_t __stdcall put_TranslateY(double) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ICompositeTransformStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_CenterXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_CenterYProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_ScaleXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_ScaleYProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_SkewXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_SkewYProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_RotationProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_TranslateXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_TranslateYProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ICompositionTarget>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ICompositionTargetStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall add_Rendering(void*, winrt::event_token*) noexcept = 0;
            virtual int32_t __stdcall remove_Rendering(winrt::event_token) noexcept = 0;
            virtual int32_t __stdcall add_Rendered(void*, winrt::event_token*) noexcept = 0;
            virtual int32_t __stdcall remove_Rendered(winrt::event_token) noexcept = 0;
            virtual int32_t __stdcall add_SurfaceContentsLost(void*, winrt::event_token*) noexcept = 0;
            virtual int32_t __stdcall remove_SurfaceContentsLost(winrt::event_token) noexcept = 0;
            virtual int32_t __stdcall GetCompositorForCurrentThread(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IDesktopAcrylicBackdrop>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IDesktopAcrylicBackdropFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IEllipseGeometry>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Center(winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall put_Center(winrt::Windows::Foundation::Point) noexcept = 0;
            virtual int32_t __stdcall get_RadiusX(double*) noexcept = 0;
            virtual int32_t __stdcall put_RadiusX(double) noexcept = 0;
            virtual int32_t __stdcall get_RadiusY(double*) noexcept = 0;
            virtual int32_t __stdcall put_RadiusY(double) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IEllipseGeometryStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_CenterProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_RadiusXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_RadiusYProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IFontFamily>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Source(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IFontFamilyFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstanceWithName(void*, void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IFontFamilyStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_XamlAutoFontFamily(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IGeneralTransform>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Inverse(void**) noexcept = 0;
            virtual int32_t __stdcall TransformPoint(winrt::Windows::Foundation::Point, winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall TryTransform(winrt::Windows::Foundation::Point, winrt::Windows::Foundation::Point*, bool*) noexcept = 0;
            virtual int32_t __stdcall TransformBounds(winrt::Windows::Foundation::Rect, winrt::Windows::Foundation::Rect*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IGeneralTransformFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IGeneralTransformOverrides>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_InverseCore(void**) noexcept = 0;
            virtual int32_t __stdcall TryTransformCore(winrt::Windows::Foundation::Point, winrt::Windows::Foundation::Point*, bool*) noexcept = 0;
            virtual int32_t __stdcall TransformBoundsCore(winrt::Windows::Foundation::Rect, winrt::Windows::Foundation::Rect*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IGeometry>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Transform(void**) noexcept = 0;
            virtual int32_t __stdcall put_Transform(void*) noexcept = 0;
            virtual int32_t __stdcall get_Bounds(winrt::Windows::Foundation::Rect*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IGeometryFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IGeometryGroup>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_FillRule(int32_t*) noexcept = 0;
            virtual int32_t __stdcall put_FillRule(int32_t) noexcept = 0;
            virtual int32_t __stdcall get_Children(void**) noexcept = 0;
            virtual int32_t __stdcall put_Children(void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IGeometryGroupStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_FillRuleProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_ChildrenProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IGeometryStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Empty(void**) noexcept = 0;
            virtual int32_t __stdcall get_StandardFlatteningTolerance(double*) noexcept = 0;
            virtual int32_t __stdcall get_TransformProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IGradientBrush>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_SpreadMethod(int32_t*) noexcept = 0;
            virtual int32_t __stdcall put_SpreadMethod(int32_t) noexcept = 0;
            virtual int32_t __stdcall get_MappingMode(int32_t*) noexcept = 0;
            virtual int32_t __stdcall put_MappingMode(int32_t) noexcept = 0;
            virtual int32_t __stdcall get_ColorInterpolationMode(int32_t*) noexcept = 0;
            virtual int32_t __stdcall put_ColorInterpolationMode(int32_t) noexcept = 0;
            virtual int32_t __stdcall get_GradientStops(void**) noexcept = 0;
            virtual int32_t __stdcall put_GradientStops(void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IGradientBrushFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IGradientBrushStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_SpreadMethodProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_MappingModeProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_ColorInterpolationModeProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_GradientStopsProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IGradientStop>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Color(struct struct_Windows_UI_Color*) noexcept = 0;
            virtual int32_t __stdcall put_Color(struct struct_Windows_UI_Color) noexcept = 0;
            virtual int32_t __stdcall get_Offset(double*) noexcept = 0;
            virtual int32_t __stdcall put_Offset(double) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IGradientStopStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_ColorProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_OffsetProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IImageBrush>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_ImageSource(void**) noexcept = 0;
            virtual int32_t __stdcall put_ImageSource(void*) noexcept = 0;
            virtual int32_t __stdcall add_ImageFailed(void*, winrt::event_token*) noexcept = 0;
            virtual int32_t __stdcall remove_ImageFailed(winrt::event_token) noexcept = 0;
            virtual int32_t __stdcall add_ImageOpened(void*, winrt::event_token*) noexcept = 0;
            virtual int32_t __stdcall remove_ImageOpened(winrt::event_token) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IImageBrushStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_ImageSourceProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IImageSource>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IImageSourceFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ILineGeometry>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_StartPoint(winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall put_StartPoint(winrt::Windows::Foundation::Point) noexcept = 0;
            virtual int32_t __stdcall get_EndPoint(winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall put_EndPoint(winrt::Windows::Foundation::Point) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ILineGeometryStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_StartPointProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_EndPointProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ILineSegment>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Point(winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall put_Point(winrt::Windows::Foundation::Point) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ILineSegmentStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_PointProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrush>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_StartPoint(winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall put_StartPoint(winrt::Windows::Foundation::Point) noexcept = 0;
            virtual int32_t __stdcall get_EndPoint(winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall put_EndPoint(winrt::Windows::Foundation::Point) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrushFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstanceWithGradientStopCollectionAndAngle(void*, double, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrushStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_StartPointProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_EndPointProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSourceLoadCompletedEventArgs>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Status(int32_t*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSurface>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_DecodedPhysicalSize(winrt::Windows::Foundation::Size*) noexcept = 0;
            virtual int32_t __stdcall get_DecodedSize(winrt::Windows::Foundation::Size*) noexcept = 0;
            virtual int32_t __stdcall get_NaturalSize(winrt::Windows::Foundation::Size*) noexcept = 0;
            virtual int32_t __stdcall add_LoadCompleted(void*, winrt::event_token*) noexcept = 0;
            virtual int32_t __stdcall remove_LoadCompleted(winrt::event_token) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSurfaceStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall StartLoadFromUriWithSize(void*, winrt::Windows::Foundation::Size, void**) noexcept = 0;
            virtual int32_t __stdcall StartLoadFromUri(void*, void**) noexcept = 0;
            virtual int32_t __stdcall StartLoadFromStreamWithSize(void*, winrt::Windows::Foundation::Size, void**) noexcept = 0;
            virtual int32_t __stdcall StartLoadFromStream(void*, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IMatrix3DProjection>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_ProjectionMatrix(struct struct_Microsoft_UI_Xaml_Media_Media3D_Matrix3D*) noexcept = 0;
            virtual int32_t __stdcall put_ProjectionMatrix(struct struct_Microsoft_UI_Xaml_Media_Media3D_Matrix3D) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IMatrix3DProjectionStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_ProjectionMatrixProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IMatrixHelper>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IMatrixHelperStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Identity(struct struct_Microsoft_UI_Xaml_Media_Matrix*) noexcept = 0;
            virtual int32_t __stdcall FromElements(double, double, double, double, double, double, struct struct_Microsoft_UI_Xaml_Media_Matrix*) noexcept = 0;
            virtual int32_t __stdcall GetIsIdentity(struct struct_Microsoft_UI_Xaml_Media_Matrix, bool*) noexcept = 0;
            virtual int32_t __stdcall Transform(struct struct_Microsoft_UI_Xaml_Media_Matrix, winrt::Windows::Foundation::Point, winrt::Windows::Foundation::Point*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IMatrixTransform>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Matrix(struct struct_Microsoft_UI_Xaml_Media_Matrix*) noexcept = 0;
            virtual int32_t __stdcall put_Matrix(struct struct_Microsoft_UI_Xaml_Media_Matrix) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IMatrixTransformStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_MatrixProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IMediaTransportControlsThumbnailRequestedEventArgs>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall SetThumbnailImage(void*) noexcept = 0;
            virtual int32_t __stdcall GetDeferral(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IMicaBackdrop>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Kind(int32_t*) noexcept = 0;
            virtual int32_t __stdcall put_Kind(int32_t) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IMicaBackdropFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IMicaBackdropStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_KindProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IPathFigure>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Segments(void**) noexcept = 0;
            virtual int32_t __stdcall put_Segments(void*) noexcept = 0;
            virtual int32_t __stdcall get_StartPoint(winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall put_StartPoint(winrt::Windows::Foundation::Point) noexcept = 0;
            virtual int32_t __stdcall get_IsClosed(bool*) noexcept = 0;
            virtual int32_t __stdcall put_IsClosed(bool) noexcept = 0;
            virtual int32_t __stdcall get_IsFilled(bool*) noexcept = 0;
            virtual int32_t __stdcall put_IsFilled(bool) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IPathFigureStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_SegmentsProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_StartPointProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_IsClosedProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_IsFilledProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IPathGeometry>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_FillRule(int32_t*) noexcept = 0;
            virtual int32_t __stdcall put_FillRule(int32_t) noexcept = 0;
            virtual int32_t __stdcall get_Figures(void**) noexcept = 0;
            virtual int32_t __stdcall put_Figures(void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IPathGeometryStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_FillRuleProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_FiguresProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IPathSegment>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IPathSegmentFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IPlaneProjection>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_LocalOffsetX(double*) noexcept = 0;
            virtual int32_t __stdcall put_LocalOffsetX(double) noexcept = 0;
            virtual int32_t __stdcall get_LocalOffsetY(double*) noexcept = 0;
            virtual int32_t __stdcall put_LocalOffsetY(double) noexcept = 0;
            virtual int32_t __stdcall get_LocalOffsetZ(double*) noexcept = 0;
            virtual int32_t __stdcall put_LocalOffsetZ(double) noexcept = 0;
            virtual int32_t __stdcall get_RotationX(double*) noexcept = 0;
            virtual int32_t __stdcall put_RotationX(double) noexcept = 0;
            virtual int32_t __stdcall get_RotationY(double*) noexcept = 0;
            virtual int32_t __stdcall put_RotationY(double) noexcept = 0;
            virtual int32_t __stdcall get_RotationZ(double*) noexcept = 0;
            virtual int32_t __stdcall put_RotationZ(double) noexcept = 0;
            virtual int32_t __stdcall get_CenterOfRotationX(double*) noexcept = 0;
            virtual int32_t __stdcall put_CenterOfRotationX(double) noexcept = 0;
            virtual int32_t __stdcall get_CenterOfRotationY(double*) noexcept = 0;
            virtual int32_t __stdcall put_CenterOfRotationY(double) noexcept = 0;
            virtual int32_t __stdcall get_CenterOfRotationZ(double*) noexcept = 0;
            virtual int32_t __stdcall put_CenterOfRotationZ(double) noexcept = 0;
            virtual int32_t __stdcall get_GlobalOffsetX(double*) noexcept = 0;
            virtual int32_t __stdcall put_GlobalOffsetX(double) noexcept = 0;
            virtual int32_t __stdcall get_GlobalOffsetY(double*) noexcept = 0;
            virtual int32_t __stdcall put_GlobalOffsetY(double) noexcept = 0;
            virtual int32_t __stdcall get_GlobalOffsetZ(double*) noexcept = 0;
            virtual int32_t __stdcall put_GlobalOffsetZ(double) noexcept = 0;
            virtual int32_t __stdcall get_ProjectionMatrix(struct struct_Microsoft_UI_Xaml_Media_Media3D_Matrix3D*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IPlaneProjectionStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_LocalOffsetXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_LocalOffsetYProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_LocalOffsetZProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_RotationXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_RotationYProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_RotationZProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_CenterOfRotationXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_CenterOfRotationYProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_CenterOfRotationZProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_GlobalOffsetXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_GlobalOffsetYProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_GlobalOffsetZProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_ProjectionMatrixProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IPolyBezierSegment>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Points(void**) noexcept = 0;
            virtual int32_t __stdcall put_Points(void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IPolyBezierSegmentStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_PointsProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IPolyLineSegment>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Points(void**) noexcept = 0;
            virtual int32_t __stdcall put_Points(void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IPolyLineSegmentStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_PointsProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IPolyQuadraticBezierSegment>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Points(void**) noexcept = 0;
            virtual int32_t __stdcall put_Points(void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IPolyQuadraticBezierSegmentStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_PointsProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IProjection>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IProjectionFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IQuadraticBezierSegment>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Point1(winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall put_Point1(winrt::Windows::Foundation::Point) noexcept = 0;
            virtual int32_t __stdcall get_Point2(winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall put_Point2(winrt::Windows::Foundation::Point) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IQuadraticBezierSegmentStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Point1Property(void**) noexcept = 0;
            virtual int32_t __stdcall get_Point2Property(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrush>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Center(winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall put_Center(winrt::Windows::Foundation::Point) noexcept = 0;
            virtual int32_t __stdcall get_RadiusX(double*) noexcept = 0;
            virtual int32_t __stdcall put_RadiusX(double) noexcept = 0;
            virtual int32_t __stdcall get_RadiusY(double*) noexcept = 0;
            virtual int32_t __stdcall put_RadiusY(double) noexcept = 0;
            virtual int32_t __stdcall get_GradientOrigin(winrt::Windows::Foundation::Point*) noexcept = 0;
            virtual int32_t __stdcall put_GradientOrigin(winrt::Windows::Foundation::Point) noexcept = 0;
            virtual int32_t __stdcall get_MappingMode(int32_t*) noexcept = 0;
            virtual int32_t __stdcall put_MappingMode(int32_t) noexcept = 0;
            virtual int32_t __stdcall get_InterpolationSpace(int32_t*) noexcept = 0;
            virtual int32_t __stdcall put_InterpolationSpace(int32_t) noexcept = 0;
            virtual int32_t __stdcall get_SpreadMethod(int32_t*) noexcept = 0;
            virtual int32_t __stdcall put_SpreadMethod(int32_t) noexcept = 0;
            virtual int32_t __stdcall get_GradientStops(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrushFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrushStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_CenterProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_RadiusXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_RadiusYProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_GradientOriginProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_InterpolationSpaceProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_MappingModeProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_SpreadMethodProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IRectangleGeometry>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Rect(winrt::Windows::Foundation::Rect*) noexcept = 0;
            virtual int32_t __stdcall put_Rect(winrt::Windows::Foundation::Rect) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IRectangleGeometryStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_RectProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IRenderedEventArgs>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_FrameDuration(int64_t*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IRenderingEventArgs>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_RenderingTime(int64_t*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IRotateTransform>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_CenterX(double*) noexcept = 0;
            virtual int32_t __stdcall put_CenterX(double) noexcept = 0;
            virtual int32_t __stdcall get_CenterY(double*) noexcept = 0;
            virtual int32_t __stdcall put_CenterY(double) noexcept = 0;
            virtual int32_t __stdcall get_Angle(double*) noexcept = 0;
            virtual int32_t __stdcall put_Angle(double) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IRotateTransformStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_CenterXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_CenterYProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_AngleProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IScaleTransform>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_CenterX(double*) noexcept = 0;
            virtual int32_t __stdcall put_CenterX(double) noexcept = 0;
            virtual int32_t __stdcall get_CenterY(double*) noexcept = 0;
            virtual int32_t __stdcall put_CenterY(double) noexcept = 0;
            virtual int32_t __stdcall get_ScaleX(double*) noexcept = 0;
            virtual int32_t __stdcall put_ScaleX(double) noexcept = 0;
            virtual int32_t __stdcall get_ScaleY(double*) noexcept = 0;
            virtual int32_t __stdcall put_ScaleY(double) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IScaleTransformStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_CenterXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_CenterYProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_ScaleXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_ScaleYProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IShadow>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IShadowFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ISkewTransform>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_CenterX(double*) noexcept = 0;
            virtual int32_t __stdcall put_CenterX(double) noexcept = 0;
            virtual int32_t __stdcall get_CenterY(double*) noexcept = 0;
            virtual int32_t __stdcall put_CenterY(double) noexcept = 0;
            virtual int32_t __stdcall get_AngleX(double*) noexcept = 0;
            virtual int32_t __stdcall put_AngleX(double) noexcept = 0;
            virtual int32_t __stdcall get_AngleY(double*) noexcept = 0;
            virtual int32_t __stdcall put_AngleY(double) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ISkewTransformStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_CenterXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_CenterYProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_AngleXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_AngleYProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ISolidColorBrush>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Color(struct struct_Windows_UI_Color*) noexcept = 0;
            virtual int32_t __stdcall put_Color(struct struct_Windows_UI_Color) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ISolidColorBrushFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstanceWithColor(struct struct_Windows_UI_Color, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ISolidColorBrushStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_ColorProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ISystemBackdrop>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall GetDefaultSystemBackdropConfiguration(void*, void*, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ISystemBackdropFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ISystemBackdropOverrides>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall OnTargetConnected(void*, void*) noexcept = 0;
            virtual int32_t __stdcall OnTargetDisconnected(void*) noexcept = 0;
            virtual int32_t __stdcall OnDefaultSystemBackdropConfigurationChanged(void*, void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IThemeShadow>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Receivers(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IThemeShadowFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ITileBrush>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_AlignmentX(int32_t*) noexcept = 0;
            virtual int32_t __stdcall put_AlignmentX(int32_t) noexcept = 0;
            virtual int32_t __stdcall get_AlignmentY(int32_t*) noexcept = 0;
            virtual int32_t __stdcall put_AlignmentY(int32_t) noexcept = 0;
            virtual int32_t __stdcall get_Stretch(int32_t*) noexcept = 0;
            virtual int32_t __stdcall put_Stretch(int32_t) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ITileBrushFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ITileBrushStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_AlignmentXProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_AlignmentYProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_StretchProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ITransform>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ITransformFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ITransformGroup>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_Children(void**) noexcept = 0;
            virtual int32_t __stdcall put_Children(void*) noexcept = 0;
            virtual int32_t __stdcall get_Value(struct struct_Microsoft_UI_Xaml_Media_Matrix*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ITransformGroupStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_ChildrenProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ITranslateTransform>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_X(double*) noexcept = 0;
            virtual int32_t __stdcall put_X(double) noexcept = 0;
            virtual int32_t __stdcall get_Y(double*) noexcept = 0;
            virtual int32_t __stdcall put_Y(double) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::ITranslateTransformStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_XProperty(void**) noexcept = 0;
            virtual int32_t __stdcall get_YProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IVisualTreeHelper>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IVisualTreeHelperStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall FindElementsInHostCoordinatesPoint(winrt::Windows::Foundation::Point, void*, void**) noexcept = 0;
            virtual int32_t __stdcall FindElementsInHostCoordinatesRect(winrt::Windows::Foundation::Rect, void*, void**) noexcept = 0;
            virtual int32_t __stdcall FindAllElementsInHostCoordinatesPoint(winrt::Windows::Foundation::Point, void*, bool, void**) noexcept = 0;
            virtual int32_t __stdcall FindAllElementsInHostCoordinatesRect(winrt::Windows::Foundation::Rect, void*, bool, void**) noexcept = 0;
            virtual int32_t __stdcall GetChild(void*, int32_t, void**) noexcept = 0;
            virtual int32_t __stdcall GetChildrenCount(void*, int32_t*) noexcept = 0;
            virtual int32_t __stdcall GetParent(void*, void**) noexcept = 0;
            virtual int32_t __stdcall DisconnectChildrenRecursive(void*) noexcept = 0;
            virtual int32_t __stdcall GetOpenPopups(void*, void**) noexcept = 0;
            virtual int32_t __stdcall GetOpenPopupsForXamlRoot(void*, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBase>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_FallbackColor(struct struct_Windows_UI_Color*) noexcept = 0;
            virtual int32_t __stdcall put_FallbackColor(struct struct_Windows_UI_Color) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseOverrides>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall OnConnected() noexcept = 0;
            virtual int32_t __stdcall OnDisconnected() noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseProtected>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_CompositionBrush(void**) noexcept = 0;
            virtual int32_t __stdcall put_CompositionBrush(void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_FallbackColorProperty(void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IXamlLight>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IXamlLightFactory>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall CreateInstance(void*, void**, void**) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IXamlLightOverrides>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall GetId(void**) noexcept = 0;
            virtual int32_t __stdcall OnConnected(void*) noexcept = 0;
            virtual int32_t __stdcall OnDisconnected(void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IXamlLightProtected>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall get_CompositionLight(void**) noexcept = 0;
            virtual int32_t __stdcall put_CompositionLight(void*) noexcept = 0;
        };
    };
    template <> struct abi<winrt::Microsoft::UI::Xaml::Media::IXamlLightStatics>
    {
        struct WINRT_IMPL_NOVTABLE type : inspectable_abi
        {
            virtual int32_t __stdcall AddTargetElement(void*, void*) noexcept = 0;
            virtual int32_t __stdcall RemoveTargetElement(void*, void*) noexcept = 0;
            virtual int32_t __stdcall AddTargetBrush(void*, void*) noexcept = 0;
            virtual int32_t __stdcall RemoveTargetBrush(void*, void*) noexcept = 0;
        };
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IAcrylicBrush
    {
        [[nodiscard]] auto TintColor() const;
        auto TintColor(winrt::Windows::UI::Color const& value) const;
        [[nodiscard]] auto TintOpacity() const;
        auto TintOpacity(double value) const;
        [[nodiscard]] auto TintTransitionDuration() const;
        auto TintTransitionDuration(winrt::Windows::Foundation::TimeSpan const& value) const;
        [[nodiscard]] auto AlwaysUseFallback() const;
        auto AlwaysUseFallback(bool value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrush>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IAcrylicBrush<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IAcrylicBrush2
    {
        [[nodiscard]] auto TintLuminosityOpacity() const;
        auto TintLuminosityOpacity(winrt::Windows::Foundation::IReference<double> const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrush2>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IAcrylicBrush2<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IAcrylicBrushFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrushFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IAcrylicBrushFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IAcrylicBrushStatics
    {
        [[nodiscard]] auto TintColorProperty() const;
        [[nodiscard]] auto TintOpacityProperty() const;
        [[nodiscard]] auto TintTransitionDurationProperty() const;
        [[nodiscard]] auto AlwaysUseFallbackProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrushStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IAcrylicBrushStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IAcrylicBrushStatics2
    {
        [[nodiscard]] auto TintLuminosityOpacityProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IAcrylicBrushStatics2>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IAcrylicBrushStatics2<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IArcSegment
    {
        [[nodiscard]] auto Point() const;
        auto Point(winrt::Windows::Foundation::Point const& value) const;
        [[nodiscard]] auto Size() const;
        auto Size(winrt::Windows::Foundation::Size const& value) const;
        [[nodiscard]] auto RotationAngle() const;
        auto RotationAngle(double value) const;
        [[nodiscard]] auto IsLargeArc() const;
        auto IsLargeArc(bool value) const;
        [[nodiscard]] auto SweepDirection() const;
        auto SweepDirection(winrt::Microsoft::UI::Xaml::Media::SweepDirection const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IArcSegment>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IArcSegment<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IArcSegmentStatics
    {
        [[nodiscard]] auto PointProperty() const;
        [[nodiscard]] auto SizeProperty() const;
        [[nodiscard]] auto RotationAngleProperty() const;
        [[nodiscard]] auto IsLargeArcProperty() const;
        [[nodiscard]] auto SweepDirectionProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IArcSegmentStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IArcSegmentStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IBezierSegment
    {
        [[nodiscard]] auto Point1() const;
        auto Point1(winrt::Windows::Foundation::Point const& value) const;
        [[nodiscard]] auto Point2() const;
        auto Point2(winrt::Windows::Foundation::Point const& value) const;
        [[nodiscard]] auto Point3() const;
        auto Point3(winrt::Windows::Foundation::Point const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IBezierSegment>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IBezierSegment<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IBezierSegmentStatics
    {
        [[nodiscard]] auto Point1Property() const;
        [[nodiscard]] auto Point2Property() const;
        [[nodiscard]] auto Point3Property() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IBezierSegmentStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IBezierSegmentStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IBitmapCache
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IBitmapCache>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IBitmapCache<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IBrush
    {
        [[nodiscard]] auto Opacity() const;
        auto Opacity(double value) const;
        [[nodiscard]] auto Transform() const;
        auto Transform(winrt::Microsoft::UI::Xaml::Media::Transform const& value) const;
        [[nodiscard]] auto RelativeTransform() const;
        auto RelativeTransform(winrt::Microsoft::UI::Xaml::Media::Transform const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IBrush>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IBrush<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IBrushFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IBrushFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IBrushFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IBrushOverrides
    {
        auto PopulatePropertyInfoOverride(param::hstring const& propertyName, winrt::Microsoft::UI::Composition::AnimationPropertyInfo const& animationPropertyInfo) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IBrushOverrides>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IBrushOverrides<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IBrushStatics
    {
        [[nodiscard]] auto OpacityProperty() const;
        [[nodiscard]] auto TransformProperty() const;
        [[nodiscard]] auto RelativeTransformProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IBrushStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IBrushStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ICacheMode
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ICacheMode>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ICacheMode<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ICacheModeFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ICacheModeFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ICacheModeFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ICompositeTransform
    {
        [[nodiscard]] auto CenterX() const;
        auto CenterX(double value) const;
        [[nodiscard]] auto CenterY() const;
        auto CenterY(double value) const;
        [[nodiscard]] auto ScaleX() const;
        auto ScaleX(double value) const;
        [[nodiscard]] auto ScaleY() const;
        auto ScaleY(double value) const;
        [[nodiscard]] auto SkewX() const;
        auto SkewX(double value) const;
        [[nodiscard]] auto SkewY() const;
        auto SkewY(double value) const;
        [[nodiscard]] auto Rotation() const;
        auto Rotation(double value) const;
        [[nodiscard]] auto TranslateX() const;
        auto TranslateX(double value) const;
        [[nodiscard]] auto TranslateY() const;
        auto TranslateY(double value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ICompositeTransform>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ICompositeTransform<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ICompositeTransformStatics
    {
        [[nodiscard]] auto CenterXProperty() const;
        [[nodiscard]] auto CenterYProperty() const;
        [[nodiscard]] auto ScaleXProperty() const;
        [[nodiscard]] auto ScaleYProperty() const;
        [[nodiscard]] auto SkewXProperty() const;
        [[nodiscard]] auto SkewYProperty() const;
        [[nodiscard]] auto RotationProperty() const;
        [[nodiscard]] auto TranslateXProperty() const;
        [[nodiscard]] auto TranslateYProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ICompositeTransformStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ICompositeTransformStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ICompositionTarget
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ICompositionTarget>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ICompositionTarget<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ICompositionTargetStatics
    {
        auto Rendering(winrt::Windows::Foundation::EventHandler<winrt::Windows::Foundation::IInspectable> const& handler) const;
        using Rendering_revoker = impl::event_revoker<winrt::Microsoft::UI::Xaml::Media::ICompositionTargetStatics, &impl::abi_t<winrt::Microsoft::UI::Xaml::Media::ICompositionTargetStatics>::remove_Rendering>;
        [[nodiscard]] auto Rendering(auto_revoke_t, winrt::Windows::Foundation::EventHandler<winrt::Windows::Foundation::IInspectable> const& handler) const;
        auto Rendering(winrt::event_token const& token) const noexcept;
        auto Rendered(winrt::Windows::Foundation::EventHandler<winrt::Microsoft::UI::Xaml::Media::RenderedEventArgs> const& handler) const;
        using Rendered_revoker = impl::event_revoker<winrt::Microsoft::UI::Xaml::Media::ICompositionTargetStatics, &impl::abi_t<winrt::Microsoft::UI::Xaml::Media::ICompositionTargetStatics>::remove_Rendered>;
        [[nodiscard]] auto Rendered(auto_revoke_t, winrt::Windows::Foundation::EventHandler<winrt::Microsoft::UI::Xaml::Media::RenderedEventArgs> const& handler) const;
        auto Rendered(winrt::event_token const& token) const noexcept;
        auto SurfaceContentsLost(winrt::Windows::Foundation::EventHandler<winrt::Windows::Foundation::IInspectable> const& handler) const;
        using SurfaceContentsLost_revoker = impl::event_revoker<winrt::Microsoft::UI::Xaml::Media::ICompositionTargetStatics, &impl::abi_t<winrt::Microsoft::UI::Xaml::Media::ICompositionTargetStatics>::remove_SurfaceContentsLost>;
        [[nodiscard]] auto SurfaceContentsLost(auto_revoke_t, winrt::Windows::Foundation::EventHandler<winrt::Windows::Foundation::IInspectable> const& handler) const;
        auto SurfaceContentsLost(winrt::event_token const& token) const noexcept;
        auto GetCompositorForCurrentThread() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ICompositionTargetStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ICompositionTargetStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IDesktopAcrylicBackdrop
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IDesktopAcrylicBackdrop>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IDesktopAcrylicBackdrop<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IDesktopAcrylicBackdropFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IDesktopAcrylicBackdropFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IDesktopAcrylicBackdropFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IEllipseGeometry
    {
        [[nodiscard]] auto Center() const;
        auto Center(winrt::Windows::Foundation::Point const& value) const;
        [[nodiscard]] auto RadiusX() const;
        auto RadiusX(double value) const;
        [[nodiscard]] auto RadiusY() const;
        auto RadiusY(double value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IEllipseGeometry>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IEllipseGeometry<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IEllipseGeometryStatics
    {
        [[nodiscard]] auto CenterProperty() const;
        [[nodiscard]] auto RadiusXProperty() const;
        [[nodiscard]] auto RadiusYProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IEllipseGeometryStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IEllipseGeometryStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IFontFamily
    {
        [[nodiscard]] auto Source() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IFontFamily>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IFontFamily<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IFontFamilyFactory
    {
        auto CreateInstanceWithName(param::hstring const& familyName, winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IFontFamilyFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IFontFamilyFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IFontFamilyStatics
    {
        [[nodiscard]] auto XamlAutoFontFamily() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IFontFamilyStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IFontFamilyStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IGeneralTransform
    {
        [[nodiscard]] auto Inverse() const;
        auto TransformPoint(winrt::Windows::Foundation::Point const& point) const;
        auto TryTransform(winrt::Windows::Foundation::Point const& inPoint, winrt::Windows::Foundation::Point& outPoint) const;
        auto TransformBounds(winrt::Windows::Foundation::Rect const& rect) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IGeneralTransform>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IGeneralTransform<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IGeneralTransformFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IGeneralTransformFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IGeneralTransformFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IGeneralTransformOverrides
    {
        [[nodiscard]] auto InverseCore() const;
        auto TryTransformCore(winrt::Windows::Foundation::Point const& inPoint, winrt::Windows::Foundation::Point& outPoint) const;
        auto TransformBoundsCore(winrt::Windows::Foundation::Rect const& rect) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IGeneralTransformOverrides>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IGeneralTransformOverrides<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IGeometry
    {
        [[nodiscard]] auto Transform() const;
        auto Transform(winrt::Microsoft::UI::Xaml::Media::Transform const& value) const;
        [[nodiscard]] auto Bounds() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IGeometry>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IGeometry<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IGeometryFactory
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IGeometryFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IGeometryFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IGeometryGroup
    {
        [[nodiscard]] auto FillRule() const;
        auto FillRule(winrt::Microsoft::UI::Xaml::Media::FillRule const& value) const;
        [[nodiscard]] auto Children() const;
        auto Children(winrt::Microsoft::UI::Xaml::Media::GeometryCollection const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IGeometryGroup>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IGeometryGroup<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IGeometryGroupStatics
    {
        [[nodiscard]] auto FillRuleProperty() const;
        [[nodiscard]] auto ChildrenProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IGeometryGroupStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IGeometryGroupStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IGeometryStatics
    {
        [[nodiscard]] auto Empty() const;
        [[nodiscard]] auto StandardFlatteningTolerance() const;
        [[nodiscard]] auto TransformProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IGeometryStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IGeometryStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IGradientBrush
    {
        [[nodiscard]] auto SpreadMethod() const;
        auto SpreadMethod(winrt::Microsoft::UI::Xaml::Media::GradientSpreadMethod const& value) const;
        [[nodiscard]] auto MappingMode() const;
        auto MappingMode(winrt::Microsoft::UI::Xaml::Media::BrushMappingMode const& value) const;
        [[nodiscard]] auto ColorInterpolationMode() const;
        auto ColorInterpolationMode(winrt::Microsoft::UI::Xaml::Media::ColorInterpolationMode const& value) const;
        [[nodiscard]] auto GradientStops() const;
        auto GradientStops(winrt::Microsoft::UI::Xaml::Media::GradientStopCollection const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IGradientBrush>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IGradientBrush<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IGradientBrushFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IGradientBrushFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IGradientBrushFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IGradientBrushStatics
    {
        [[nodiscard]] auto SpreadMethodProperty() const;
        [[nodiscard]] auto MappingModeProperty() const;
        [[nodiscard]] auto ColorInterpolationModeProperty() const;
        [[nodiscard]] auto GradientStopsProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IGradientBrushStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IGradientBrushStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IGradientStop
    {
        [[nodiscard]] auto Color() const;
        auto Color(winrt::Windows::UI::Color const& value) const;
        [[nodiscard]] auto Offset() const;
        auto Offset(double value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IGradientStop>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IGradientStop<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IGradientStopStatics
    {
        [[nodiscard]] auto ColorProperty() const;
        [[nodiscard]] auto OffsetProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IGradientStopStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IGradientStopStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IImageBrush
    {
        [[nodiscard]] auto ImageSource() const;
        auto ImageSource(winrt::Microsoft::UI::Xaml::Media::ImageSource const& value) const;
        auto ImageFailed(winrt::Microsoft::UI::Xaml::ExceptionRoutedEventHandler const& handler) const;
        using ImageFailed_revoker = impl::event_revoker<winrt::Microsoft::UI::Xaml::Media::IImageBrush, &impl::abi_t<winrt::Microsoft::UI::Xaml::Media::IImageBrush>::remove_ImageFailed>;
        [[nodiscard]] auto ImageFailed(auto_revoke_t, winrt::Microsoft::UI::Xaml::ExceptionRoutedEventHandler const& handler) const;
        auto ImageFailed(winrt::event_token const& token) const noexcept;
        auto ImageOpened(winrt::Microsoft::UI::Xaml::RoutedEventHandler const& handler) const;
        using ImageOpened_revoker = impl::event_revoker<winrt::Microsoft::UI::Xaml::Media::IImageBrush, &impl::abi_t<winrt::Microsoft::UI::Xaml::Media::IImageBrush>::remove_ImageOpened>;
        [[nodiscard]] auto ImageOpened(auto_revoke_t, winrt::Microsoft::UI::Xaml::RoutedEventHandler const& handler) const;
        auto ImageOpened(winrt::event_token const& token) const noexcept;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IImageBrush>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IImageBrush<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IImageBrushStatics
    {
        [[nodiscard]] auto ImageSourceProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IImageBrushStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IImageBrushStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IImageSource
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IImageSource>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IImageSource<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IImageSourceFactory
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IImageSourceFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IImageSourceFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ILineGeometry
    {
        [[nodiscard]] auto StartPoint() const;
        auto StartPoint(winrt::Windows::Foundation::Point const& value) const;
        [[nodiscard]] auto EndPoint() const;
        auto EndPoint(winrt::Windows::Foundation::Point const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ILineGeometry>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ILineGeometry<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ILineGeometryStatics
    {
        [[nodiscard]] auto StartPointProperty() const;
        [[nodiscard]] auto EndPointProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ILineGeometryStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ILineGeometryStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ILineSegment
    {
        [[nodiscard]] auto Point() const;
        auto Point(winrt::Windows::Foundation::Point const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ILineSegment>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ILineSegment<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ILineSegmentStatics
    {
        [[nodiscard]] auto PointProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ILineSegmentStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ILineSegmentStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ILinearGradientBrush
    {
        [[nodiscard]] auto StartPoint() const;
        auto StartPoint(winrt::Windows::Foundation::Point const& value) const;
        [[nodiscard]] auto EndPoint() const;
        auto EndPoint(winrt::Windows::Foundation::Point const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrush>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ILinearGradientBrush<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ILinearGradientBrushFactory
    {
        auto CreateInstanceWithGradientStopCollectionAndAngle(winrt::Microsoft::UI::Xaml::Media::GradientStopCollection const& gradientStopCollection, double angle) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrushFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ILinearGradientBrushFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ILinearGradientBrushStatics
    {
        [[nodiscard]] auto StartPointProperty() const;
        [[nodiscard]] auto EndPointProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ILinearGradientBrushStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ILinearGradientBrushStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ILoadedImageSourceLoadCompletedEventArgs
    {
        [[nodiscard]] auto Status() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSourceLoadCompletedEventArgs>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ILoadedImageSourceLoadCompletedEventArgs<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ILoadedImageSurface
    {
        [[nodiscard]] auto DecodedPhysicalSize() const;
        [[nodiscard]] auto DecodedSize() const;
        [[nodiscard]] auto NaturalSize() const;
        auto LoadCompleted(winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Xaml::Media::LoadedImageSurface, winrt::Microsoft::UI::Xaml::Media::LoadedImageSourceLoadCompletedEventArgs> const& handler) const;
        using LoadCompleted_revoker = impl::event_revoker<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSurface, &impl::abi_t<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSurface>::remove_LoadCompleted>;
        [[nodiscard]] auto LoadCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler<winrt::Microsoft::UI::Xaml::Media::LoadedImageSurface, winrt::Microsoft::UI::Xaml::Media::LoadedImageSourceLoadCompletedEventArgs> const& handler) const;
        auto LoadCompleted(winrt::event_token const& token) const noexcept;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSurface>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ILoadedImageSurface<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ILoadedImageSurfaceStatics
    {
        auto StartLoadFromUri(winrt::Windows::Foundation::Uri const& uri, winrt::Windows::Foundation::Size const& desiredMaxSize) const;
        auto StartLoadFromUri(winrt::Windows::Foundation::Uri const& uri) const;
        auto StartLoadFromStream(winrt::Windows::Storage::Streams::IRandomAccessStream const& stream, winrt::Windows::Foundation::Size const& desiredMaxSize) const;
        auto StartLoadFromStream(winrt::Windows::Storage::Streams::IRandomAccessStream const& stream) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ILoadedImageSurfaceStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ILoadedImageSurfaceStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IMatrix3DProjection
    {
        [[nodiscard]] auto ProjectionMatrix() const;
        auto ProjectionMatrix(winrt::Microsoft::UI::Xaml::Media::Media3D::Matrix3D const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IMatrix3DProjection>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IMatrix3DProjection<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IMatrix3DProjectionStatics
    {
        [[nodiscard]] auto ProjectionMatrixProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IMatrix3DProjectionStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IMatrix3DProjectionStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IMatrixHelper
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IMatrixHelper>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IMatrixHelper<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IMatrixHelperStatics
    {
        [[nodiscard]] auto Identity() const;
        auto FromElements(double m11, double m12, double m21, double m22, double offsetX, double offsetY) const;
        auto GetIsIdentity(winrt::Microsoft::UI::Xaml::Media::Matrix const& target) const;
        auto Transform(winrt::Microsoft::UI::Xaml::Media::Matrix const& target, winrt::Windows::Foundation::Point const& point) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IMatrixHelperStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IMatrixHelperStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IMatrixTransform
    {
        [[nodiscard]] auto Matrix() const;
        auto Matrix(winrt::Microsoft::UI::Xaml::Media::Matrix const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IMatrixTransform>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IMatrixTransform<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IMatrixTransformStatics
    {
        [[nodiscard]] auto MatrixProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IMatrixTransformStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IMatrixTransformStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IMediaTransportControlsThumbnailRequestedEventArgs
    {
        auto SetThumbnailImage(winrt::Windows::Storage::Streams::IInputStream const& source) const;
        auto GetDeferral() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IMediaTransportControlsThumbnailRequestedEventArgs>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IMediaTransportControlsThumbnailRequestedEventArgs<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IMicaBackdrop
    {
        [[nodiscard]] auto Kind() const;
        auto Kind(winrt::Microsoft::UI::Composition::SystemBackdrops::MicaKind const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IMicaBackdrop>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IMicaBackdrop<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IMicaBackdropFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IMicaBackdropFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IMicaBackdropFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IMicaBackdropStatics
    {
        [[nodiscard]] auto KindProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IMicaBackdropStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IMicaBackdropStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IPathFigure
    {
        [[nodiscard]] auto Segments() const;
        auto Segments(winrt::Microsoft::UI::Xaml::Media::PathSegmentCollection const& value) const;
        [[nodiscard]] auto StartPoint() const;
        auto StartPoint(winrt::Windows::Foundation::Point const& value) const;
        [[nodiscard]] auto IsClosed() const;
        auto IsClosed(bool value) const;
        [[nodiscard]] auto IsFilled() const;
        auto IsFilled(bool value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IPathFigure>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IPathFigure<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IPathFigureStatics
    {
        [[nodiscard]] auto SegmentsProperty() const;
        [[nodiscard]] auto StartPointProperty() const;
        [[nodiscard]] auto IsClosedProperty() const;
        [[nodiscard]] auto IsFilledProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IPathFigureStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IPathFigureStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IPathGeometry
    {
        [[nodiscard]] auto FillRule() const;
        auto FillRule(winrt::Microsoft::UI::Xaml::Media::FillRule const& value) const;
        [[nodiscard]] auto Figures() const;
        auto Figures(winrt::Microsoft::UI::Xaml::Media::PathFigureCollection const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IPathGeometry>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IPathGeometry<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IPathGeometryStatics
    {
        [[nodiscard]] auto FillRuleProperty() const;
        [[nodiscard]] auto FiguresProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IPathGeometryStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IPathGeometryStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IPathSegment
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IPathSegment>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IPathSegment<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IPathSegmentFactory
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IPathSegmentFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IPathSegmentFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IPlaneProjection
    {
        [[nodiscard]] auto LocalOffsetX() const;
        auto LocalOffsetX(double value) const;
        [[nodiscard]] auto LocalOffsetY() const;
        auto LocalOffsetY(double value) const;
        [[nodiscard]] auto LocalOffsetZ() const;
        auto LocalOffsetZ(double value) const;
        [[nodiscard]] auto RotationX() const;
        auto RotationX(double value) const;
        [[nodiscard]] auto RotationY() const;
        auto RotationY(double value) const;
        [[nodiscard]] auto RotationZ() const;
        auto RotationZ(double value) const;
        [[nodiscard]] auto CenterOfRotationX() const;
        auto CenterOfRotationX(double value) const;
        [[nodiscard]] auto CenterOfRotationY() const;
        auto CenterOfRotationY(double value) const;
        [[nodiscard]] auto CenterOfRotationZ() const;
        auto CenterOfRotationZ(double value) const;
        [[nodiscard]] auto GlobalOffsetX() const;
        auto GlobalOffsetX(double value) const;
        [[nodiscard]] auto GlobalOffsetY() const;
        auto GlobalOffsetY(double value) const;
        [[nodiscard]] auto GlobalOffsetZ() const;
        auto GlobalOffsetZ(double value) const;
        [[nodiscard]] auto ProjectionMatrix() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IPlaneProjection>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IPlaneProjection<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IPlaneProjectionStatics
    {
        [[nodiscard]] auto LocalOffsetXProperty() const;
        [[nodiscard]] auto LocalOffsetYProperty() const;
        [[nodiscard]] auto LocalOffsetZProperty() const;
        [[nodiscard]] auto RotationXProperty() const;
        [[nodiscard]] auto RotationYProperty() const;
        [[nodiscard]] auto RotationZProperty() const;
        [[nodiscard]] auto CenterOfRotationXProperty() const;
        [[nodiscard]] auto CenterOfRotationYProperty() const;
        [[nodiscard]] auto CenterOfRotationZProperty() const;
        [[nodiscard]] auto GlobalOffsetXProperty() const;
        [[nodiscard]] auto GlobalOffsetYProperty() const;
        [[nodiscard]] auto GlobalOffsetZProperty() const;
        [[nodiscard]] auto ProjectionMatrixProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IPlaneProjectionStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IPlaneProjectionStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IPolyBezierSegment
    {
        [[nodiscard]] auto Points() const;
        auto Points(winrt::Microsoft::UI::Xaml::Media::PointCollection const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IPolyBezierSegment>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IPolyBezierSegment<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IPolyBezierSegmentStatics
    {
        [[nodiscard]] auto PointsProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IPolyBezierSegmentStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IPolyBezierSegmentStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IPolyLineSegment
    {
        [[nodiscard]] auto Points() const;
        auto Points(winrt::Microsoft::UI::Xaml::Media::PointCollection const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IPolyLineSegment>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IPolyLineSegment<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IPolyLineSegmentStatics
    {
        [[nodiscard]] auto PointsProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IPolyLineSegmentStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IPolyLineSegmentStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IPolyQuadraticBezierSegment
    {
        [[nodiscard]] auto Points() const;
        auto Points(winrt::Microsoft::UI::Xaml::Media::PointCollection const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IPolyQuadraticBezierSegment>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IPolyQuadraticBezierSegment<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IPolyQuadraticBezierSegmentStatics
    {
        [[nodiscard]] auto PointsProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IPolyQuadraticBezierSegmentStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IPolyQuadraticBezierSegmentStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IProjection
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IProjection>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IProjection<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IProjectionFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IProjectionFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IProjectionFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IQuadraticBezierSegment
    {
        [[nodiscard]] auto Point1() const;
        auto Point1(winrt::Windows::Foundation::Point const& value) const;
        [[nodiscard]] auto Point2() const;
        auto Point2(winrt::Windows::Foundation::Point const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IQuadraticBezierSegment>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IQuadraticBezierSegment<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IQuadraticBezierSegmentStatics
    {
        [[nodiscard]] auto Point1Property() const;
        [[nodiscard]] auto Point2Property() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IQuadraticBezierSegmentStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IQuadraticBezierSegmentStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IRadialGradientBrush
    {
        [[nodiscard]] auto Center() const;
        auto Center(winrt::Windows::Foundation::Point const& value) const;
        [[nodiscard]] auto RadiusX() const;
        auto RadiusX(double value) const;
        [[nodiscard]] auto RadiusY() const;
        auto RadiusY(double value) const;
        [[nodiscard]] auto GradientOrigin() const;
        auto GradientOrigin(winrt::Windows::Foundation::Point const& value) const;
        [[nodiscard]] auto MappingMode() const;
        auto MappingMode(winrt::Microsoft::UI::Xaml::Media::BrushMappingMode const& value) const;
        [[nodiscard]] auto InterpolationSpace() const;
        auto InterpolationSpace(winrt::Microsoft::UI::Composition::CompositionColorSpace const& value) const;
        [[nodiscard]] auto SpreadMethod() const;
        auto SpreadMethod(winrt::Microsoft::UI::Xaml::Media::GradientSpreadMethod const& value) const;
        [[nodiscard]] auto GradientStops() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrush>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IRadialGradientBrush<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IRadialGradientBrushFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrushFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IRadialGradientBrushFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IRadialGradientBrushStatics
    {
        [[nodiscard]] auto CenterProperty() const;
        [[nodiscard]] auto RadiusXProperty() const;
        [[nodiscard]] auto RadiusYProperty() const;
        [[nodiscard]] auto GradientOriginProperty() const;
        [[nodiscard]] auto InterpolationSpaceProperty() const;
        [[nodiscard]] auto MappingModeProperty() const;
        [[nodiscard]] auto SpreadMethodProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IRadialGradientBrushStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IRadialGradientBrushStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IRectangleGeometry
    {
        [[nodiscard]] auto Rect() const;
        auto Rect(winrt::Windows::Foundation::Rect const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IRectangleGeometry>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IRectangleGeometry<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IRectangleGeometryStatics
    {
        [[nodiscard]] auto RectProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IRectangleGeometryStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IRectangleGeometryStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IRenderedEventArgs
    {
        [[nodiscard]] auto FrameDuration() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IRenderedEventArgs>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IRenderedEventArgs<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IRenderingEventArgs
    {
        [[nodiscard]] auto RenderingTime() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IRenderingEventArgs>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IRenderingEventArgs<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IRotateTransform
    {
        [[nodiscard]] auto CenterX() const;
        auto CenterX(double value) const;
        [[nodiscard]] auto CenterY() const;
        auto CenterY(double value) const;
        [[nodiscard]] auto Angle() const;
        auto Angle(double value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IRotateTransform>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IRotateTransform<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IRotateTransformStatics
    {
        [[nodiscard]] auto CenterXProperty() const;
        [[nodiscard]] auto CenterYProperty() const;
        [[nodiscard]] auto AngleProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IRotateTransformStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IRotateTransformStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IScaleTransform
    {
        [[nodiscard]] auto CenterX() const;
        auto CenterX(double value) const;
        [[nodiscard]] auto CenterY() const;
        auto CenterY(double value) const;
        [[nodiscard]] auto ScaleX() const;
        auto ScaleX(double value) const;
        [[nodiscard]] auto ScaleY() const;
        auto ScaleY(double value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IScaleTransform>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IScaleTransform<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IScaleTransformStatics
    {
        [[nodiscard]] auto CenterXProperty() const;
        [[nodiscard]] auto CenterYProperty() const;
        [[nodiscard]] auto ScaleXProperty() const;
        [[nodiscard]] auto ScaleYProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IScaleTransformStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IScaleTransformStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IShadow
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IShadow>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IShadow<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IShadowFactory
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IShadowFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IShadowFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ISkewTransform
    {
        [[nodiscard]] auto CenterX() const;
        auto CenterX(double value) const;
        [[nodiscard]] auto CenterY() const;
        auto CenterY(double value) const;
        [[nodiscard]] auto AngleX() const;
        auto AngleX(double value) const;
        [[nodiscard]] auto AngleY() const;
        auto AngleY(double value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ISkewTransform>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ISkewTransform<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ISkewTransformStatics
    {
        [[nodiscard]] auto CenterXProperty() const;
        [[nodiscard]] auto CenterYProperty() const;
        [[nodiscard]] auto AngleXProperty() const;
        [[nodiscard]] auto AngleYProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ISkewTransformStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ISkewTransformStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ISolidColorBrush
    {
        [[nodiscard]] auto Color() const;
        auto Color(winrt::Windows::UI::Color const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ISolidColorBrush>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ISolidColorBrush<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ISolidColorBrushFactory
    {
        auto CreateInstanceWithColor(winrt::Windows::UI::Color const& color) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ISolidColorBrushFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ISolidColorBrushFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ISolidColorBrushStatics
    {
        [[nodiscard]] auto ColorProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ISolidColorBrushStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ISolidColorBrushStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ISystemBackdrop
    {
        auto GetDefaultSystemBackdropConfiguration(winrt::Microsoft::UI::Composition::ICompositionSupportsSystemBackdrop const& target, winrt::Microsoft::UI::Xaml::XamlRoot const& xamlRoot) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ISystemBackdrop>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ISystemBackdrop<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ISystemBackdropFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ISystemBackdropFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ISystemBackdropFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ISystemBackdropOverrides
    {
        auto OnTargetConnected(winrt::Microsoft::UI::Composition::ICompositionSupportsSystemBackdrop const& connectedTarget, winrt::Microsoft::UI::Xaml::XamlRoot const& xamlRoot) const;
        auto OnTargetDisconnected(winrt::Microsoft::UI::Composition::ICompositionSupportsSystemBackdrop const& disconnectedTarget) const;
        auto OnDefaultSystemBackdropConfigurationChanged(winrt::Microsoft::UI::Composition::ICompositionSupportsSystemBackdrop const& target, winrt::Microsoft::UI::Xaml::XamlRoot const& xamlRoot) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ISystemBackdropOverrides>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ISystemBackdropOverrides<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IThemeShadow
    {
        [[nodiscard]] auto Receivers() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IThemeShadow>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IThemeShadow<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IThemeShadowFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IThemeShadowFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IThemeShadowFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ITileBrush
    {
        [[nodiscard]] auto AlignmentX() const;
        auto AlignmentX(winrt::Microsoft::UI::Xaml::Media::AlignmentX const& value) const;
        [[nodiscard]] auto AlignmentY() const;
        auto AlignmentY(winrt::Microsoft::UI::Xaml::Media::AlignmentY const& value) const;
        [[nodiscard]] auto Stretch() const;
        auto Stretch(winrt::Microsoft::UI::Xaml::Media::Stretch const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ITileBrush>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ITileBrush<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ITileBrushFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ITileBrushFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ITileBrushFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ITileBrushStatics
    {
        [[nodiscard]] auto AlignmentXProperty() const;
        [[nodiscard]] auto AlignmentYProperty() const;
        [[nodiscard]] auto StretchProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ITileBrushStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ITileBrushStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ITransform
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ITransform>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ITransform<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ITransformFactory
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ITransformFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ITransformFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ITransformGroup
    {
        [[nodiscard]] auto Children() const;
        auto Children(winrt::Microsoft::UI::Xaml::Media::TransformCollection const& value) const;
        [[nodiscard]] auto Value() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ITransformGroup>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ITransformGroup<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ITransformGroupStatics
    {
        [[nodiscard]] auto ChildrenProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ITransformGroupStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ITransformGroupStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ITranslateTransform
    {
        [[nodiscard]] auto X() const;
        auto X(double value) const;
        [[nodiscard]] auto Y() const;
        auto Y(double value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ITranslateTransform>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ITranslateTransform<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_ITranslateTransformStatics
    {
        [[nodiscard]] auto XProperty() const;
        [[nodiscard]] auto YProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::ITranslateTransformStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_ITranslateTransformStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IVisualTreeHelper
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IVisualTreeHelper>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IVisualTreeHelper<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IVisualTreeHelperStatics
    {
        auto FindElementsInHostCoordinates(winrt::Windows::Foundation::Point const& intersectingPoint, winrt::Microsoft::UI::Xaml::UIElement const& subtree) const;
        auto FindElementsInHostCoordinates(winrt::Windows::Foundation::Rect const& intersectingRect, winrt::Microsoft::UI::Xaml::UIElement const& subtree) const;
        auto FindElementsInHostCoordinates(winrt::Windows::Foundation::Point const& intersectingPoint, winrt::Microsoft::UI::Xaml::UIElement const& subtree, bool includeAllElements) const;
        auto FindElementsInHostCoordinates(winrt::Windows::Foundation::Rect const& intersectingRect, winrt::Microsoft::UI::Xaml::UIElement const& subtree, bool includeAllElements) const;
        auto GetChild(winrt::Microsoft::UI::Xaml::DependencyObject const& reference, int32_t childIndex) const;
        auto GetChildrenCount(winrt::Microsoft::UI::Xaml::DependencyObject const& reference) const;
        auto GetParent(winrt::Microsoft::UI::Xaml::DependencyObject const& reference) const;
        auto DisconnectChildrenRecursive(winrt::Microsoft::UI::Xaml::UIElement const& element) const;
        auto GetOpenPopups(winrt::Microsoft::UI::Xaml::Window const& window) const;
        auto GetOpenPopupsForXamlRoot(winrt::Microsoft::UI::Xaml::XamlRoot const& xamlRoot) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IVisualTreeHelperStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IVisualTreeHelperStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IXamlCompositionBrushBase
    {
        [[nodiscard]] auto FallbackColor() const;
        auto FallbackColor(winrt::Windows::UI::Color const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBase>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IXamlCompositionBrushBase<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IXamlCompositionBrushBaseFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IXamlCompositionBrushBaseFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IXamlCompositionBrushBaseOverrides
    {
        auto OnConnected() const;
        auto OnDisconnected() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseOverrides>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IXamlCompositionBrushBaseOverrides<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IXamlCompositionBrushBaseProtected
    {
        [[nodiscard]] auto CompositionBrush() const;
        auto CompositionBrush(winrt::Microsoft::UI::Composition::CompositionBrush const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseProtected>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IXamlCompositionBrushBaseProtected<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IXamlCompositionBrushBaseStatics
    {
        [[nodiscard]] auto FallbackColorProperty() const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IXamlCompositionBrushBaseStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IXamlCompositionBrushBaseStatics<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IXamlLight
    {
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IXamlLight>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IXamlLight<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IXamlLightFactory
    {
        auto CreateInstance(winrt::Windows::Foundation::IInspectable const& baseInterface, winrt::Windows::Foundation::IInspectable& innerInterface) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IXamlLightFactory>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IXamlLightFactory<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IXamlLightOverrides
    {
        auto GetId() const;
        auto OnConnected(winrt::Microsoft::UI::Xaml::UIElement const& newElement) const;
        auto OnDisconnected(winrt::Microsoft::UI::Xaml::UIElement const& oldElement) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IXamlLightOverrides>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IXamlLightOverrides<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IXamlLightProtected
    {
        [[nodiscard]] auto CompositionLight() const;
        auto CompositionLight(winrt::Microsoft::UI::Composition::CompositionLight const& value) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IXamlLightProtected>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IXamlLightProtected<D>;
    };
    template <typename D>
    struct consume_Microsoft_UI_Xaml_Media_IXamlLightStatics
    {
        auto AddTargetElement(param::hstring const& lightId, winrt::Microsoft::UI::Xaml::UIElement const& element) const;
        auto RemoveTargetElement(param::hstring const& lightId, winrt::Microsoft::UI::Xaml::UIElement const& element) const;
        auto AddTargetBrush(param::hstring const& lightId, winrt::Microsoft::UI::Xaml::Media::Brush const& brush) const;
        auto RemoveTargetBrush(param::hstring const& lightId, winrt::Microsoft::UI::Xaml::Media::Brush const& brush) const;
    };
    template <> struct consume<winrt::Microsoft::UI::Xaml::Media::IXamlLightStatics>
    {
        template <typename D> using type = consume_Microsoft_UI_Xaml_Media_IXamlLightStatics<D>;
    };
    struct struct_Microsoft_UI_Xaml_Media_Matrix
    {
        double M11;
        double M12;
        double M21;
        double M22;
        double OffsetX;
        double OffsetY;
    };
    template <> struct abi<Microsoft::UI::Xaml::Media::Matrix>
    {
        using type = struct_Microsoft_UI_Xaml_Media_Matrix;
    };
}
#endif
