//
// 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.Imaging.idl";
import "Windows.Storage.idl";
import "Windows.Storage.Streams.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        namespace Collections
        {
            interface IPropertySet;
        }
    }
}
namespace Windows
{
    namespace Graphics
    {
        namespace Imaging
        {
            typedef enum BitmapPixelFormat BitmapPixelFormat;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        interface IStorageFile;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IRandomAccessStreamReference;
        }
    }
}
namespace Windows
{
    namespace AI
    {
        namespace MachineLearning
        {
            namespace Preview
            {
                apicontract MachineLearningPreviewContract;

                typedef enum FeatureElementKindPreview FeatureElementKindPreview;

                typedef enum LearningModelDeviceKindPreview LearningModelDeviceKindPreview;

                typedef enum LearningModelFeatureKindPreview LearningModelFeatureKindPreview;

                interface IImageVariableDescriptorPreview;

                interface IInferencingOptionsPreview;

                interface ILearningModelBindingPreview;

                interface ILearningModelBindingPreviewFactory;

                interface ILearningModelDescriptionPreview;

                interface ILearningModelEvaluationResultPreview;

                interface ILearningModelPreview;

                interface ILearningModelPreviewStatics;

                interface ILearningModelVariableDescriptorPreview;

                interface IMapVariableDescriptorPreview;

                interface ISequenceVariableDescriptorPreview;

                interface ITensorVariableDescriptorPreview;

                runtimeclass ImageVariableDescriptorPreview;

                runtimeclass InferencingOptionsPreview;

                runtimeclass LearningModelBindingPreview;

                runtimeclass LearningModelDescriptionPreview;

                runtimeclass LearningModelEvaluationResultPreview;

                runtimeclass LearningModelPreview;

                runtimeclass LearningModelVariableDescriptorPreview;

                runtimeclass MapVariableDescriptorPreview;

                runtimeclass SequenceVariableDescriptorPreview;

                runtimeclass TensorVariableDescriptorPreview;
            }
        }
    }
}

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

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

                    interface Windows.Foundation.IAsyncOperation<Windows.AI.MachineLearning.Preview.LearningModelEvaluationResultPreview*>;

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

// Type definition
namespace Windows
{
    namespace AI
    {
        namespace MachineLearning
        {
            namespace Preview
            {
                [contractversion(2.0)]
                apicontract MachineLearningPreviewContract
                {
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use TensorKind instead of FeatureElementKindPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                enum FeatureElementKindPreview
                {
                    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.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use LearningModelDeviceKind instead of LearningModelDeviceKindPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                enum LearningModelDeviceKindPreview
                {
                    LearningDeviceAny  = 0,
                    LearningDeviceCpu  = 1,
                    LearningDeviceGpu  = 2,
                    LearningDeviceNpu  = 3,
                    LearningDeviceDsp  = 4,
                    LearningDeviceFpga = 5
                };

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use LearningModelFeatureKind instead of LearningModelFeatureKindPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                enum LearningModelFeatureKindPreview
                {
                    Undefined = 0,
                    Tensor    = 1,
                    Sequence  = 2,
                    Map       = 3,
                    Image     = 4
                };

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use IImageFeatureDescriptor instead of IImageVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                [exclusiveto(Windows.AI.MachineLearning.Preview.ImageVariableDescriptorPreview)]
                [uuid(7AE1FA72-029E-4DC5-A2F8-5FB763154150)]
                interface IImageVariableDescriptorPreview : IInspectable
                    requires
                        Windows.AI.MachineLearning.Preview.ILearningModelVariableDescriptorPreview
                {
                    [deprecated("Use IImageFeatureDescriptor instead of IImageVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT BitmapPixelFormat([out] [retval] Windows.Graphics.Imaging.BitmapPixelFormat* value);
                    [deprecated("Use IImageFeatureDescriptor instead of IImageVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT Width([out] [retval] UINT32* value);
                    [deprecated("Use IImageFeatureDescriptor instead of IImageVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT Height([out] [retval] UINT32* value);
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use LearningModel instead of IInferencingOptionsPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                [exclusiveto(Windows.AI.MachineLearning.Preview.InferencingOptionsPreview)]
                [uuid(47BC8205-4D36-47A9-8F68-FFCB339DD0FC)]
                interface IInferencingOptionsPreview : IInspectable
                {
                    [deprecated("Use LearningModel instead of IInferencingOptionsPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT PreferredDeviceKind([out] [retval] Windows.AI.MachineLearning.Preview.LearningModelDeviceKindPreview* value);
                    [deprecated("Use LearningModel instead of IInferencingOptionsPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propput] HRESULT PreferredDeviceKind([in] Windows.AI.MachineLearning.Preview.LearningModelDeviceKindPreview value);
                    [deprecated("Use LearningModel instead of IInferencingOptionsPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT IsTracingEnabled([out] [retval] boolean* value);
                    [deprecated("Use LearningModel instead of IInferencingOptionsPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propput] HRESULT IsTracingEnabled([in] boolean value);
                    [deprecated("Use LearningModel instead of IInferencingOptionsPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT MaxBatchSize([out] [retval] INT32* value);
                    [deprecated("Use LearningModel instead of IInferencingOptionsPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propput] HRESULT MaxBatchSize([in] INT32 value);
                    [deprecated("Use LearningModel instead of IInferencingOptionsPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT MinimizeMemoryAllocation([out] [retval] boolean* value);
                    [deprecated("Use LearningModel instead of IInferencingOptionsPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propput] HRESULT MinimizeMemoryAllocation([in] boolean value);
                    [deprecated("Use LearningModel instead of IInferencingOptionsPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT ReclaimMemoryAfterEvaluation([out] [retval] boolean* value);
                    [deprecated("Use LearningModel instead of IInferencingOptionsPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propput] HRESULT ReclaimMemoryAfterEvaluation([in] boolean value);
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use ILearningModelBinding instead of ILearningModelBindingPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                [exclusiveto(Windows.AI.MachineLearning.Preview.LearningModelBindingPreview)]
                [uuid(93C901E8-6C78-4B4F-AEC1-A6BB9E691624)]
                interface ILearningModelBindingPreview : IInspectable
                    requires
                        Windows.Foundation.Collections.IMapView<HSTRING, IInspectable*>,
                        Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, IInspectable*>*>
                {
                    [deprecated("Use ILearningModelBinding instead of ILearningModelBindingPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [overload("Bind")] HRESULT Bind([in] HSTRING name, [in] IInspectable* value);
                    [deprecated("Use ILearningModelBinding instead of ILearningModelBindingPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [overload("Bind")] HRESULT BindWithProperties([in] HSTRING name, [in] IInspectable* value, [in] Windows.Foundation.Collections.IPropertySet* metadata);
                    [deprecated("Use ILearningModelBinding instead of ILearningModelBindingPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] HRESULT Clear();
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use ILearningModelBindingFactory instead of ILearningModelBindingPreviewFactory. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                [exclusiveto(Windows.AI.MachineLearning.Preview.LearningModelBindingPreview)]
                [uuid(48B8219F-1E51-4D77-AE50-3EC164AD3480)]
                interface ILearningModelBindingPreviewFactory : IInspectable
                {
                    [deprecated("Use ILearningModelBindingFactory instead of ILearningModelBindingPreviewFactory. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] HRESULT CreateFromModel([in] Windows.AI.MachineLearning.Preview.LearningModelPreview* model, [out] [retval] Windows.AI.MachineLearning.Preview.LearningModelBindingPreview** value);
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use ILearningModel instead of ILearningModelDescriptionPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                [exclusiveto(Windows.AI.MachineLearning.Preview.LearningModelDescriptionPreview)]
                [uuid(F52C09C6-8611-40AD-8E59-DE3FD7030A40)]
                interface ILearningModelDescriptionPreview : IInspectable
                {
                    [deprecated("Use ILearningModel instead of ILearningModelDescriptionPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT Author([out] [retval] HSTRING* value);
                    [deprecated("Use ILearningModel instead of ILearningModelDescriptionPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT Name([out] [retval] HSTRING* value);
                    [deprecated("Use ILearningModel instead of ILearningModelDescriptionPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT Domain([out] [retval] HSTRING* value);
                    [deprecated("Use ILearningModel instead of ILearningModelDescriptionPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT Description([out] [retval] HSTRING* value);
                    [deprecated("Use ILearningModel instead of ILearningModelDescriptionPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT Version([out] [retval] INT64* value);
                    [deprecated("Use ILearningModel instead of ILearningModelDescriptionPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT Metadata([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, HSTRING>** value);
                    [deprecated("Use ILearningModel instead of ILearningModelDescriptionPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT InputFeatures([out] [retval] Windows.Foundation.Collections.IIterable<Windows.AI.MachineLearning.Preview.ILearningModelVariableDescriptorPreview*>** value);
                    [deprecated("Use ILearningModel instead of ILearningModelDescriptionPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT OutputFeatures([out] [retval] Windows.Foundation.Collections.IIterable<Windows.AI.MachineLearning.Preview.ILearningModelVariableDescriptorPreview*>** value);
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use ILearningModelEvaluationResult instead of ILearningModelEvaluationResultPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                [exclusiveto(Windows.AI.MachineLearning.Preview.LearningModelEvaluationResultPreview)]
                [uuid(DF25EA9F-9863-4088-8498-87A1F4686F92)]
                interface ILearningModelEvaluationResultPreview : IInspectable
                {
                    [deprecated("Use ILearningModelEvaluationResult instead of ILearningModelEvaluationResultPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT CorrelationId([out] [retval] HSTRING* correlationId);
                    [deprecated("Use ILearningModelEvaluationResult instead of ILearningModelEvaluationResultPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT Outputs([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, IInspectable*>** value);
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use ILearningModel instead of ILearningModelPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                [exclusiveto(Windows.AI.MachineLearning.Preview.LearningModelPreview)]
                [uuid(049C266A-93B4-478C-AEB8-70157BF0FF94)]
                interface ILearningModelPreview : IInspectable
                {
                    [deprecated("Use ILearningModel instead of ILearningModelPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] HRESULT EvaluateAsync([in] Windows.AI.MachineLearning.Preview.LearningModelBindingPreview* binding, [in] HSTRING correlationId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.AI.MachineLearning.Preview.LearningModelEvaluationResultPreview*>** evalOperation);
                    [deprecated("Use ILearningModel instead of ILearningModelPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] HRESULT EvaluateFeaturesAsync([in] Windows.Foundation.Collections.IMap<HSTRING, IInspectable*>* features, [in] HSTRING correlationId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.AI.MachineLearning.Preview.LearningModelEvaluationResultPreview*>** evalOperation);
                    [deprecated("Use ILearningModel instead of ILearningModelPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT Description([out] [retval] Windows.AI.MachineLearning.Preview.LearningModelDescriptionPreview** returnValue);
                    [deprecated("Use ILearningModel instead of ILearningModelPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT InferencingOptions([out] [retval] Windows.AI.MachineLearning.Preview.InferencingOptionsPreview** value);
                    [deprecated("Use ILearningModel instead of ILearningModelPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propput] HRESULT InferencingOptions([in] Windows.AI.MachineLearning.Preview.InferencingOptionsPreview* value);
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use ILearningModelStatics instead of ILearningModelPreviewStatics. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                [exclusiveto(Windows.AI.MachineLearning.Preview.LearningModelPreview)]
                [uuid(164BBB60-8465-4786-8B93-2C16A89289D7)]
                interface ILearningModelPreviewStatics : IInspectable
                {
                    [deprecated("Use ILearningModelStatics instead of ILearningModelPreviewStatics. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] HRESULT LoadModelFromStorageFileAsync([in] Windows.Storage.IStorageFile* modelFile, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.AI.MachineLearning.Preview.LearningModelPreview*>** modelCreationOperation);
                    [deprecated("Use ILearningModelStatics instead of ILearningModelPreviewStatics. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] HRESULT LoadModelFromStreamAsync([in] Windows.Storage.Streams.IRandomAccessStreamReference* modelStream, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.AI.MachineLearning.Preview.LearningModelPreview*>** modelCreationOperation);
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use ILearningModelFeatureDescriptor instead of ILearningModelVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                [uuid(B13DF682-FC30-492B-8EA0-ED1F53C0B038)]
                interface ILearningModelVariableDescriptorPreview : IInspectable
                {
                    [deprecated("Use ILearningModelFeatureDescriptor instead of ILearningModelVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT Name([out] [retval] HSTRING* value);
                    [deprecated("Use ILearningModelFeatureDescriptor instead of ILearningModelVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT Description([out] [retval] HSTRING* value);
                    [deprecated("Use ILearningModelFeatureDescriptor instead of ILearningModelVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT ModelFeatureKind([out] [retval] Windows.AI.MachineLearning.Preview.LearningModelFeatureKindPreview* value);
                    [deprecated("Use ILearningModelFeatureDescriptor instead of ILearningModelVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT IsRequired([out] [retval] boolean* value);
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use IMapFeatureDescriptor instead of IMapVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                [exclusiveto(Windows.AI.MachineLearning.Preview.MapVariableDescriptorPreview)]
                [uuid(3CB38370-C02B-4236-B3E8-6BDCA49C3129)]
                interface IMapVariableDescriptorPreview : IInspectable
                    requires
                        Windows.AI.MachineLearning.Preview.ILearningModelVariableDescriptorPreview
                {
                    [deprecated("Use IMapFeatureDescriptor instead of IMapVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT KeyKind([out] [retval] Windows.AI.MachineLearning.Preview.FeatureElementKindPreview* value);
                    [deprecated("Use IMapFeatureDescriptor instead of IMapVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT ValidStringKeys([out] [retval] Windows.Foundation.Collections.IIterable<HSTRING>** value);
                    [deprecated("Use IMapFeatureDescriptor instead of IMapVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT ValidIntegerKeys([out] [retval] Windows.Foundation.Collections.IIterable<INT64>** value);
                    [deprecated("Use IMapFeatureDescriptor instead of IMapVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT Fields([out] [retval] Windows.AI.MachineLearning.Preview.ILearningModelVariableDescriptorPreview** value);
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use ISequenceFeatureDescriptor instead of ISequenceVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                [exclusiveto(Windows.AI.MachineLearning.Preview.SequenceVariableDescriptorPreview)]
                [uuid(9CD8F292-98B2-4530-A1B6-2DED5FECBC26)]
                interface ISequenceVariableDescriptorPreview : IInspectable
                    requires
                        Windows.AI.MachineLearning.Preview.ILearningModelVariableDescriptorPreview
                {
                    [deprecated("Use ISequenceFeatureDescriptor instead of ISequenceVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT ElementType([out] [retval] Windows.AI.MachineLearning.Preview.ILearningModelVariableDescriptorPreview** value);
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use ITensorFeatureDescriptor instead of ITensorVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                [exclusiveto(Windows.AI.MachineLearning.Preview.TensorVariableDescriptorPreview)]
                [uuid(A80F501A-9AAC-4233-9784-ACEAF92510B5)]
                interface ITensorVariableDescriptorPreview : IInspectable
                    requires
                        Windows.AI.MachineLearning.Preview.ILearningModelVariableDescriptorPreview
                {
                    [deprecated("Use ITensorFeatureDescriptor instead of ITensorVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT DataType([out] [retval] Windows.AI.MachineLearning.Preview.FeatureElementKindPreview* value);
                    [deprecated("Use ITensorFeatureDescriptor instead of ITensorVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)] [propget] HRESULT Shape([out] [retval] Windows.Foundation.Collections.IIterable<INT64>** value);
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use ImageFeatureDescriptor instead of ImageVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                runtimeclass ImageVariableDescriptorPreview
                {
                    [default] interface Windows.AI.MachineLearning.Preview.IImageVariableDescriptorPreview;
                    interface Windows.AI.MachineLearning.Preview.ILearningModelVariableDescriptorPreview;
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use LearningModelSession instead of InferencingOptionsPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                runtimeclass InferencingOptionsPreview
                {
                    [default] interface Windows.AI.MachineLearning.Preview.IInferencingOptionsPreview;
                }

                [activatable(Windows.AI.MachineLearning.Preview.ILearningModelBindingPreviewFactory, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use LearningModelBinding instead of LearningModelBindingPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                runtimeclass LearningModelBindingPreview
                {
                    [default] interface Windows.AI.MachineLearning.Preview.ILearningModelBindingPreview;
                    interface Windows.Foundation.Collections.IMapView<HSTRING, IInspectable*>;
                    interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, IInspectable*>*>;
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use LearningModel instead of LearningModelDescriptionPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                runtimeclass LearningModelDescriptionPreview
                {
                    [default] interface Windows.AI.MachineLearning.Preview.ILearningModelDescriptionPreview;
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use LearningModelEvaluationResult instead of LearningModelEvaluationResultPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                runtimeclass LearningModelEvaluationResultPreview
                {
                    [default] interface Windows.AI.MachineLearning.Preview.ILearningModelEvaluationResultPreview;
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use LearningModel instead of LearningModelPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                [static(Windows.AI.MachineLearning.Preview.ILearningModelPreviewStatics, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                runtimeclass LearningModelPreview
                {
                    [default] interface Windows.AI.MachineLearning.Preview.ILearningModelPreview;
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use ILearningModelFeatureDescriptor instead of LearningModelVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                runtimeclass LearningModelVariableDescriptorPreview
                {
                    [default] interface Windows.AI.MachineLearning.Preview.ILearningModelVariableDescriptorPreview;
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use MapFeatureDescriptor instead of MapVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                runtimeclass MapVariableDescriptorPreview
                {
                    [default] interface Windows.AI.MachineLearning.Preview.IMapVariableDescriptorPreview;
                    interface Windows.AI.MachineLearning.Preview.ILearningModelVariableDescriptorPreview;
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use SequenceFeatureDescriptor instead of SequenceVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                runtimeclass SequenceVariableDescriptorPreview
                {
                    [default] interface Windows.AI.MachineLearning.Preview.ISequenceVariableDescriptorPreview;
                    interface Windows.AI.MachineLearning.Preview.ILearningModelVariableDescriptorPreview;
                }

                [contract(Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 1.0)]
                [deprecated("Use TensorFeatureDescriptor instead of TensorVariableDescriptorPreview. For more info, see MSDN.", deprecate, Windows.AI.MachineLearning.Preview.MachineLearningPreviewContract, 2.0)]
                runtimeclass TensorVariableDescriptorPreview
                {
                    [default] interface Windows.AI.MachineLearning.Preview.ITensorVariableDescriptorPreview;
                    interface Windows.AI.MachineLearning.Preview.ILearningModelVariableDescriptorPreview;
                }
            }
        }
    }
}
