//
// 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.AI.Actions.idl";

// Forward Declare
namespace Windows
{
    namespace AI
    {
        namespace Actions
        {
            runtimeclass ActionFeedback;

            runtimeclass ActionInvocationContext;

            apicontract ActionsContract;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        interface IAsyncAction;
    }
}
namespace Windows
{
    namespace AI
    {
        namespace Actions
        {
            namespace Provider
            {
                interface IActionFeedbackHandler;

                interface IActionProvider;
            }
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace AI
    {
        namespace Actions
        {
            namespace Provider
            {
                [contract(Windows.AI.Actions.ActionsContract, 2.0)]
                [uuid(A3FC3C51-A8C6-52C8-AD77-37BF3E2B565C)]
                interface IActionFeedbackHandler : IInspectable
                {
                    HRESULT ProcessFeedbackAsync([in] Windows.AI.Actions.ActionInvocationContext* context, [in] Windows.AI.Actions.ActionFeedback* feedback, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                }

                [contract(Windows.AI.Actions.ActionsContract, 1.0)]
                [uuid(62906C47-3D07-55F1-AEFA-1522505AFBBE)]
                interface IActionProvider : IInspectable
                {
                    HRESULT InvokeAsync([in] Windows.AI.Actions.ActionInvocationContext* context, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                }
            }
        }
    }
}
