//
// 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.Foundation.Numerics.idl";
import "Windows.UI.Composition.idl";
import "Windows.UI.Input.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        namespace Numerics
        {
            typedef struct Vector3 Vector3;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Composition
        {
            runtimeclass CompositionAnimation;

            runtimeclass Compositor;

            runtimeclass ExpressionAnimation;

            interface IVisualElement;

            runtimeclass ScalarNaturalMotionAnimation;

            runtimeclass Vector2NaturalMotionAnimation;

            runtimeclass Visual;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Input
        {
            runtimeclass PointerPoint;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Composition
        {
            namespace Interactions
            {
                typedef enum InteractionBindingAxisModes InteractionBindingAxisModes;

                typedef enum InteractionChainingMode InteractionChainingMode;

                typedef enum InteractionSourceMode InteractionSourceMode;

                typedef enum InteractionSourceRedirectionMode InteractionSourceRedirectionMode;

                typedef enum InteractionTrackerClampingOption InteractionTrackerClampingOption;

                typedef enum InteractionTrackerPositionUpdateOption InteractionTrackerPositionUpdateOption;

                typedef enum VisualInteractionSourceRedirectionMode VisualInteractionSourceRedirectionMode;

                interface ICompositionConditionalValue;

                interface ICompositionConditionalValueStatics;

                interface ICompositionInteractionSource;

                interface ICompositionInteractionSourceCollection;

                interface IInteractionSourceConfiguration;

                interface IInteractionTracker;

                interface IInteractionTracker2;

                interface IInteractionTracker3;

                interface IInteractionTracker4;

                interface IInteractionTracker5;

                interface IInteractionTrackerCustomAnimationStateEnteredArgs;

                interface IInteractionTrackerCustomAnimationStateEnteredArgs2;

                interface IInteractionTrackerIdleStateEnteredArgs;

                interface IInteractionTrackerIdleStateEnteredArgs2;

                interface IInteractionTrackerInertiaModifier;

                interface IInteractionTrackerInertiaModifierFactory;

                interface IInteractionTrackerInertiaMotion;

                interface IInteractionTrackerInertiaMotionStatics;

                interface IInteractionTrackerInertiaNaturalMotion;

                interface IInteractionTrackerInertiaNaturalMotionStatics;

                interface IInteractionTrackerInertiaRestingValue;

                interface IInteractionTrackerInertiaRestingValueStatics;

                interface IInteractionTrackerInertiaStateEnteredArgs;

                interface IInteractionTrackerInertiaStateEnteredArgs2;

                interface IInteractionTrackerInertiaStateEnteredArgs3;

                interface IInteractionTrackerInteractingStateEnteredArgs;

                interface IInteractionTrackerInteractingStateEnteredArgs2;

                interface IInteractionTrackerOwner;

                interface IInteractionTrackerRequestIgnoredArgs;

                interface IInteractionTrackerStatics;

                interface IInteractionTrackerStatics2;

                interface IInteractionTrackerValuesChangedArgs;

                interface IInteractionTrackerVector2InertiaModifier;

                interface IInteractionTrackerVector2InertiaModifierFactory;

                interface IInteractionTrackerVector2InertiaNaturalMotion;

                interface IInteractionTrackerVector2InertiaNaturalMotionStatics;

                interface IVisualInteractionSource;

                interface IVisualInteractionSource2;

                interface IVisualInteractionSource3;

                interface IVisualInteractionSourceObjectFactory;

                interface IVisualInteractionSourceStatics;

                interface IVisualInteractionSourceStatics2;

                runtimeclass CompositionConditionalValue;

                runtimeclass CompositionInteractionSourceCollection;

                runtimeclass InteractionSourceConfiguration;

                runtimeclass InteractionTracker;

                runtimeclass InteractionTrackerCustomAnimationStateEnteredArgs;

                runtimeclass InteractionTrackerIdleStateEnteredArgs;

                runtimeclass InteractionTrackerInertiaModifier;

                runtimeclass InteractionTrackerInertiaMotion;

                runtimeclass InteractionTrackerInertiaNaturalMotion;

                runtimeclass InteractionTrackerInertiaRestingValue;

                runtimeclass InteractionTrackerInertiaStateEnteredArgs;

                runtimeclass InteractionTrackerInteractingStateEnteredArgs;

                runtimeclass InteractionTrackerRequestIgnoredArgs;

                runtimeclass InteractionTrackerValuesChangedArgs;

                runtimeclass InteractionTrackerVector2InertiaModifier;

                runtimeclass InteractionTrackerVector2InertiaNaturalMotion;

                runtimeclass VisualInteractionSource;
            }
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace UI
    {
        namespace Composition
        {
            namespace Interactions
            {
                declare
                {
                    interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.CompositionConditionalValue*>;

                    interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.ICompositionInteractionSource*>;

                    interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.InteractionTrackerInertiaModifier*>;

                    interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.InteractionTrackerVector2InertiaModifier*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.UI.Composition.Interactions.CompositionConditionalValue*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.UI.Composition.Interactions.ICompositionInteractionSource*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.UI.Composition.Interactions.InteractionTrackerInertiaModifier*>;

                    interface Windows.Foundation.Collections.IIterator<Windows.UI.Composition.Interactions.InteractionTrackerVector2InertiaModifier*>;
                }
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace UI
    {
        namespace Composition
        {
            namespace Interactions
            {
                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                [flags]
                enum InteractionBindingAxisModes
                {
                    None      = 0x0,
                    PositionX = 0x1,
                    PositionY = 0x2,
                    Scale     = 0x4
                };

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                enum InteractionChainingMode
                {
                    Auto   = 0,
                    Always = 1,
                    Never  = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                enum InteractionSourceMode
                {
                    Disabled              = 0,
                    EnabledWithInertia    = 1,
                    EnabledWithoutInertia = 2
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum InteractionSourceRedirectionMode
                {
                    Disabled = 0,
                    Enabled  = 1
                };

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                enum InteractionTrackerClampingOption
                {
                    Auto     = 0,
                    Disabled = 1
                };

                [contract(Windows.Foundation.UniversalApiContract, 10.0)]
                enum InteractionTrackerPositionUpdateOption
                {
                    Default                         = 0,
                    AllowActiveCustomScaleAnimation = 1
                };

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                enum VisualInteractionSourceRedirectionMode
                {
                    Off                            = 0,
                    CapableTouchpadOnly            = 1,
                    [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                    PointerWheelOnly               = 2,
                    [contract(Windows.Foundation.UniversalApiContract, 6.0)]
                    CapableTouchpadAndPointerWheel = 3
                };

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.CompositionConditionalValue)]
                [uuid(43250538-EB73-4561-A71D-1A43EAEB7A9B)]
                interface ICompositionConditionalValue : IInspectable
                {
                    [propget] HRESULT Condition([out] [retval] Windows.UI.Composition.ExpressionAnimation** value);
                    [propput] HRESULT Condition([in] Windows.UI.Composition.ExpressionAnimation* value);
                    [propget] HRESULT Value([out] [retval] Windows.UI.Composition.ExpressionAnimation** value);
                    [propput] HRESULT Value([in] Windows.UI.Composition.ExpressionAnimation* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.CompositionConditionalValue)]
                [uuid(090C4B72-8467-4D0A-9065-AC46B80A5522)]
                interface ICompositionConditionalValueStatics : IInspectable
                {
                    HRESULT Create([in] Windows.UI.Composition.Compositor* compositor, [out] [retval] Windows.UI.Composition.Interactions.CompositionConditionalValue** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(043B2431-06E3-495A-BA54-409F0017FAC0)]
                interface ICompositionInteractionSource : IInspectable
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.CompositionInteractionSourceCollection)]
                [uuid(1B468E4B-A5BF-47D8-A547-3894155A158C)]
                interface ICompositionInteractionSourceCollection : IInspectable
                {
                    [propget] HRESULT Count([out] [retval] INT32* value);
                    HRESULT Add([in] Windows.UI.Composition.Interactions.ICompositionInteractionSource* value);
                    HRESULT Remove([in] Windows.UI.Composition.Interactions.ICompositionInteractionSource* value);
                    HRESULT RemoveAll();
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionSourceConfiguration)]
                [uuid(A78347E5-A9D1-4D02-985E-B930CD0B9DA4)]
                interface IInteractionSourceConfiguration : IInspectable
                {
                    [propget] HRESULT PositionXSourceMode([out] [retval] Windows.UI.Composition.Interactions.InteractionSourceRedirectionMode* value);
                    [propput] HRESULT PositionXSourceMode([in] Windows.UI.Composition.Interactions.InteractionSourceRedirectionMode value);
                    [propget] HRESULT PositionYSourceMode([out] [retval] Windows.UI.Composition.Interactions.InteractionSourceRedirectionMode* value);
                    [propput] HRESULT PositionYSourceMode([in] Windows.UI.Composition.Interactions.InteractionSourceRedirectionMode value);
                    [propget] HRESULT ScaleSourceMode([out] [retval] Windows.UI.Composition.Interactions.InteractionSourceRedirectionMode* value);
                    [propput] HRESULT ScaleSourceMode([in] Windows.UI.Composition.Interactions.InteractionSourceRedirectionMode value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTracker)]
                [uuid(2A8E8CB1-1000-4416-8363-CC27FB877308)]
                interface IInteractionTracker : IInspectable
                {
                    [propget] HRESULT InteractionSources([out] [retval] Windows.UI.Composition.Interactions.CompositionInteractionSourceCollection** value);
                    [propget] HRESULT IsPositionRoundingSuggested([out] [retval] boolean* value);
                    [propget] HRESULT MaxPosition([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                    [propput] HRESULT MaxPosition([in] Windows.Foundation.Numerics.Vector3 value);
                    [propget] HRESULT MaxScale([out] [retval] FLOAT* value);
                    [propput] HRESULT MaxScale([in] FLOAT value);
                    [propget] HRESULT MinPosition([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                    [propput] HRESULT MinPosition([in] Windows.Foundation.Numerics.Vector3 value);
                    [propget] HRESULT MinScale([out] [retval] FLOAT* value);
                    [propput] HRESULT MinScale([in] FLOAT value);
                    [propget] HRESULT NaturalRestingPosition([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                    [propget] HRESULT NaturalRestingScale([out] [retval] FLOAT* value);
                    [propget] HRESULT Owner([out] [retval] Windows.UI.Composition.Interactions.IInteractionTrackerOwner** value);
                    [propget] HRESULT Position([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                    [propget] HRESULT PositionInertiaDecayRate([out] [retval] Windows.Foundation.IReference<Windows.Foundation.Numerics.Vector3>** value);
                    [propput] HRESULT PositionInertiaDecayRate([in] Windows.Foundation.IReference<Windows.Foundation.Numerics.Vector3>* value);
                    [propget] HRESULT PositionVelocityInPixelsPerSecond([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                    [propget] HRESULT Scale([out] [retval] FLOAT* value);
                    [propget] HRESULT ScaleInertiaDecayRate([out] [retval] Windows.Foundation.IReference<FLOAT>** value);
                    [propput] HRESULT ScaleInertiaDecayRate([in] Windows.Foundation.IReference<FLOAT>* value);
                    [propget] HRESULT ScaleVelocityInPercentPerSecond([out] [retval] FLOAT* value);
                    HRESULT AdjustPositionXIfGreaterThanThreshold([in] FLOAT adjustment, [in] FLOAT positionThreshold);
                    HRESULT AdjustPositionYIfGreaterThanThreshold([in] FLOAT adjustment, [in] FLOAT positionThreshold);
                    HRESULT ConfigurePositionXInertiaModifiers([in] Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.InteractionTrackerInertiaModifier*>* modifiers);
                    HRESULT ConfigurePositionYInertiaModifiers([in] Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.InteractionTrackerInertiaModifier*>* modifiers);
                    HRESULT ConfigureScaleInertiaModifiers([in] Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.InteractionTrackerInertiaModifier*>* modifiers);
                    HRESULT TryUpdatePosition([in] Windows.Foundation.Numerics.Vector3 value, [out] [retval] INT32* result);
                    HRESULT TryUpdatePositionBy([in] Windows.Foundation.Numerics.Vector3 amount, [out] [retval] INT32* result);
                    HRESULT TryUpdatePositionWithAnimation([in] Windows.UI.Composition.CompositionAnimation* animation, [out] [retval] INT32* result);
                    HRESULT TryUpdatePositionWithAdditionalVelocity([in] Windows.Foundation.Numerics.Vector3 velocityInPixelsPerSecond, [out] [retval] INT32* result);
                    HRESULT TryUpdateScale([in] FLOAT value, [in] Windows.Foundation.Numerics.Vector3 centerPoint, [out] [retval] INT32* result);
                    HRESULT TryUpdateScaleWithAnimation([in] Windows.UI.Composition.CompositionAnimation* animation, [in] Windows.Foundation.Numerics.Vector3 centerPoint, [out] [retval] INT32* result);
                    HRESULT TryUpdateScaleWithAdditionalVelocity([in] FLOAT velocityInPercentPerSecond, [in] Windows.Foundation.Numerics.Vector3 centerPoint, [out] [retval] INT32* result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTracker)]
                [uuid(25769A3E-CE6D-448C-8386-92620D240756)]
                interface IInteractionTracker2 : IInspectable
                {
                    HRESULT ConfigureCenterPointXInertiaModifiers([in] Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.CompositionConditionalValue*>* conditionalValues);
                    HRESULT ConfigureCenterPointYInertiaModifiers([in] Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.CompositionConditionalValue*>* conditionalValues);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTracker)]
                [uuid(E6C5D7A2-5C4B-42C6-84B7-F69441B18091)]
                interface IInteractionTracker3 : IInspectable
                {
                    HRESULT ConfigureVector2PositionInertiaModifiers([in] Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.InteractionTrackerVector2InertiaModifier*>* modifiers);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTracker)]
                [uuid(EBD222BC-04AF-4AC7-847D-06EA36E80A16)]
                interface IInteractionTracker4 : IInspectable
                {
                    [overload("TryUpdatePosition")] HRESULT TryUpdatePositionWithOption([in] Windows.Foundation.Numerics.Vector3 value, [in] Windows.UI.Composition.Interactions.InteractionTrackerClampingOption option, [out] [retval] INT32* result);
                    [overload("TryUpdatePositionBy")] HRESULT TryUpdatePositionByWithOption([in] Windows.Foundation.Numerics.Vector3 amount, [in] Windows.UI.Composition.Interactions.InteractionTrackerClampingOption option, [out] [retval] INT32* result);
                    [propget] HRESULT IsInertiaFromImpulse([out] [retval] boolean* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 10.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTracker)]
                [uuid(D3EF5DA2-A254-40E4-88D5-44E4E16B5809)]
                interface IInteractionTracker5 : IInspectable
                {
                    [overload("TryUpdatePosition")] HRESULT TryUpdatePositionWithOption([in] Windows.Foundation.Numerics.Vector3 value, [in] Windows.UI.Composition.Interactions.InteractionTrackerClampingOption option, [in] Windows.UI.Composition.Interactions.InteractionTrackerPositionUpdateOption posUpdateOption, [out] [retval] INT32* result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerCustomAnimationStateEnteredArgs)]
                [uuid(8D1C8CF1-D7B0-434C-A5D2-2D7611864834)]
                interface IInteractionTrackerCustomAnimationStateEnteredArgs : IInspectable
                {
                    [propget] HRESULT RequestId([out] [retval] INT32* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerCustomAnimationStateEnteredArgs)]
                [uuid(47D579B7-0985-5E99-B024-2F32C380C1A4)]
                interface IInteractionTrackerCustomAnimationStateEnteredArgs2 : IInspectable
                {
                    [propget] HRESULT IsFromBinding([out] [retval] boolean* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerIdleStateEnteredArgs)]
                [uuid(50012FAA-1510-4142-A1A5-019B09F8857B)]
                interface IInteractionTrackerIdleStateEnteredArgs : IInspectable
                {
                    [propget] HRESULT RequestId([out] [retval] INT32* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerIdleStateEnteredArgs)]
                [uuid(F2E771ED-B803-5137-9435-1C96E48721E9)]
                interface IInteractionTrackerIdleStateEnteredArgs2 : IInspectable
                {
                    [propget] HRESULT IsFromBinding([out] [retval] boolean* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerInertiaModifier)]
                [uuid(A0E2C920-26B4-4DA2-8B61-5E683979BBE2)]
                interface IInteractionTrackerInertiaModifier : IInspectable
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerInertiaModifier)]
                [uuid(993818FE-C94E-4B86-87F3-922665BA46B9)]
                interface IInteractionTrackerInertiaModifierFactory : IInspectable
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerInertiaMotion)]
                [uuid(04922FDC-F154-4CB8-BF33-CC1BA611E6DB)]
                interface IInteractionTrackerInertiaMotion : IInspectable
                {
                    [propget] HRESULT Condition([out] [retval] Windows.UI.Composition.ExpressionAnimation** value);
                    [propput] HRESULT Condition([in] Windows.UI.Composition.ExpressionAnimation* value);
                    [propget] HRESULT Motion([out] [retval] Windows.UI.Composition.ExpressionAnimation** value);
                    [propput] HRESULT Motion([in] Windows.UI.Composition.ExpressionAnimation* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerInertiaMotion)]
                [uuid(8CC83DD6-BA7B-431A-844B-6EAC9130F99A)]
                interface IInteractionTrackerInertiaMotionStatics : IInspectable
                {
                    HRESULT Create([in] Windows.UI.Composition.Compositor* compositor, [out] [retval] Windows.UI.Composition.Interactions.InteractionTrackerInertiaMotion** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerInertiaNaturalMotion)]
                [uuid(70ACDAAE-27DC-48ED-A3C3-6D61C9A029D2)]
                interface IInteractionTrackerInertiaNaturalMotion : IInspectable
                {
                    [propget] HRESULT Condition([out] [retval] Windows.UI.Composition.ExpressionAnimation** value);
                    [propput] HRESULT Condition([in] Windows.UI.Composition.ExpressionAnimation* value);
                    [propget] HRESULT NaturalMotion([out] [retval] Windows.UI.Composition.ScalarNaturalMotionAnimation** value);
                    [propput] HRESULT NaturalMotion([in] Windows.UI.Composition.ScalarNaturalMotionAnimation* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerInertiaNaturalMotion)]
                [uuid(CFDA55B0-5E3E-4289-932D-EE5F50E74283)]
                interface IInteractionTrackerInertiaNaturalMotionStatics : IInspectable
                {
                    HRESULT Create([in] Windows.UI.Composition.Compositor* compositor, [out] [retval] Windows.UI.Composition.Interactions.InteractionTrackerInertiaNaturalMotion** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerInertiaRestingValue)]
                [uuid(86F7EC09-5096-4170-9CC8-DF2FE101BB93)]
                interface IInteractionTrackerInertiaRestingValue : IInspectable
                {
                    [propget] HRESULT Condition([out] [retval] Windows.UI.Composition.ExpressionAnimation** value);
                    [propput] HRESULT Condition([in] Windows.UI.Composition.ExpressionAnimation* value);
                    [propget] HRESULT RestingValue([out] [retval] Windows.UI.Composition.ExpressionAnimation** value);
                    [propput] HRESULT RestingValue([in] Windows.UI.Composition.ExpressionAnimation* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerInertiaRestingValue)]
                [uuid(18ED4699-0745-4096-BCAB-3A4E99569BCF)]
                interface IInteractionTrackerInertiaRestingValueStatics : IInspectable
                {
                    HRESULT Create([in] Windows.UI.Composition.Compositor* compositor, [out] [retval] Windows.UI.Composition.Interactions.InteractionTrackerInertiaRestingValue** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerInertiaStateEnteredArgs)]
                [uuid(87108CF2-E7FF-4F7D-9FFD-D72F1E409B63)]
                interface IInteractionTrackerInertiaStateEnteredArgs : IInspectable
                {
                    [propget] HRESULT ModifiedRestingPosition([out] [retval] Windows.Foundation.IReference<Windows.Foundation.Numerics.Vector3>** value);
                    [propget] HRESULT ModifiedRestingScale([out] [retval] Windows.Foundation.IReference<FLOAT>** value);
                    [propget] HRESULT NaturalRestingPosition([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                    [propget] HRESULT NaturalRestingScale([out] [retval] FLOAT* value);
                    [propget] HRESULT PositionVelocityInPixelsPerSecond([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                    [propget] HRESULT RequestId([out] [retval] INT32* value);
                    [propget] HRESULT ScaleVelocityInPercentPerSecond([out] [retval] FLOAT* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerInertiaStateEnteredArgs)]
                [uuid(B1EB32F6-C26C-41F6-A189-FABC22B323CC)]
                interface IInteractionTrackerInertiaStateEnteredArgs2 : IInspectable
                {
                    [propget] HRESULT IsInertiaFromImpulse([out] [retval] boolean* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerInertiaStateEnteredArgs)]
                [uuid(48AC1C2F-47BD-59AF-A58C-79BD2EB9EF71)]
                interface IInteractionTrackerInertiaStateEnteredArgs3 : IInspectable
                {
                    [propget] HRESULT IsFromBinding([out] [retval] boolean* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerInteractingStateEnteredArgs)]
                [uuid(A7263939-A17B-4011-99FD-B5C24F143748)]
                interface IInteractionTrackerInteractingStateEnteredArgs : IInspectable
                {
                    [propget] HRESULT RequestId([out] [retval] INT32* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerInteractingStateEnteredArgs)]
                [uuid(509652D6-D488-59CD-819F-F52310295B11)]
                interface IInteractionTrackerInteractingStateEnteredArgs2 : IInspectable
                {
                    [propget] HRESULT IsFromBinding([out] [retval] boolean* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [uuid(DB2E8AF3-4DEB-4E53-B29C-B06C9F96D651)]
                interface IInteractionTrackerOwner : IInspectable
                {
                    HRESULT CustomAnimationStateEntered([in] Windows.UI.Composition.Interactions.InteractionTracker* sender, [in] Windows.UI.Composition.Interactions.InteractionTrackerCustomAnimationStateEnteredArgs* args);
                    HRESULT IdleStateEntered([in] Windows.UI.Composition.Interactions.InteractionTracker* sender, [in] Windows.UI.Composition.Interactions.InteractionTrackerIdleStateEnteredArgs* args);
                    HRESULT InertiaStateEntered([in] Windows.UI.Composition.Interactions.InteractionTracker* sender, [in] Windows.UI.Composition.Interactions.InteractionTrackerInertiaStateEnteredArgs* args);
                    HRESULT InteractingStateEntered([in] Windows.UI.Composition.Interactions.InteractionTracker* sender, [in] Windows.UI.Composition.Interactions.InteractionTrackerInteractingStateEnteredArgs* args);
                    HRESULT RequestIgnored([in] Windows.UI.Composition.Interactions.InteractionTracker* sender, [in] Windows.UI.Composition.Interactions.InteractionTrackerRequestIgnoredArgs* args);
                    HRESULT ValuesChanged([in] Windows.UI.Composition.Interactions.InteractionTracker* sender, [in] Windows.UI.Composition.Interactions.InteractionTrackerValuesChangedArgs* args);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerRequestIgnoredArgs)]
                [uuid(80DD82F1-CE25-488F-91DD-CB6455CCFF2E)]
                interface IInteractionTrackerRequestIgnoredArgs : IInspectable
                {
                    [propget] HRESULT RequestId([out] [retval] INT32* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTracker)]
                [uuid(BBA5D7B7-6590-4498-8D6C-EB62B514C92A)]
                interface IInteractionTrackerStatics : IInspectable
                {
                    HRESULT Create([in] Windows.UI.Composition.Compositor* compositor, [out] [retval] Windows.UI.Composition.Interactions.InteractionTracker** result);
                    HRESULT CreateWithOwner([in] Windows.UI.Composition.Compositor* compositor, [in] Windows.UI.Composition.Interactions.IInteractionTrackerOwner* owner, [out] [retval] Windows.UI.Composition.Interactions.InteractionTracker** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTracker)]
                [uuid(35E53720-46B7-5CB0-B505-F3D6884A6163)]
                interface IInteractionTrackerStatics2 : IInspectable
                {
                    HRESULT SetBindingMode([in] Windows.UI.Composition.Interactions.InteractionTracker* boundTracker1, [in] Windows.UI.Composition.Interactions.InteractionTracker* boundTracker2, [in] Windows.UI.Composition.Interactions.InteractionBindingAxisModes axisMode);
                    HRESULT GetBindingMode([in] Windows.UI.Composition.Interactions.InteractionTracker* boundTracker1, [in] Windows.UI.Composition.Interactions.InteractionTracker* boundTracker2, [out] [retval] Windows.UI.Composition.Interactions.InteractionBindingAxisModes* result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerValuesChangedArgs)]
                [uuid(CF1578EF-D3DF-4501-B9E6-F02FB22F73D0)]
                interface IInteractionTrackerValuesChangedArgs : IInspectable
                {
                    [propget] HRESULT Position([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                    [propget] HRESULT RequestId([out] [retval] INT32* value);
                    [propget] HRESULT Scale([out] [retval] FLOAT* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerVector2InertiaModifier)]
                [uuid(87E08AB0-3086-4853-A4B7-77882AD5D7E3)]
                interface IInteractionTrackerVector2InertiaModifier : IInspectable
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerVector2InertiaModifier)]
                [uuid(7401D6C4-6C6D-48DF-BC3E-171E227E7D7F)]
                interface IInteractionTrackerVector2InertiaModifierFactory : IInspectable
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerVector2InertiaNaturalMotion)]
                [uuid(5F17695C-162D-4C07-9400-C282B28276CA)]
                interface IInteractionTrackerVector2InertiaNaturalMotion : IInspectable
                {
                    [propget] HRESULT Condition([out] [retval] Windows.UI.Composition.ExpressionAnimation** value);
                    [propput] HRESULT Condition([in] Windows.UI.Composition.ExpressionAnimation* value);
                    [propget] HRESULT NaturalMotion([out] [retval] Windows.UI.Composition.Vector2NaturalMotionAnimation** value);
                    [propput] HRESULT NaturalMotion([in] Windows.UI.Composition.Vector2NaturalMotionAnimation* value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.InteractionTrackerVector2InertiaNaturalMotion)]
                [uuid(82001A48-09C0-434F-8189-141C66DF362F)]
                interface IInteractionTrackerVector2InertiaNaturalMotionStatics : IInspectable
                {
                    HRESULT Create([in] Windows.UI.Composition.Compositor* compositor, [out] [retval] Windows.UI.Composition.Interactions.InteractionTrackerVector2InertiaNaturalMotion** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.VisualInteractionSource)]
                [uuid(CA0E8A86-D8D6-4111-B088-70347BD2B0ED)]
                interface IVisualInteractionSource : IInspectable
                {
                    [propget] HRESULT IsPositionXRailsEnabled([out] [retval] boolean* value);
                    [propput] HRESULT IsPositionXRailsEnabled([in] boolean value);
                    [propget] HRESULT IsPositionYRailsEnabled([out] [retval] boolean* value);
                    [propput] HRESULT IsPositionYRailsEnabled([in] boolean value);
                    [propget] HRESULT ManipulationRedirectionMode([out] [retval] Windows.UI.Composition.Interactions.VisualInteractionSourceRedirectionMode* value);
                    [propput] HRESULT ManipulationRedirectionMode([in] Windows.UI.Composition.Interactions.VisualInteractionSourceRedirectionMode value);
                    [propget] HRESULT PositionXChainingMode([out] [retval] Windows.UI.Composition.Interactions.InteractionChainingMode* value);
                    [propput] HRESULT PositionXChainingMode([in] Windows.UI.Composition.Interactions.InteractionChainingMode value);
                    [propget] HRESULT PositionXSourceMode([out] [retval] Windows.UI.Composition.Interactions.InteractionSourceMode* value);
                    [propput] HRESULT PositionXSourceMode([in] Windows.UI.Composition.Interactions.InteractionSourceMode value);
                    [propget] HRESULT PositionYChainingMode([out] [retval] Windows.UI.Composition.Interactions.InteractionChainingMode* value);
                    [propput] HRESULT PositionYChainingMode([in] Windows.UI.Composition.Interactions.InteractionChainingMode value);
                    [propget] HRESULT PositionYSourceMode([out] [retval] Windows.UI.Composition.Interactions.InteractionSourceMode* value);
                    [propput] HRESULT PositionYSourceMode([in] Windows.UI.Composition.Interactions.InteractionSourceMode value);
                    [propget] HRESULT ScaleChainingMode([out] [retval] Windows.UI.Composition.Interactions.InteractionChainingMode* value);
                    [propput] HRESULT ScaleChainingMode([in] Windows.UI.Composition.Interactions.InteractionChainingMode value);
                    [propget] HRESULT ScaleSourceMode([out] [retval] Windows.UI.Composition.Interactions.InteractionSourceMode* value);
                    [propput] HRESULT ScaleSourceMode([in] Windows.UI.Composition.Interactions.InteractionSourceMode value);
                    [propget] HRESULT Source([out] [retval] Windows.UI.Composition.Visual** value);
                    HRESULT TryRedirectForManipulation([in] Windows.UI.Input.PointerPoint* pointerPoint);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.VisualInteractionSource)]
                [uuid(AA914893-A73C-414D-80D0-249BAD2FBD93)]
                interface IVisualInteractionSource2 : IInspectable
                {
                    [propget] HRESULT DeltaPosition([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                    [propget] HRESULT DeltaScale([out] [retval] FLOAT* value);
                    [propget] HRESULT Position([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                    [propget] HRESULT PositionVelocity([out] [retval] Windows.Foundation.Numerics.Vector3* value);
                    [propget] HRESULT Scale([out] [retval] FLOAT* value);
                    [propget] HRESULT ScaleVelocity([out] [retval] FLOAT* value);
                    HRESULT ConfigureCenterPointXModifiers([in] Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.CompositionConditionalValue*>* conditionalValues);
                    HRESULT ConfigureCenterPointYModifiers([in] Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.CompositionConditionalValue*>* conditionalValues);
                    HRESULT ConfigureDeltaPositionXModifiers([in] Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.CompositionConditionalValue*>* conditionalValues);
                    HRESULT ConfigureDeltaPositionYModifiers([in] Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.CompositionConditionalValue*>* conditionalValues);
                    HRESULT ConfigureDeltaScaleModifiers([in] Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.CompositionConditionalValue*>* conditionalValues);
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.VisualInteractionSource)]
                [uuid(D941EF2A-0D5C-4057-92D7-C9711533204F)]
                interface IVisualInteractionSource3 : IInspectable
                {
                    [propget] HRESULT PointerWheelConfig([out] [retval] Windows.UI.Composition.Interactions.InteractionSourceConfiguration** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.VisualInteractionSource)]
                [uuid(B2CA917C-E98A-41F2-B3C9-891C9266C8F6)]
                interface IVisualInteractionSourceObjectFactory : IInspectable
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.VisualInteractionSource)]
                [uuid(369965E1-8645-4F75-BA00-6479CD10C8E6)]
                interface IVisualInteractionSourceStatics : IInspectable
                {
                    HRESULT Create([in] Windows.UI.Composition.Visual* source, [out] [retval] Windows.UI.Composition.Interactions.VisualInteractionSource** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                [exclusiveto(Windows.UI.Composition.Interactions.VisualInteractionSource)]
                [uuid(A979C032-5764-55E0-BC1F-0778786DCFDE)]
                interface IVisualInteractionSourceStatics2 : IInspectable
                {
                    HRESULT CreateFromIVisualElement([in] Windows.UI.Composition.IVisualElement* source, [out] [retval] Windows.UI.Composition.Interactions.VisualInteractionSource** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [static(Windows.UI.Composition.Interactions.ICompositionConditionalValueStatics, Windows.Foundation.UniversalApiContract, 4.0)]
                [threading(both)]
                runtimeclass CompositionConditionalValue : Windows.UI.Composition.CompositionObject
                {
                    [default] interface Windows.UI.Composition.Interactions.ICompositionConditionalValue;
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass CompositionInteractionSourceCollection : Windows.UI.Composition.CompositionObject
                {
                    [default] interface Windows.UI.Composition.Interactions.ICompositionInteractionSourceCollection;
                    interface Windows.Foundation.Collections.IIterable<Windows.UI.Composition.Interactions.ICompositionInteractionSource*>;
                }

                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass InteractionSourceConfiguration : Windows.UI.Composition.CompositionObject
                {
                    [default] interface Windows.UI.Composition.Interactions.IInteractionSourceConfiguration;
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                [static(Windows.UI.Composition.Interactions.IInteractionTrackerStatics, Windows.Foundation.UniversalApiContract, 3.0)]
                [static(Windows.UI.Composition.Interactions.IInteractionTrackerStatics2, Windows.Foundation.UniversalApiContract, 8.0)]
                [threading(both)]
                runtimeclass InteractionTracker : Windows.UI.Composition.CompositionObject
                {
                    [default] interface Windows.UI.Composition.Interactions.IInteractionTracker;
                    [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Composition.Interactions.IInteractionTracker2;
                    [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.UI.Composition.Interactions.IInteractionTracker3;
                    [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.UI.Composition.Interactions.IInteractionTracker4;
                    [contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.UI.Composition.Interactions.IInteractionTracker5;
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                runtimeclass InteractionTrackerCustomAnimationStateEnteredArgs
                {
                    [default] interface Windows.UI.Composition.Interactions.IInteractionTrackerCustomAnimationStateEnteredArgs;
                    [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.UI.Composition.Interactions.IInteractionTrackerCustomAnimationStateEnteredArgs2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                runtimeclass InteractionTrackerIdleStateEnteredArgs
                {
                    [default] interface Windows.UI.Composition.Interactions.IInteractionTrackerIdleStateEnteredArgs;
                    [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.UI.Composition.Interactions.IInteractionTrackerIdleStateEnteredArgs2;
                }

                [composable(Windows.UI.Composition.Interactions.IInteractionTrackerInertiaModifierFactory, public, Windows.Foundation.UniversalApiContract, 3.0)]
                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass InteractionTrackerInertiaModifier : Windows.UI.Composition.CompositionObject
                {
                    [default] interface Windows.UI.Composition.Interactions.IInteractionTrackerInertiaModifier;
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                [static(Windows.UI.Composition.Interactions.IInteractionTrackerInertiaMotionStatics, Windows.Foundation.UniversalApiContract, 3.0)]
                [threading(both)]
                runtimeclass InteractionTrackerInertiaMotion : Windows.UI.Composition.Interactions.InteractionTrackerInertiaModifier
                {
                    [default] interface Windows.UI.Composition.Interactions.IInteractionTrackerInertiaMotion;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [static(Windows.UI.Composition.Interactions.IInteractionTrackerInertiaNaturalMotionStatics, Windows.Foundation.UniversalApiContract, 5.0)]
                [threading(both)]
                runtimeclass InteractionTrackerInertiaNaturalMotion : Windows.UI.Composition.Interactions.InteractionTrackerInertiaModifier
                {
                    [default] interface Windows.UI.Composition.Interactions.IInteractionTrackerInertiaNaturalMotion;
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                [static(Windows.UI.Composition.Interactions.IInteractionTrackerInertiaRestingValueStatics, Windows.Foundation.UniversalApiContract, 3.0)]
                [threading(both)]
                runtimeclass InteractionTrackerInertiaRestingValue : Windows.UI.Composition.Interactions.InteractionTrackerInertiaModifier
                {
                    [default] interface Windows.UI.Composition.Interactions.IInteractionTrackerInertiaRestingValue;
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                runtimeclass InteractionTrackerInertiaStateEnteredArgs
                {
                    [default] interface Windows.UI.Composition.Interactions.IInteractionTrackerInertiaStateEnteredArgs;
                    [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.UI.Composition.Interactions.IInteractionTrackerInertiaStateEnteredArgs2;
                    [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.UI.Composition.Interactions.IInteractionTrackerInertiaStateEnteredArgs3;
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                runtimeclass InteractionTrackerInteractingStateEnteredArgs
                {
                    [default] interface Windows.UI.Composition.Interactions.IInteractionTrackerInteractingStateEnteredArgs;
                    [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.UI.Composition.Interactions.IInteractionTrackerInteractingStateEnteredArgs2;
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                runtimeclass InteractionTrackerRequestIgnoredArgs
                {
                    [default] interface Windows.UI.Composition.Interactions.IInteractionTrackerRequestIgnoredArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                runtimeclass InteractionTrackerValuesChangedArgs
                {
                    [default] interface Windows.UI.Composition.Interactions.IInteractionTrackerValuesChangedArgs;
                }

                [composable(Windows.UI.Composition.Interactions.IInteractionTrackerVector2InertiaModifierFactory, public, Windows.Foundation.UniversalApiContract, 5.0)]
                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass InteractionTrackerVector2InertiaModifier : Windows.UI.Composition.CompositionObject
                {
                    [default] interface Windows.UI.Composition.Interactions.IInteractionTrackerVector2InertiaModifier;
                }

                [contract(Windows.Foundation.UniversalApiContract, 5.0)]
                [marshaling_behavior(agile)]
                [static(Windows.UI.Composition.Interactions.IInteractionTrackerVector2InertiaNaturalMotionStatics, Windows.Foundation.UniversalApiContract, 5.0)]
                [threading(both)]
                runtimeclass InteractionTrackerVector2InertiaNaturalMotion : Windows.UI.Composition.Interactions.InteractionTrackerVector2InertiaModifier
                {
                    [default] interface Windows.UI.Composition.Interactions.IInteractionTrackerVector2InertiaNaturalMotion;
                }

                [composable(Windows.UI.Composition.Interactions.IVisualInteractionSourceObjectFactory, public, Windows.Foundation.UniversalApiContract, 4.0)]
                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                [marshaling_behavior(agile)]
                [static(Windows.UI.Composition.Interactions.IVisualInteractionSourceStatics, Windows.Foundation.UniversalApiContract, 3.0)]
                [static(Windows.UI.Composition.Interactions.IVisualInteractionSourceStatics2, Windows.Foundation.UniversalApiContract, 8.0)]
                [threading(both)]
                runtimeclass VisualInteractionSource : Windows.UI.Composition.CompositionObject
                {
                    [default] interface Windows.UI.Composition.Interactions.IVisualInteractionSource;
                    [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.UI.Composition.Interactions.IVisualInteractionSource2;
                    [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.UI.Composition.Interactions.IVisualInteractionSource3;
                    interface Windows.UI.Composition.Interactions.ICompositionInteractionSource;
                }
            }
        }
    }
}
