//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.Graphics.idl";
import "Windows.Graphics.DirectX.Direct3D11.idl";
import "Windows.Graphics.Imaging.idl";
import "Windows.Media.idl";
import "Windows.Storage.idl";
import "Windows.Storage.Streams.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        namespace Collections
        {
            interface IPropertySet;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        interface IClosable;

        interface IMemoryBuffer;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace DirectX
        {
            namespace Direct3D11
            {
                interface IDirect3DDevice;
            }
        }
    }
}
namespace Windows
{
    namespace Graphics
    {
        typedef struct DisplayAdapterId DisplayAdapterId;
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Imaging
        {
            typedef enum BitmapAlphaMode BitmapAlphaMode;

            typedef enum BitmapPixelFormat BitmapPixelFormat;
        }
    }
}
namespace Windows
{
    namespace Media
    {
        runtimeclass VideoFrame;
    }
}
namespace Windows
{
    namespace Storage
    {
        interface IStorageFile;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IBuffer;

            interface IRandomAccessStreamReference;
        }
    }
}
namespace Windows
{
    namespace AI
    {
        namespace MachineLearning
        {
            apicontract MachineLearningContract;

            typedef enum LearningModelDeviceKind LearningModelDeviceKind;

            typedef enum LearningModelFeatureKind LearningModelFeatureKind;

            typedef enum LearningModelPixelRange LearningModelPixelRange;

            typedef enum TensorKind TensorKind;

            interface IImageFeatureDescriptor;

            interface IImageFeatureDescriptor2;

            interface IImageFeatureValue;

            interface IImageFeatureValueStatics;

            interface ILearningModel;

            interface ILearningModelBinding;

            interface ILearningModelBindingFactory;

            interface ILearningModelDevice;

            interface ILearningModelDeviceFactory;

            interface ILearningModelDeviceStatics;

            interface ILearningModelEvaluationResult;

            interface ILearningModelFeatureDescriptor;

            interface ILearningModelFeatureValue;

            interface ILearningModelOperatorProvider;

            interface ILearningModelSession;

            interface ILearningModelSessionFactory;

            interface ILearningModelSessionFactory2;

            interface ILearningModelSessionOptions;

            interface ILearningModelSessionOptions2;

            interface ILearningModelSessionOptions3;

            interface ILearningModelStatics;

            interface IMapFeatureDescriptor;

            interface ISequenceFeatureDescriptor;

            interface ITensor;

            interface ITensorBoolean;

            interface ITensorBooleanStatics;

            interface ITensorBooleanStatics2;

            interface ITensorDouble;

            interface ITensorDoubleStatics;

            interface ITensorDoubleStatics2;

            interface ITensorFeatureDescriptor;

            interface ITensorFloat;

            interface ITensorFloat16Bit;

            interface ITensorFloat16BitStatics;

            interface ITensorFloat16BitStatics2;

            interface ITensorFloatStatics;

            interface ITensorFloatStatics2;

            interface ITensorInt16Bit;

            interface ITensorInt16BitStatics;

            interface ITensorInt16BitStatics2;

            interface ITensorInt32Bit;

            interface ITensorInt32BitStatics;

            interface ITensorInt32BitStatics2;

            interface ITensorInt64Bit;

            interface ITensorInt64BitStatics;

            interface ITensorInt64BitStatics2;

            interface ITensorInt8Bit;

            interface ITensorInt8BitStatics;

            interface ITensorInt8BitStatics2;

            interface ITensorString;

            interface ITensorStringStatics;

            interface ITensorStringStatics2;

            interface ITensorUInt16Bit;

            interface ITensorUInt16BitStatics;

            interface ITensorUInt16BitStatics2;

            interface ITensorUInt32Bit;

            interface ITensorUInt32BitStatics;

            interface ITensorUInt32BitStatics2;

            interface ITensorUInt64Bit;

            interface ITensorUInt64BitStatics;

            interface ITensorUInt64BitStatics2;

            interface ITensorUInt8Bit;

            interface ITensorUInt8BitStatics;

            interface ITensorUInt8BitStatics2;

            runtimeclass ImageFeatureDescriptor;

            runtimeclass ImageFeatureValue;

            runtimeclass LearningModel;

            runtimeclass LearningModelBinding;

            runtimeclass LearningModelDevice;

            runtimeclass LearningModelEvaluationResult;

            runtimeclass LearningModelSession;

            runtimeclass LearningModelSessionOptions;

            runtimeclass MapFeatureDescriptor;

            runtimeclass SequenceFeatureDescriptor;

            runtimeclass TensorBoolean;

            runtimeclass TensorDouble;

            runtimeclass TensorFeatureDescriptor;

            runtimeclass TensorFloat;

            runtimeclass TensorFloat16Bit;

            runtimeclass TensorInt16Bit;

            runtimeclass TensorInt32Bit;

            runtimeclass TensorInt64Bit;

            runtimeclass TensorInt8Bit;

            runtimeclass TensorString;

            runtimeclass TensorUInt16Bit;

            runtimeclass TensorUInt32Bit;

            runtimeclass TensorUInt64Bit;

            runtimeclass TensorUInt8Bit;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace AI
    {
        namespace MachineLearning
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.AI.MachineLearning.ILearningModelFeatureDescriptor*>;

                interface Windows.Foundation.Collections.IIterator<Windows.AI.MachineLearning.ILearningModelFeatureDescriptor*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.AI.MachineLearning.ILearningModelFeatureDescriptor*>;

                interface Windows.Foundation.IAsyncOperation<Windows.AI.MachineLearning.LearningModel*>;

                interface Windows.Foundation.IAsyncOperation<Windows.AI.MachineLearning.LearningModelEvaluationResult*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace AI
    {
        namespace MachineLearning
        {
            [contractversion(5.0)]
            apicontract MachineLearningContract
            {
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            enum LearningModelDeviceKind
            {
                Default                = 0,
                Cpu                    = 1,
                DirectX                = 2,
                DirectXHighPerformance = 3,
                DirectXMinPower        = 4
            };

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            enum LearningModelFeatureKind
            {
                Tensor   = 0,
                Sequence = 1,
                Map      = 2,
                Image    = 3
            };

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 5.0)]
            enum LearningModelPixelRange
            {
                ZeroTo255     = 0,
                ZeroToOne     = 1,
                MinusOneToOne = 2
            };

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            enum TensorKind
            {
                Undefined  = 0,
                Float      = 1,
                UInt8      = 2,
                Int8       = 3,
                UInt16     = 4,
                Int16      = 5,
                Int32      = 6,
                Int64      = 7,
                String     = 8,
                Boolean    = 9,
                Float16    = 10,
                Double     = 11,
                UInt32     = 12,
                UInt64     = 13,
                Complex64  = 14,
                Complex128 = 15
            };

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.ImageFeatureDescriptor)]
            [uuid(365585A5-171A-4A2A-985F-265159D3895A)]
            interface IImageFeatureDescriptor : IInspectable
            {
                [propget] HRESULT BitmapPixelFormat([out] [retval] Windows.Graphics.Imaging.BitmapPixelFormat* value);
                [propget] HRESULT BitmapAlphaMode([out] [retval] Windows.Graphics.Imaging.BitmapAlphaMode* value);
                [propget] HRESULT Width([out] [retval] UINT32* value);
                [propget] HRESULT Height([out] [retval] UINT32* value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 5.0)]
            [exclusiveto(Windows.AI.MachineLearning.ImageFeatureDescriptor)]
            [uuid(2B27CCA7-D533-5862-BB98-1611B155B0E1)]
            interface IImageFeatureDescriptor2 : IInspectable
            {
                [propget] HRESULT PixelRange([out] [retval] Windows.AI.MachineLearning.LearningModelPixelRange* value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.ImageFeatureValue)]
            [uuid(F0414FD9-C9AA-4405-B7FB-94F87C8A3037)]
            interface IImageFeatureValue : IInspectable
            {
                [propget] HRESULT VideoFrame([out] [retval] Windows.Media.VideoFrame** value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.ImageFeatureValue)]
            [uuid(1BC317FD-23CB-4610-B085-C8E1C87EBAA0)]
            interface IImageFeatureValueStatics : IInspectable
            {
                HRESULT CreateFromVideoFrame([in] Windows.Media.VideoFrame* image, [out] [retval] Windows.AI.MachineLearning.ImageFeatureValue** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.LearningModel)]
            [uuid(5B8E4920-489F-4E86-9128-265A327B78FA)]
            interface ILearningModel : IInspectable
            {
                [propget] HRESULT Author([out] [retval] HSTRING* value);
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propget] HRESULT Domain([out] [retval] HSTRING* value);
                [propget] HRESULT Description([out] [retval] HSTRING* value);
                [propget] HRESULT Version([out] [retval] INT64* value);
                [propget] HRESULT Metadata([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, HSTRING>** value);
                [propget] HRESULT InputFeatures([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.AI.MachineLearning.ILearningModelFeatureDescriptor*>** value);
                [propget] HRESULT OutputFeatures([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.AI.MachineLearning.ILearningModelFeatureDescriptor*>** value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.LearningModelBinding)]
            [uuid(EA312F20-168F-4F8C-94FE-2E7AC31B4AA8)]
            interface ILearningModelBinding : IInspectable
            {
                [overload("Bind")] HRESULT Bind([in] HSTRING name, [in] IInspectable* value);
                [overload("Bind")] HRESULT BindWithProperties([in] HSTRING name, [in] IInspectable* value, [in] Windows.Foundation.Collections.IPropertySet* props);
                HRESULT Clear();
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.LearningModelBinding)]
            [uuid(C95F7A7A-E788-475E-8917-23AA381FAF0B)]
            interface ILearningModelBindingFactory : IInspectable
            {
                HRESULT CreateFromSession([in] Windows.AI.MachineLearning.LearningModelSession* session, [out] [retval] Windows.AI.MachineLearning.LearningModelBinding** value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.LearningModelDevice)]
            [uuid(F5C2C8FE-3F56-4A8C-AC5F-FDB92D8B8252)]
            interface ILearningModelDevice : IInspectable
            {
                [propget] HRESULT AdapterId([out] [retval] Windows.Graphics.DisplayAdapterId* value);
                [propget] HRESULT Direct3D11Device([out] [retval] Windows.Graphics.DirectX.Direct3D11.IDirect3DDevice** value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.LearningModelDevice)]
            [uuid(9CFFD74D-B1E5-4F20-80AD-0A56690DB06B)]
            interface ILearningModelDeviceFactory : IInspectable
            {
                HRESULT Create([in] Windows.AI.MachineLearning.LearningModelDeviceKind deviceKind, [out] [retval] Windows.AI.MachineLearning.LearningModelDevice** value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.LearningModelDevice)]
            [uuid(49F32107-A8BF-42BB-92C7-10B12DC5D21F)]
            interface ILearningModelDeviceStatics : IInspectable
            {
                HRESULT CreateFromDirect3D11Device([in] Windows.Graphics.DirectX.Direct3D11.IDirect3DDevice* device, [out] [retval] Windows.AI.MachineLearning.LearningModelDevice** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.LearningModelEvaluationResult)]
            [uuid(B2F9BFCD-960E-49C0-8593-EB190AE3EEE2)]
            interface ILearningModelEvaluationResult : IInspectable
            {
                [propget] HRESULT CorrelationId([out] [retval] HSTRING* value);
                [propget] HRESULT ErrorStatus([out] [retval] INT32* value);
                [propget] HRESULT Succeeded([out] [retval] boolean* value);
                [propget] HRESULT Outputs([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, IInspectable*>** value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [uuid(BC08CF7C-6ED0-4004-97BA-B9A2EECD2B4F)]
            interface ILearningModelFeatureDescriptor : IInspectable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propget] HRESULT Description([out] [retval] HSTRING* value);
                [propget] HRESULT Kind([out] [retval] Windows.AI.MachineLearning.LearningModelFeatureKind* value);
                [propget] HRESULT IsRequired([out] [retval] boolean* value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [uuid(F51005DB-4085-4DFE-9FED-95EB0C0CF75C)]
            interface ILearningModelFeatureValue : IInspectable
            {
                [propget] HRESULT Kind([out] [retval] Windows.AI.MachineLearning.LearningModelFeatureKind* value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [uuid(2A222E5D-AFB1-47ED-BFAD-B5B3A459EC04)]
            interface ILearningModelOperatorProvider : IInspectable
            {
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.LearningModelSession)]
            [uuid(8E58F8F6-B787-4C11-90F0-7129AECA74A9)]
            interface ILearningModelSession : IInspectable
            {
                [propget] HRESULT Model([out] [retval] Windows.AI.MachineLearning.LearningModel** value);
                [propget] HRESULT Device([out] [retval] Windows.AI.MachineLearning.LearningModelDevice** value);
                [propget] HRESULT EvaluationProperties([out] [retval] Windows.Foundation.Collections.IPropertySet** value);
                HRESULT EvaluateAsync([in] Windows.AI.MachineLearning.LearningModelBinding* bindings, [in] HSTRING correlationId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.AI.MachineLearning.LearningModelEvaluationResult*>** operation);
                HRESULT EvaluateFeaturesAsync([in] Windows.Foundation.Collections.IMap<HSTRING, IInspectable*>* features, [in] HSTRING correlationId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.AI.MachineLearning.LearningModelEvaluationResult*>** operation);
                HRESULT Evaluate([in] Windows.AI.MachineLearning.LearningModelBinding* bindings, [in] HSTRING correlationId, [out] [retval] Windows.AI.MachineLearning.LearningModelEvaluationResult** result);
                HRESULT EvaluateFeatures([in] Windows.Foundation.Collections.IMap<HSTRING, IInspectable*>* features, [in] HSTRING correlationId, [out] [retval] Windows.AI.MachineLearning.LearningModelEvaluationResult** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.LearningModelSession)]
            [uuid(0F6B881D-1C9B-47B6-BFE0-F1CF62A67579)]
            interface ILearningModelSessionFactory : IInspectable
            {
                HRESULT CreateFromModel([in] Windows.AI.MachineLearning.LearningModel* model, [out] [retval] Windows.AI.MachineLearning.LearningModelSession** value);
                HRESULT CreateFromModelOnDevice([in] Windows.AI.MachineLearning.LearningModel* model, [in] Windows.AI.MachineLearning.LearningModelDevice* deviceToRunOn, [out] [retval] Windows.AI.MachineLearning.LearningModelSession** value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [exclusiveto(Windows.AI.MachineLearning.LearningModelSession)]
            [uuid(4E5C88BF-0A1F-5FEC-ADE0-2FD91E4EF29B)]
            interface ILearningModelSessionFactory2 : IInspectable
            {
                HRESULT CreateFromModelOnDeviceWithSessionOptions([in] Windows.AI.MachineLearning.LearningModel* model, [in] Windows.AI.MachineLearning.LearningModelDevice* deviceToRunOn, [in] Windows.AI.MachineLearning.LearningModelSessionOptions* learningModelSessionOptions, [out] [retval] Windows.AI.MachineLearning.LearningModelSession** value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [exclusiveto(Windows.AI.MachineLearning.LearningModelSessionOptions)]
            [uuid(B8F63FA1-134D-5133-8CFF-3A5C3C263BEB)]
            interface ILearningModelSessionOptions : IInspectable
            {
                [propget] HRESULT BatchSizeOverride([out] [retval] UINT32* value);
                [propput] HRESULT BatchSizeOverride([in] UINT32 value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 3.0)]
            [exclusiveto(Windows.AI.MachineLearning.LearningModelSessionOptions)]
            [uuid(6FCD1DC4-175F-5BD2-8DE5-2F2006A25ADF)]
            interface ILearningModelSessionOptions2 : IInspectable
            {
                [propget] HRESULT CloseModelOnSessionCreation([out] [retval] boolean* value);
                [propput] HRESULT CloseModelOnSessionCreation([in] boolean value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 4.0)]
            [exclusiveto(Windows.AI.MachineLearning.LearningModelSessionOptions)]
            [uuid(58E15CEE-D8C2-56FC-92E8-76D751081086)]
            interface ILearningModelSessionOptions3 : IInspectable
            {
                HRESULT OverrideNamedDimension([in] HSTRING name, [in] UINT32 dimension);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.LearningModel)]
            [uuid(E3B977E8-6952-4E47-8EF4-1F7F07897C6D)]
            interface ILearningModelStatics : IInspectable
            {
                [overload("LoadFromStorageFileAsync")] HRESULT LoadFromStorageFileAsync([in] Windows.Storage.IStorageFile* modelFile, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.AI.MachineLearning.LearningModel*>** operation);
                [overload("LoadFromStreamAsync")] HRESULT LoadFromStreamAsync([in] Windows.Storage.Streams.IRandomAccessStreamReference* modelStream, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.AI.MachineLearning.LearningModel*>** operation);
                [overload("LoadFromFilePath")] HRESULT LoadFromFilePath([in] HSTRING filePath, [out] [retval] Windows.AI.MachineLearning.LearningModel** result);
                [overload("LoadFromStream")] HRESULT LoadFromStream([in] Windows.Storage.Streams.IRandomAccessStreamReference* modelStream, [out] [retval] Windows.AI.MachineLearning.LearningModel** result);
                [overload("LoadFromStorageFileAsync")] HRESULT LoadFromStorageFileWithOperatorProviderAsync([in] Windows.Storage.IStorageFile* modelFile, [in] Windows.AI.MachineLearning.ILearningModelOperatorProvider* operatorProvider, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.AI.MachineLearning.LearningModel*>** operation);
                [overload("LoadFromStreamAsync")] HRESULT LoadFromStreamWithOperatorProviderAsync([in] Windows.Storage.Streams.IRandomAccessStreamReference* modelStream, [in] Windows.AI.MachineLearning.ILearningModelOperatorProvider* operatorProvider, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.AI.MachineLearning.LearningModel*>** operation);
                [overload("LoadFromFilePath")] HRESULT LoadFromFilePathWithOperatorProvider([in] HSTRING filePath, [in] Windows.AI.MachineLearning.ILearningModelOperatorProvider* operatorProvider, [out] [retval] Windows.AI.MachineLearning.LearningModel** result);
                [overload("LoadFromStream")] HRESULT LoadFromStreamWithOperatorProvider([in] Windows.Storage.Streams.IRandomAccessStreamReference* modelStream, [in] Windows.AI.MachineLearning.ILearningModelOperatorProvider* operatorProvider, [out] [retval] Windows.AI.MachineLearning.LearningModel** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.MapFeatureDescriptor)]
            [uuid(530424BD-A257-436D-9E60-C2981F7CC5C4)]
            interface IMapFeatureDescriptor : IInspectable
            {
                [propget] HRESULT KeyKind([out] [retval] Windows.AI.MachineLearning.TensorKind* value);
                [propget] HRESULT ValueDescriptor([out] [retval] Windows.AI.MachineLearning.ILearningModelFeatureDescriptor** value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.SequenceFeatureDescriptor)]
            [uuid(84F6945A-562B-4D62-A851-739ACED96668)]
            interface ISequenceFeatureDescriptor : IInspectable
            {
                [propget] HRESULT ElementDescriptor([out] [retval] Windows.AI.MachineLearning.ILearningModelFeatureDescriptor** value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [uuid(05489593-A305-4A25-AD09-440119B4B7F6)]
            interface ITensor : IInspectable
                requires
                    Windows.AI.MachineLearning.ILearningModelFeatureValue
            {
                [propget] HRESULT TensorKind([out] [retval] Windows.AI.MachineLearning.TensorKind* value);
                [propget] HRESULT Shape([out] [retval] Windows.Foundation.Collections.IVectorView<INT64>** value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorBoolean)]
            [uuid(50F311ED-29E9-4A5C-A44D-8FC512584EED)]
            interface ITensorBoolean : IInspectable
            {
                HRESULT GetAsVectorView([out] [retval] Windows.Foundation.Collections.IVectorView<boolean>** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorBoolean)]
            [uuid(2796862C-2357-49A7-B476-D0AA3DFE6866)]
            interface ITensorBooleanStatics : IInspectable
            {
                [overload("Create")] HRESULT Create([out] [retval] Windows.AI.MachineLearning.TensorBoolean** result);
                [overload("Create")] HRESULT Create2([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [out] [retval] Windows.AI.MachineLearning.TensorBoolean** result);
                HRESULT CreateFromArray([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] boolean* data, [out] [retval] Windows.AI.MachineLearning.TensorBoolean** result);
                HRESULT CreateFromIterable([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] Windows.Foundation.Collections.IIterable<boolean>* data, [out] [retval] Windows.AI.MachineLearning.TensorBoolean** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorBoolean)]
            [uuid(A3A4A501-6A2D-52D7-B04B-C435BAEE0115)]
            interface ITensorBooleanStatics2 : IInspectable
            {
                HRESULT CreateFromShapeArrayAndDataArray([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] boolean* data, [out] [retval] Windows.AI.MachineLearning.TensorBoolean** result);
                HRESULT CreateFromBuffer([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] Windows.Storage.Streams.IBuffer* buffer, [out] [retval] Windows.AI.MachineLearning.TensorBoolean** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorDouble)]
            [uuid(91E41252-7A8F-4F0E-A28F-9637FFC8A3D0)]
            interface ITensorDouble : IInspectable
            {
                HRESULT GetAsVectorView([out] [retval] Windows.Foundation.Collections.IVectorView<DOUBLE>** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorDouble)]
            [uuid(A86693C5-9538-44E7-A3CA-5DF374A5A70C)]
            interface ITensorDoubleStatics : IInspectable
            {
                [overload("Create")] HRESULT Create([out] [retval] Windows.AI.MachineLearning.TensorDouble** result);
                [overload("Create")] HRESULT Create2([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [out] [retval] Windows.AI.MachineLearning.TensorDouble** result);
                HRESULT CreateFromArray([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] DOUBLE* data, [out] [retval] Windows.AI.MachineLearning.TensorDouble** result);
                HRESULT CreateFromIterable([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] Windows.Foundation.Collections.IIterable<DOUBLE>* data, [out] [retval] Windows.AI.MachineLearning.TensorDouble** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorDouble)]
            [uuid(93A570DE-5E9A-5094-85C8-592C655E68AC)]
            interface ITensorDoubleStatics2 : IInspectable
            {
                HRESULT CreateFromShapeArrayAndDataArray([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] DOUBLE* data, [out] [retval] Windows.AI.MachineLearning.TensorDouble** result);
                HRESULT CreateFromBuffer([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] Windows.Storage.Streams.IBuffer* buffer, [out] [retval] Windows.AI.MachineLearning.TensorDouble** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorFeatureDescriptor)]
            [uuid(74455C80-946A-4310-A19C-EE0AF028FCE4)]
            interface ITensorFeatureDescriptor : IInspectable
            {
                [propget] HRESULT TensorKind([out] [retval] Windows.AI.MachineLearning.TensorKind* value);
                [propget] HRESULT Shape([out] [retval] Windows.Foundation.Collections.IVectorView<INT64>** value);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorFloat)]
            [uuid(F2282D82-AA02-42C8-A0C8-DF1EFC9676E1)]
            interface ITensorFloat : IInspectable
            {
                HRESULT GetAsVectorView([out] [retval] Windows.Foundation.Collections.IVectorView<FLOAT>** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorFloat16Bit)]
            [uuid(0AB994FC-5B89-4C3C-B5E4-5282A5316C0A)]
            interface ITensorFloat16Bit : IInspectable
            {
                HRESULT GetAsVectorView([out] [retval] Windows.Foundation.Collections.IVectorView<FLOAT>** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorFloat16Bit)]
            [uuid(A52DB6F5-318A-44D4-820B-0CDC7054A84A)]
            interface ITensorFloat16BitStatics : IInspectable
            {
                [overload("Create")] HRESULT Create([out] [retval] Windows.AI.MachineLearning.TensorFloat16Bit** result);
                [overload("Create")] HRESULT Create2([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [out] [retval] Windows.AI.MachineLearning.TensorFloat16Bit** result);
                HRESULT CreateFromArray([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] FLOAT* data, [out] [retval] Windows.AI.MachineLearning.TensorFloat16Bit** result);
                HRESULT CreateFromIterable([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] Windows.Foundation.Collections.IIterable<FLOAT>* data, [out] [retval] Windows.AI.MachineLearning.TensorFloat16Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorFloat16Bit)]
            [uuid(68545726-2DC7-51BF-B470-0B344CC2A1BC)]
            interface ITensorFloat16BitStatics2 : IInspectable
            {
                HRESULT CreateFromShapeArrayAndDataArray([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] FLOAT* data, [out] [retval] Windows.AI.MachineLearning.TensorFloat16Bit** result);
                HRESULT CreateFromBuffer([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] Windows.Storage.Streams.IBuffer* buffer, [out] [retval] Windows.AI.MachineLearning.TensorFloat16Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorFloat)]
            [uuid(DBCD395B-3BA3-452F-B10D-3C135E573FA9)]
            interface ITensorFloatStatics : IInspectable
            {
                [overload("Create")] HRESULT Create([out] [retval] Windows.AI.MachineLearning.TensorFloat** result);
                [overload("Create")] HRESULT Create2([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [out] [retval] Windows.AI.MachineLearning.TensorFloat** result);
                HRESULT CreateFromArray([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] FLOAT* data, [out] [retval] Windows.AI.MachineLearning.TensorFloat** result);
                HRESULT CreateFromIterable([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] Windows.Foundation.Collections.IIterable<FLOAT>* data, [out] [retval] Windows.AI.MachineLearning.TensorFloat** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorFloat)]
            [uuid(24610BC1-5E44-5713-B281-8F4AD4D555E8)]
            interface ITensorFloatStatics2 : IInspectable
            {
                HRESULT CreateFromShapeArrayAndDataArray([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] FLOAT* data, [out] [retval] Windows.AI.MachineLearning.TensorFloat** result);
                HRESULT CreateFromBuffer([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] Windows.Storage.Streams.IBuffer* buffer, [out] [retval] Windows.AI.MachineLearning.TensorFloat** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorInt16Bit)]
            [uuid(98A32D39-E6D6-44AF-8AFA-BAEBC44DC020)]
            interface ITensorInt16Bit : IInspectable
            {
                HRESULT GetAsVectorView([out] [retval] Windows.Foundation.Collections.IVectorView<INT16>** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorInt16Bit)]
            [uuid(98646293-266E-4B1A-821F-E60D70898B91)]
            interface ITensorInt16BitStatics : IInspectable
            {
                [overload("Create")] HRESULT Create([out] [retval] Windows.AI.MachineLearning.TensorInt16Bit** result);
                [overload("Create")] HRESULT Create2([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [out] [retval] Windows.AI.MachineLearning.TensorInt16Bit** result);
                HRESULT CreateFromArray([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] INT16* data, [out] [retval] Windows.AI.MachineLearning.TensorInt16Bit** result);
                HRESULT CreateFromIterable([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] Windows.Foundation.Collections.IIterable<INT16>* data, [out] [retval] Windows.AI.MachineLearning.TensorInt16Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorInt16Bit)]
            [uuid(0CD70CF4-696C-5E5F-95D8-5EBF9670148B)]
            interface ITensorInt16BitStatics2 : IInspectable
            {
                HRESULT CreateFromShapeArrayAndDataArray([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] INT16* data, [out] [retval] Windows.AI.MachineLearning.TensorInt16Bit** result);
                HRESULT CreateFromBuffer([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] Windows.Storage.Streams.IBuffer* buffer, [out] [retval] Windows.AI.MachineLearning.TensorInt16Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorInt32Bit)]
            [uuid(2C0C28D3-207C-4486-A7D2-884522C5E589)]
            interface ITensorInt32Bit : IInspectable
            {
                HRESULT GetAsVectorView([out] [retval] Windows.Foundation.Collections.IVectorView<INT32>** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorInt32Bit)]
            [uuid(6539864B-52FA-4E35-907C-834CAC417B50)]
            interface ITensorInt32BitStatics : IInspectable
            {
                [overload("Create")] HRESULT Create([out] [retval] Windows.AI.MachineLearning.TensorInt32Bit** result);
                [overload("Create")] HRESULT Create2([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [out] [retval] Windows.AI.MachineLearning.TensorInt32Bit** result);
                HRESULT CreateFromArray([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] INT32* data, [out] [retval] Windows.AI.MachineLearning.TensorInt32Bit** result);
                HRESULT CreateFromIterable([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] Windows.Foundation.Collections.IIterable<INT32>* data, [out] [retval] Windows.AI.MachineLearning.TensorInt32Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorInt32Bit)]
            [uuid(7C4B079A-E956-5CE0-A3BD-157D9D79B5EC)]
            interface ITensorInt32BitStatics2 : IInspectable
            {
                HRESULT CreateFromShapeArrayAndDataArray([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] INT32* data, [out] [retval] Windows.AI.MachineLearning.TensorInt32Bit** result);
                HRESULT CreateFromBuffer([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] Windows.Storage.Streams.IBuffer* buffer, [out] [retval] Windows.AI.MachineLearning.TensorInt32Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorInt64Bit)]
            [uuid(499665BA-1FA2-45AD-AF25-A0BD9BDA4C87)]
            interface ITensorInt64Bit : IInspectable
            {
                HRESULT GetAsVectorView([out] [retval] Windows.Foundation.Collections.IVectorView<INT64>** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorInt64Bit)]
            [uuid(9648AD9D-1198-4D74-9517-783AB62B9CC2)]
            interface ITensorInt64BitStatics : IInspectable
            {
                [overload("Create")] HRESULT Create([out] [retval] Windows.AI.MachineLearning.TensorInt64Bit** result);
                [overload("Create")] HRESULT Create2([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [out] [retval] Windows.AI.MachineLearning.TensorInt64Bit** result);
                HRESULT CreateFromArray([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] INT64* data, [out] [retval] Windows.AI.MachineLearning.TensorInt64Bit** result);
                HRESULT CreateFromIterable([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] Windows.Foundation.Collections.IIterable<INT64>* data, [out] [retval] Windows.AI.MachineLearning.TensorInt64Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorInt64Bit)]
            [uuid(6D3D9DCB-FF40-5EC2-89FE-084E2B6BC6DB)]
            interface ITensorInt64BitStatics2 : IInspectable
            {
                HRESULT CreateFromShapeArrayAndDataArray([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] INT64* data, [out] [retval] Windows.AI.MachineLearning.TensorInt64Bit** result);
                HRESULT CreateFromBuffer([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] Windows.Storage.Streams.IBuffer* buffer, [out] [retval] Windows.AI.MachineLearning.TensorInt64Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorInt8Bit)]
            [uuid(CDDD97C5-FFD8-4FEF-AEFB-30E1A485B2EE)]
            interface ITensorInt8Bit : IInspectable
            {
                HRESULT GetAsVectorView([out] [retval] Windows.Foundation.Collections.IVectorView<BYTE>** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorInt8Bit)]
            [uuid(B1A12284-095C-4C76-A661-AC4CEE1F3E8B)]
            interface ITensorInt8BitStatics : IInspectable
            {
                [overload("Create")] HRESULT Create([out] [retval] Windows.AI.MachineLearning.TensorInt8Bit** result);
                [overload("Create")] HRESULT Create2([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [out] [retval] Windows.AI.MachineLearning.TensorInt8Bit** result);
                HRESULT CreateFromArray([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] BYTE* data, [out] [retval] Windows.AI.MachineLearning.TensorInt8Bit** result);
                HRESULT CreateFromIterable([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] Windows.Foundation.Collections.IIterable<BYTE>* data, [out] [retval] Windows.AI.MachineLearning.TensorInt8Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorInt8Bit)]
            [uuid(C0D59637-C468-56FB-9535-C052BDB93DC0)]
            interface ITensorInt8BitStatics2 : IInspectable
            {
                HRESULT CreateFromShapeArrayAndDataArray([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] BYTE* data, [out] [retval] Windows.AI.MachineLearning.TensorInt8Bit** result);
                HRESULT CreateFromBuffer([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] Windows.Storage.Streams.IBuffer* buffer, [out] [retval] Windows.AI.MachineLearning.TensorInt8Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorString)]
            [uuid(582335C8-BDB1-4610-BC75-35E9CBF009B7)]
            interface ITensorString : IInspectable
            {
                HRESULT GetAsVectorView([out] [retval] Windows.Foundation.Collections.IVectorView<HSTRING>** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorString)]
            [uuid(83623324-CF26-4F17-A2D4-20EF8D097D53)]
            interface ITensorStringStatics : IInspectable
            {
                [overload("Create")] HRESULT Create([out] [retval] Windows.AI.MachineLearning.TensorString** result);
                [overload("Create")] HRESULT Create2([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [out] [retval] Windows.AI.MachineLearning.TensorString** result);
                HRESULT CreateFromArray([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] HSTRING* data, [out] [retval] Windows.AI.MachineLearning.TensorString** result);
                HRESULT CreateFromIterable([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] Windows.Foundation.Collections.IIterable<HSTRING>* data, [out] [retval] Windows.AI.MachineLearning.TensorString** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorString)]
            [uuid(9E355ED0-C8E2-5254-9137-0193A3668FD8)]
            interface ITensorStringStatics2 : IInspectable
            {
                HRESULT CreateFromShapeArrayAndDataArray([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] HSTRING* data, [out] [retval] Windows.AI.MachineLearning.TensorString** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorUInt16Bit)]
            [uuid(68140F4B-23C0-42F3-81F6-A891C011BC3F)]
            interface ITensorUInt16Bit : IInspectable
            {
                HRESULT GetAsVectorView([out] [retval] Windows.Foundation.Collections.IVectorView<UINT16>** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorUInt16Bit)]
            [uuid(5DF745DD-028A-481A-A27C-C7E6435E52DD)]
            interface ITensorUInt16BitStatics : IInspectable
            {
                [overload("Create")] HRESULT Create([out] [retval] Windows.AI.MachineLearning.TensorUInt16Bit** result);
                [overload("Create")] HRESULT Create2([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [out] [retval] Windows.AI.MachineLearning.TensorUInt16Bit** result);
                HRESULT CreateFromArray([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] UINT16* data, [out] [retval] Windows.AI.MachineLearning.TensorUInt16Bit** result);
                HRESULT CreateFromIterable([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] Windows.Foundation.Collections.IIterable<UINT16>* data, [out] [retval] Windows.AI.MachineLearning.TensorUInt16Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorUInt16Bit)]
            [uuid(8AF40C64-D69F-5315-9348-490877BBD642)]
            interface ITensorUInt16BitStatics2 : IInspectable
            {
                HRESULT CreateFromShapeArrayAndDataArray([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] UINT16* data, [out] [retval] Windows.AI.MachineLearning.TensorUInt16Bit** result);
                HRESULT CreateFromBuffer([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] Windows.Storage.Streams.IBuffer* buffer, [out] [retval] Windows.AI.MachineLearning.TensorUInt16Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorUInt32Bit)]
            [uuid(D8C9C2FF-7511-45A3-BFAC-C38F370D2237)]
            interface ITensorUInt32Bit : IInspectable
            {
                HRESULT GetAsVectorView([out] [retval] Windows.Foundation.Collections.IVectorView<UINT32>** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorUInt32Bit)]
            [uuid(417C3837-E773-4378-8E7F-0CC33DBEA697)]
            interface ITensorUInt32BitStatics : IInspectable
            {
                [overload("Create")] HRESULT Create([out] [retval] Windows.AI.MachineLearning.TensorUInt32Bit** result);
                [overload("Create")] HRESULT Create2([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [out] [retval] Windows.AI.MachineLearning.TensorUInt32Bit** result);
                HRESULT CreateFromArray([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] UINT32* data, [out] [retval] Windows.AI.MachineLearning.TensorUInt32Bit** result);
                HRESULT CreateFromIterable([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] Windows.Foundation.Collections.IIterable<UINT32>* data, [out] [retval] Windows.AI.MachineLearning.TensorUInt32Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorUInt32Bit)]
            [uuid(EF1A1F1C-314E-569D-B496-5C8447D20CD2)]
            interface ITensorUInt32BitStatics2 : IInspectable
            {
                HRESULT CreateFromShapeArrayAndDataArray([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] UINT32* data, [out] [retval] Windows.AI.MachineLearning.TensorUInt32Bit** result);
                HRESULT CreateFromBuffer([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] Windows.Storage.Streams.IBuffer* buffer, [out] [retval] Windows.AI.MachineLearning.TensorUInt32Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorUInt64Bit)]
            [uuid(2E70FFAD-04BF-4825-839A-82BAEF8C7886)]
            interface ITensorUInt64Bit : IInspectable
            {
                HRESULT GetAsVectorView([out] [retval] Windows.Foundation.Collections.IVectorView<UINT64>** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorUInt64Bit)]
            [uuid(7A7E20EB-242F-47CB-A9C6-F602ECFBFEE4)]
            interface ITensorUInt64BitStatics : IInspectable
            {
                [overload("Create")] HRESULT Create([out] [retval] Windows.AI.MachineLearning.TensorUInt64Bit** result);
                [overload("Create")] HRESULT Create2([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [out] [retval] Windows.AI.MachineLearning.TensorUInt64Bit** result);
                HRESULT CreateFromArray([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] UINT64* data, [out] [retval] Windows.AI.MachineLearning.TensorUInt64Bit** result);
                HRESULT CreateFromIterable([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] Windows.Foundation.Collections.IIterable<UINT64>* data, [out] [retval] Windows.AI.MachineLearning.TensorUInt64Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorUInt64Bit)]
            [uuid(085A687D-67E1-5B1E-B232-4FABE9CA20B3)]
            interface ITensorUInt64BitStatics2 : IInspectable
            {
                HRESULT CreateFromShapeArrayAndDataArray([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] UINT64* data, [out] [retval] Windows.AI.MachineLearning.TensorUInt64Bit** result);
                HRESULT CreateFromBuffer([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] Windows.Storage.Streams.IBuffer* buffer, [out] [retval] Windows.AI.MachineLearning.TensorUInt64Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorUInt8Bit)]
            [uuid(58E1AE27-622B-48E3-BE22-D867AED1DAAC)]
            interface ITensorUInt8Bit : IInspectable
            {
                HRESULT GetAsVectorView([out] [retval] Windows.Foundation.Collections.IVectorView<BYTE>** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorUInt8Bit)]
            [uuid(05F67583-BC24-4220-8A41-2DCD8C5ED33C)]
            interface ITensorUInt8BitStatics : IInspectable
            {
                [overload("Create")] HRESULT Create([out] [retval] Windows.AI.MachineLearning.TensorUInt8Bit** result);
                [overload("Create")] HRESULT Create2([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [out] [retval] Windows.AI.MachineLearning.TensorUInt8Bit** result);
                HRESULT CreateFromArray([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] BYTE* data, [out] [retval] Windows.AI.MachineLearning.TensorUInt8Bit** result);
                HRESULT CreateFromIterable([in] Windows.Foundation.Collections.IIterable<INT64>* shape, [in] Windows.Foundation.Collections.IIterable<BYTE>* data, [out] [retval] Windows.AI.MachineLearning.TensorUInt8Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [exclusiveto(Windows.AI.MachineLearning.TensorUInt8Bit)]
            [uuid(2BA042D6-373E-5A3A-A2FC-A6C41BD52789)]
            interface ITensorUInt8BitStatics2 : IInspectable
            {
                HRESULT CreateFromShapeArrayAndDataArray([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] UINT32 __dataSize, [in] [size_is(__dataSize)] BYTE* data, [out] [retval] Windows.AI.MachineLearning.TensorUInt8Bit** result);
                HRESULT CreateFromBuffer([in] UINT32 __shapeSize, [in] [size_is(__shapeSize)] INT64* shape, [in] Windows.Storage.Streams.IBuffer* buffer, [out] [retval] Windows.AI.MachineLearning.TensorUInt8Bit** result);
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ImageFeatureDescriptor
            {
                [default] interface Windows.AI.MachineLearning.IImageFeatureDescriptor;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 5.0)] interface Windows.AI.MachineLearning.IImageFeatureDescriptor2;
                interface Windows.AI.MachineLearning.ILearningModelFeatureDescriptor;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.IImageFeatureValueStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [threading(both)]
            runtimeclass ImageFeatureValue
            {
                [default] interface Windows.AI.MachineLearning.IImageFeatureValue;
                interface Windows.AI.MachineLearning.ILearningModelFeatureValue;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.ILearningModelStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [threading(both)]
            runtimeclass LearningModel
            {
                [default] interface Windows.AI.MachineLearning.ILearningModel;
                interface Windows.Foundation.IClosable;
            }

            [activatable(Windows.AI.MachineLearning.ILearningModelBindingFactory, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass LearningModelBinding
            {
                [default] interface Windows.AI.MachineLearning.ILearningModelBinding;
                interface Windows.Foundation.Collections.IMapView<HSTRING, IInspectable*>;
                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, IInspectable*>*>;
            }

            [activatable(Windows.AI.MachineLearning.ILearningModelDeviceFactory, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.ILearningModelDeviceStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [threading(both)]
            runtimeclass LearningModelDevice
            {
                [default] interface Windows.AI.MachineLearning.ILearningModelDevice;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass LearningModelEvaluationResult
            {
                [default] interface Windows.AI.MachineLearning.ILearningModelEvaluationResult;
            }

            [activatable(Windows.AI.MachineLearning.ILearningModelSessionFactory, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [activatable(Windows.AI.MachineLearning.ILearningModelSessionFactory2, Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass LearningModelSession
            {
                [default] interface Windows.AI.MachineLearning.ILearningModelSession;
                interface Windows.Foundation.IClosable;
            }

            [activatable(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass LearningModelSessionOptions
            {
                [default] interface Windows.AI.MachineLearning.ILearningModelSessionOptions;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 3.0)] interface Windows.AI.MachineLearning.ILearningModelSessionOptions2;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 4.0)] interface Windows.AI.MachineLearning.ILearningModelSessionOptions3;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass MapFeatureDescriptor
            {
                [default] interface Windows.AI.MachineLearning.IMapFeatureDescriptor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureDescriptor;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass SequenceFeatureDescriptor
            {
                [default] interface Windows.AI.MachineLearning.ISequenceFeatureDescriptor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureDescriptor;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.ITensorBooleanStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [static(Windows.AI.MachineLearning.ITensorBooleanStatics2, Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [threading(both)]
            runtimeclass TensorBoolean
            {
                [default] interface Windows.AI.MachineLearning.ITensorBoolean;
                interface Windows.AI.MachineLearning.ITensor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureValue;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IMemoryBuffer;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.ITensorDoubleStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [static(Windows.AI.MachineLearning.ITensorDoubleStatics2, Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [threading(both)]
            runtimeclass TensorDouble
            {
                [default] interface Windows.AI.MachineLearning.ITensorDouble;
                interface Windows.AI.MachineLearning.ITensor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureValue;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IMemoryBuffer;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass TensorFeatureDescriptor
            {
                [default] interface Windows.AI.MachineLearning.ITensorFeatureDescriptor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureDescriptor;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.ITensorFloatStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [static(Windows.AI.MachineLearning.ITensorFloatStatics2, Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [threading(both)]
            runtimeclass TensorFloat
            {
                [default] interface Windows.AI.MachineLearning.ITensorFloat;
                interface Windows.AI.MachineLearning.ITensor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureValue;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IMemoryBuffer;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.ITensorFloat16BitStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [static(Windows.AI.MachineLearning.ITensorFloat16BitStatics2, Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [threading(both)]
            runtimeclass TensorFloat16Bit
            {
                [default] interface Windows.AI.MachineLearning.ITensorFloat16Bit;
                interface Windows.AI.MachineLearning.ITensor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureValue;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IMemoryBuffer;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.ITensorInt16BitStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [static(Windows.AI.MachineLearning.ITensorInt16BitStatics2, Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [threading(both)]
            runtimeclass TensorInt16Bit
            {
                [default] interface Windows.AI.MachineLearning.ITensorInt16Bit;
                interface Windows.AI.MachineLearning.ITensor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureValue;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IMemoryBuffer;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.ITensorInt32BitStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [static(Windows.AI.MachineLearning.ITensorInt32BitStatics2, Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [threading(both)]
            runtimeclass TensorInt32Bit
            {
                [default] interface Windows.AI.MachineLearning.ITensorInt32Bit;
                interface Windows.AI.MachineLearning.ITensor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureValue;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IMemoryBuffer;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.ITensorInt64BitStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [static(Windows.AI.MachineLearning.ITensorInt64BitStatics2, Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [threading(both)]
            runtimeclass TensorInt64Bit
            {
                [default] interface Windows.AI.MachineLearning.ITensorInt64Bit;
                interface Windows.AI.MachineLearning.ITensor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureValue;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IMemoryBuffer;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.ITensorInt8BitStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [static(Windows.AI.MachineLearning.ITensorInt8BitStatics2, Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [threading(both)]
            runtimeclass TensorInt8Bit
            {
                [default] interface Windows.AI.MachineLearning.ITensorInt8Bit;
                interface Windows.AI.MachineLearning.ITensor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureValue;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IMemoryBuffer;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.ITensorStringStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [static(Windows.AI.MachineLearning.ITensorStringStatics2, Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [threading(both)]
            runtimeclass TensorString
            {
                [default] interface Windows.AI.MachineLearning.ITensorString;
                interface Windows.AI.MachineLearning.ITensor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureValue;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IMemoryBuffer;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.ITensorUInt16BitStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [static(Windows.AI.MachineLearning.ITensorUInt16BitStatics2, Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [threading(both)]
            runtimeclass TensorUInt16Bit
            {
                [default] interface Windows.AI.MachineLearning.ITensorUInt16Bit;
                interface Windows.AI.MachineLearning.ITensor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureValue;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IMemoryBuffer;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.ITensorUInt32BitStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [static(Windows.AI.MachineLearning.ITensorUInt32BitStatics2, Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [threading(both)]
            runtimeclass TensorUInt32Bit
            {
                [default] interface Windows.AI.MachineLearning.ITensorUInt32Bit;
                interface Windows.AI.MachineLearning.ITensor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureValue;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IMemoryBuffer;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.ITensorUInt64BitStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [static(Windows.AI.MachineLearning.ITensorUInt64BitStatics2, Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [threading(both)]
            runtimeclass TensorUInt64Bit
            {
                [default] interface Windows.AI.MachineLearning.ITensorUInt64Bit;
                interface Windows.AI.MachineLearning.ITensor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureValue;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IMemoryBuffer;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.MachineLearning.ITensorUInt8BitStatics, Windows.AI.MachineLearning.MachineLearningContract, 1.0)]
            [static(Windows.AI.MachineLearning.ITensorUInt8BitStatics2, Windows.AI.MachineLearning.MachineLearningContract, 2.0)]
            [threading(both)]
            runtimeclass TensorUInt8Bit
            {
                [default] interface Windows.AI.MachineLearning.ITensorUInt8Bit;
                interface Windows.AI.MachineLearning.ITensor;
                interface Windows.AI.MachineLearning.ILearningModelFeatureValue;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IMemoryBuffer;
                [contract(Windows.AI.MachineLearning.MachineLearningContract, 2.0)] interface Windows.Foundation.IClosable;
            }
        }
    }
}
