//
// 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.Hosting.idl";
import "Windows.ApplicationModel.Appointments.idl";
import "Windows.ApplicationModel.Contacts.idl";
import "Windows.UI.idl";

// Forward Declare
namespace Windows
{
    namespace AI
    {
        namespace Actions
        {
            namespace Hosting
            {
                runtimeclass ActionCatalog;
            }
        }
    }
}
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Appointments
        {
            runtimeclass Appointment;
        }
    }
}
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Contacts
        {
            runtimeclass Contact;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        interface IClosable;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace UI
    {
        typedef struct WindowId WindowId;
    }
}
namespace Windows
{
    namespace AI
    {
        namespace Actions
        {
            apicontract ActionsContract;

            typedef enum ActionEntityKind ActionEntityKind;

            typedef enum ActionEntityTextFormat ActionEntityTextFormat;

            typedef enum ActionFeedbackKind ActionFeedbackKind;

            typedef enum ActionInvocationHelpKind ActionInvocationHelpKind;

            typedef enum ActionInvocationResult ActionInvocationResult;

            typedef enum RemoteFileKind RemoteFileKind;

            interface IActionEntity;

            interface IActionEntity2;

            interface IActionEntityDisplayInfo;

            interface IActionEntityFactory;

            interface IActionEntityFactory2;

            interface IActionEntityFactory3;

            interface IActionEntityFactory4;

            interface IActionEntityFactory5;

            interface IActionEntityFactory6;

            interface IActionEntityFactory7;

            interface IActionEntityFactoryFactory;

            interface IActionFeedback;

            interface IActionInvocationContext;

            interface IActionInvocationContext2;

            interface IActionInvocationHelpDetails;

            interface IActionInvocationHelpDetails2;

            interface IActionRuntime;

            interface IActionRuntime2;

            interface IActionRuntime3;

            interface IActionRuntime4;

            interface IActionRuntime5;

            interface IActionRuntimeFactory;

            interface IActionRuntimeStatics;

            interface IAppointmentActionEntity;

            interface IArrayActionEntity;

            interface IArrayActionEntity2;

            interface IContactActionEntity;

            interface ICustomActionEntityStore;

            interface ICustomActionEntityStoreFactory;

            interface ICustomTextActionEntity;

            interface IDateTimeActionEntity;

            interface IDocumentActionEntity;

            interface IFileActionEntity;

            interface INamedActionEntity;

            interface IPhotoActionEntity;

            interface IRemoteFileActionEntity;

            interface IRemoteFileActionEntity2;

            interface IStreamingTextActionEntity;

            interface IStreamingTextActionEntityTextChangedArgs;

            interface IStreamingTextActionEntityWriter;

            interface ITableActionEntity;

            interface ITextActionEntity;

            interface ITextActionEntity2;

            interface IUriActionEntity;

            runtimeclass ActionEntity;

            runtimeclass ActionEntityDisplayInfo;

            runtimeclass ActionEntityFactory;

            runtimeclass ActionFeedback;

            runtimeclass ActionInvocationContext;

            runtimeclass ActionInvocationHelpDetails;

            runtimeclass ActionRuntime;

            runtimeclass AppointmentActionEntity;

            runtimeclass ArrayActionEntity;

            runtimeclass ContactActionEntity;

            runtimeclass CustomActionEntityStore;

            runtimeclass CustomTextActionEntity;

            runtimeclass DateTimeActionEntity;

            runtimeclass DocumentActionEntity;

            runtimeclass FileActionEntity;

            runtimeclass NamedActionEntity;

            runtimeclass PhotoActionEntity;

            runtimeclass RemoteFileActionEntity;

            runtimeclass StreamingTextActionEntity;

            runtimeclass StreamingTextActionEntityTextChangedArgs;

            runtimeclass StreamingTextActionEntityWriter;

            runtimeclass TableActionEntity;

            runtimeclass TextActionEntity;

            runtimeclass UriActionEntity;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace AI
    {
        namespace Actions
        {
            declare
            {
                interface Windows.Foundation.TypedEventHandler<Windows.AI.Actions.ActionInvocationHelpDetails*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.AI.Actions.StreamingTextActionEntity*, Windows.AI.Actions.StreamingTextActionEntityTextChangedArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace AI
    {
        namespace Actions
        {
            [contractversion(8.0)]
            apicontract ActionsContract
            {
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            enum ActionEntityKind
            {
                None          = 0,
                Document      = 1,
                File          = 2,
                Photo         = 3,
                Text          = 4,
                [contract(Windows.AI.Actions.ActionsContract, 2.0)]
                StreamingText = 5,
                [contract(Windows.AI.Actions.ActionsContract, 2.0)]
                RemoteFile    = 6,
                [contract(Windows.AI.Actions.ActionsContract, 3.0)]
                Table         = 7,
                [contract(Windows.AI.Actions.ActionsContract, 3.0)]
                Contact       = 8,
                [contract(Windows.AI.Actions.ActionsContract, 6.0)]
                [experimental]
                Uri           = 9,
                [contract(Windows.AI.Actions.ActionsContract, 6.0)]
                [experimental]
                Array         = 10,
                [contract(Windows.AI.Actions.ActionsContract, 7.0)]
                [experimental]
                Appointment   = 11,
                [contract(Windows.AI.Actions.ActionsContract, 7.0)]
                [experimental]
                Date          = 12,
                [contract(Windows.AI.Actions.ActionsContract, 8.0)]
                [experimental]
                CustomText    = 13
            };

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            enum ActionEntityTextFormat
            {
                Plain    = 0,
                Markdown = 1
            };

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            enum ActionFeedbackKind
            {
                Positive = 0,
                Negative = 1
            };

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            enum ActionInvocationHelpKind
            {
                None    = 0,
                Error   = 1,
                Warning = 2
            };

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            enum ActionInvocationResult
            {
                Success      = 0,
                UserCanceled = 1,
                Unsupported  = 2,
                Unavailable  = 3
            };

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            enum RemoteFileKind
            {
                Document = 0,
                Photo    = 1,
                File     = 2
            };

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [exclusiveto(Windows.AI.Actions.ActionEntity)]
            [uuid(445E700F-2122-5668-9A16-4CAB2982C5F4)]
            interface IActionEntity : IInspectable
            {
                [propget] HRESULT Kind([out] [retval] Windows.AI.Actions.ActionEntityKind* value);
                [propget] HRESULT DisplayInfo([out] [retval] Windows.AI.Actions.ActionEntityDisplayInfo** value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [exclusiveto(Windows.AI.Actions.ActionEntity)]
            [uuid(98FE136D-DD3A-58C1-AF76-FEB4E19DCE9E)]
            interface IActionEntity2 : IInspectable
            {
                [propget] HRESULT Id([out] [retval] HSTRING* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [exclusiveto(Windows.AI.Actions.ActionEntityDisplayInfo)]
            [uuid(057A9EDE-03E1-55C6-ACBA-C7056216735A)]
            interface IActionEntityDisplayInfo : IInspectable
            {
                [propget] HRESULT Title([out] [retval] HSTRING* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [exclusiveto(Windows.AI.Actions.ActionEntity)]
            [uuid(9CB752A0-5BF8-5BE2-916E-B00EFF80088D)]
            interface IActionEntityFactory : IInspectable
            {
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [exclusiveto(Windows.AI.Actions.ActionEntityFactory)]
            [uuid(EA2FB6A5-EC6D-5180-9D30-BC663B84E7B8)]
            interface IActionEntityFactory2 : IInspectable
            {
                HRESULT CreateFileEntity([in] HSTRING path, [out] [retval] Windows.AI.Actions.FileActionEntity** result);
                HRESULT CreateDocumentEntity([in] HSTRING path, [out] [retval] Windows.AI.Actions.DocumentActionEntity** result);
                HRESULT CreatePhotoEntity([in] HSTRING path, [out] [retval] Windows.AI.Actions.PhotoActionEntity** result);
                HRESULT CreateTextEntity([in] HSTRING text, [out] [retval] Windows.AI.Actions.TextActionEntity** result);
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [exclusiveto(Windows.AI.Actions.ActionEntityFactory)]
            [uuid(4910E689-00B5-56BB-9C65-0FCC76215283)]
            interface IActionEntityFactory3 : IInspectable
            {
                HRESULT CreateRemoteFileEntity([in] HSTRING sourceId, [in] Windows.AI.Actions.RemoteFileKind fileKind, [in] Windows.Foundation.Uri* sourceUri, [in] HSTRING fileId, [in] HSTRING contentType, [in] HSTRING driveId, [in] HSTRING accountId, [in] HSTRING extension, [out] [retval] Windows.AI.Actions.RemoteFileActionEntity** result);
                [overload("CreateTextEntity")] HRESULT CreateTextEntityWithTextFormat([in] HSTRING text, [in] Windows.AI.Actions.ActionEntityTextFormat textFormat, [out] [retval] Windows.AI.Actions.TextActionEntity** result);
                HRESULT CreateStreamingTextActionEntityWriter([in] Windows.AI.Actions.ActionEntityTextFormat textFormat, [out] [retval] Windows.AI.Actions.StreamingTextActionEntityWriter** result);
            }

            [contract(Windows.AI.Actions.ActionsContract, 3.0)]
            [exclusiveto(Windows.AI.Actions.ActionEntityFactory)]
            [uuid(332EDA05-DE0E-5A58-B318-A2AD771F013D)]
            interface IActionEntityFactory4 : IInspectable
            {
                HRESULT CreateTableEntity([in] UINT32 __dataSize, [in] [size_is(__dataSize)] HSTRING* data, [in] UINT32 columnCount, [out] [retval] Windows.AI.Actions.TableActionEntity** result);
                HRESULT CreateContactEntity([in] Windows.ApplicationModel.Contacts.Contact* contact, [out] [retval] Windows.AI.Actions.ContactActionEntity** result);
            }

            [contract(Windows.AI.Actions.ActionsContract, 6.0)]
            [exclusiveto(Windows.AI.Actions.ActionEntityFactory)]
            [experimental]
            [uuid(B59FAAB1-CFE4-564A-A5BA-53AD7FF6F924)]
            interface IActionEntityFactory5 : IInspectable
            {
                HRESULT CreateUriEntity([in] Windows.Foundation.Uri* Uri, [out] [retval] Windows.AI.Actions.UriActionEntity** result);
                HRESULT CreateArrayEntity([in] Windows.AI.Actions.ActionEntityKind kind, [in] UINT32 __entitiesSize, [in] [size_is(__entitiesSize)] Windows.AI.Actions.ActionEntity** entities, [out] [retval] Windows.AI.Actions.ArrayActionEntity** result);
            }

            [contract(Windows.AI.Actions.ActionsContract, 7.0)]
            [exclusiveto(Windows.AI.Actions.ActionEntityFactory)]
            [experimental]
            [uuid(DA7123DA-5639-590F-A2DB-C3B5E221F3B6)]
            interface IActionEntityFactory6 : IInspectable
            {
                HRESULT CreateDateTimeEntity([in] Windows.Foundation.DateTime dateTime, [out] [retval] Windows.AI.Actions.DateTimeActionEntity** result);
                HRESULT CreateAppointmentEntity([in] HSTRING sourceId, [in] Windows.ApplicationModel.Appointments.Appointment* appointment, [in] UINT32 __attendeesSize, [in] [size_is(__attendeesSize)] Windows.AI.Actions.ContactActionEntity** attendees, [out] [retval] Windows.AI.Actions.AppointmentActionEntity** result);
            }

            [contract(Windows.AI.Actions.ActionsContract, 8.0)]
            [exclusiveto(Windows.AI.Actions.ActionEntityFactory)]
            [experimental]
            [uuid(B814B8D5-C9B2-51B5-A342-9FE054D8A1EB)]
            interface IActionEntityFactory7 : IInspectable
            {
                HRESULT CreateCustomTextEntity([in] HSTRING kind, [in] HSTRING keyPhrase, [in] Windows.Foundation.Collections.IMapView<HSTRING, IInspectable*>* props, [out] [retval] Windows.AI.Actions.CustomTextActionEntity** result);
                HRESULT CreateArrayEntityWithCustomKind([in] Windows.AI.Actions.ActionEntityKind elementKind, [in] HSTRING customKind, [in] UINT32 __entitiesSize, [in] [size_is(__entitiesSize)] Windows.AI.Actions.ActionEntity** entities, [out] [retval] Windows.AI.Actions.ArrayActionEntity** result);
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [exclusiveto(Windows.AI.Actions.ActionEntityFactory)]
            [uuid(C9147D8F-88A0-5EC0-A564-47E2A1081412)]
            interface IActionEntityFactoryFactory : IInspectable
            {
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [exclusiveto(Windows.AI.Actions.ActionFeedback)]
            [uuid(A12EE7AB-2454-56C9-BBDF-C089457FBC5E)]
            interface IActionFeedback : IInspectable
            {
                [propget] HRESULT FeedbackKind([out] [retval] Windows.AI.Actions.ActionFeedbackKind* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [exclusiveto(Windows.AI.Actions.ActionInvocationContext)]
            [uuid(C32B622E-86E1-5EBA-9661-605910104978)]
            interface IActionInvocationContext : IInspectable
            {
                [propget] HRESULT EntityFactory([out] [retval] Windows.AI.Actions.ActionEntityFactory** value);
                HRESULT SetInputEntity([in] HSTRING inputName, [in] Windows.AI.Actions.ActionEntity* inputValue);
                HRESULT GetInputEntities([out] UINT32* __resultSize, [out] [retval] [size_is(, *__resultSize)] Windows.AI.Actions.NamedActionEntity*** result);
                HRESULT SetOutputEntity([in] HSTRING outputName, [in] Windows.AI.Actions.ActionEntity* outputValue);
                HRESULT GetOutputEntities([out] UINT32* __resultSize, [out] [retval] [size_is(, *__resultSize)] Windows.AI.Actions.NamedActionEntity*** result);
                [propget] HRESULT Result([out] [retval] Windows.AI.Actions.ActionInvocationResult* value);
                [propput] HRESULT Result([in] Windows.AI.Actions.ActionInvocationResult value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
                [propput] HRESULT ExtendedError([in] HRESULT value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [exclusiveto(Windows.AI.Actions.ActionInvocationContext)]
            [uuid(7C843086-9279-5BCD-8F2E-D15121E7A827)]
            interface IActionInvocationContext2 : IInspectable
            {
                [propget] HRESULT InvokerWindowId([out] [retval] Windows.UI.WindowId* value);
                [propget] HRESULT HelpDetails([out] [retval] Windows.AI.Actions.ActionInvocationHelpDetails** value);
                [propget] HRESULT ActionId([out] [retval] HSTRING* value);
                [propget] HRESULT InvokerAppUserModelId([out] [retval] HSTRING* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [exclusiveto(Windows.AI.Actions.ActionInvocationHelpDetails)]
            [uuid(5430F272-078F-5722-8F7D-90CF8DDD595E)]
            interface IActionInvocationHelpDetails : IInspectable
            {
                [propget] HRESULT Kind([out] [retval] Windows.AI.Actions.ActionInvocationHelpKind* value);
                [propput] HRESULT Kind([in] Windows.AI.Actions.ActionInvocationHelpKind value);
                [propget] HRESULT Title([out] [retval] HSTRING* value);
                [propput] HRESULT Title([in] HSTRING value);
                [propget] HRESULT Description([out] [retval] HSTRING* value);
                [propput] HRESULT Description([in] HSTRING value);
                [propget] HRESULT HelpUri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT HelpUri([in] Windows.Foundation.Uri* value);
                [propget] HRESULT HelpUriDescription([out] [retval] HSTRING* value);
                [propput] HRESULT HelpUriDescription([in] HSTRING value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 8.0)]
            [exclusiveto(Windows.AI.Actions.ActionInvocationHelpDetails)]
            [experimental]
            [uuid(307F6BA5-5FDA-59F1-9722-1859801AD550)]
            interface IActionInvocationHelpDetails2 : IInspectable
            {
                [eventadd] HRESULT Changed([in] Windows.Foundation.TypedEventHandler<Windows.AI.Actions.ActionInvocationHelpDetails*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Changed([in] EventRegistrationToken token);
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [exclusiveto(Windows.AI.Actions.ActionRuntime)]
            [uuid(206EFA2C-C909-508A-B4B0-9482BE96DB9C)]
            interface IActionRuntime : IInspectable
            {
                [propget] HRESULT ActionCatalog([out] [retval] Windows.AI.Actions.Hosting.ActionCatalog** value);
                [propget] HRESULT EntityFactory([out] [retval] Windows.AI.Actions.ActionEntityFactory** value);
                HRESULT CreateInvocationContext([in] HSTRING actionId, [out] [retval] Windows.AI.Actions.ActionInvocationContext** result);
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [exclusiveto(Windows.AI.Actions.ActionRuntime)]
            [uuid(2DA4D2C0-E593-5350-8143-15BB24F63411)]
            interface IActionRuntime2 : IInspectable
            {
                HRESULT CreateActionFeedback([in] Windows.AI.Actions.ActionFeedbackKind feedbackKind, [out] [retval] Windows.AI.Actions.ActionFeedback** result);
                HRESULT SetActionAvailability([in] HSTRING actionId, [in] boolean isAvailable);
                HRESULT GetActionAvailability([in] HSTRING actionId, [out] [retval] boolean* result);
            }

            [contract(Windows.AI.Actions.ActionsContract, 3.0)]
            [exclusiveto(Windows.AI.Actions.ActionRuntime)]
            [uuid(F020C3C0-CAEC-5928-AD00-81069B80FBC1)]
            interface IActionRuntime3 : IInspectable
            {
                HRESULT CreateInvocationContextWithWindowId([in] HSTRING actionId, [in] Windows.UI.WindowId invokerWindowId, [out] [retval] Windows.AI.Actions.ActionInvocationContext** result);
                HRESULT GetActionEntityById([in] HSTRING entityId, [out] [retval] Windows.AI.Actions.ActionEntity** result);
                [propget] HRESULT LatestSupportedSchemaVersion([out] [retval] UINT32* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 5.0)]
            [exclusiveto(Windows.AI.Actions.ActionRuntime)]
            [uuid(06851DCD-C743-5C7F-88A1-BBAEB02F5E28)]
            interface IActionRuntime4 : IInspectable
            {
                HRESULT GetActionInvocationContextFromToken([in] HSTRING token, [out] [retval] Windows.AI.Actions.ActionInvocationContext** result);
            }

            [contract(Windows.AI.Actions.ActionsContract, 8.0)]
            [exclusiveto(Windows.AI.Actions.ActionRuntime)]
            [experimental]
            [uuid(C2E995B1-52A9-5F3A-BEBB-A04655E96218)]
            interface IActionRuntime5 : IInspectable
            {
                [propget] HRESULT CustomEntityStore([out] [retval] Windows.AI.Actions.CustomActionEntityStore** value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [exclusiveto(Windows.AI.Actions.ActionRuntime)]
            [uuid(D3F366E9-8DC9-50A0-8040-E5C14FA609D6)]
            interface IActionRuntimeFactory : IInspectable
            {
            }

            [contract(Windows.AI.Actions.ActionsContract, 8.0)]
            [exclusiveto(Windows.AI.Actions.ActionRuntime)]
            [uuid(2C697AAB-55F2-55AA-9D63-A73EC190CECD)]
            interface IActionRuntimeStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.AI.Actions.ActionRuntime** result);
            }

            [contract(Windows.AI.Actions.ActionsContract, 7.0)]
            [exclusiveto(Windows.AI.Actions.AppointmentActionEntity)]
            [experimental]
            [uuid(29DAA00E-B474-581C-B555-6187D1AA8231)]
            interface IAppointmentActionEntity : IInspectable
            {
                [propget] HRESULT SourceId([out] [retval] HSTRING* value);
                [propget] HRESULT Appointment([out] [retval] Windows.ApplicationModel.Appointments.Appointment** value);
                HRESULT GetAttendees([out] UINT32* __resultSize, [out] [retval] [size_is(, *__resultSize)] Windows.AI.Actions.ContactActionEntity*** result);
                HRESULT GetPresentedFiles([out] UINT32* __resultSize, [out] [retval] [size_is(, *__resultSize)] Windows.AI.Actions.RemoteFileActionEntity*** result);
                HRESULT SetPresentedFiles([in] UINT32 __filesSize, [in] [size_is(__filesSize)] Windows.AI.Actions.RemoteFileActionEntity** files);
                HRESULT GetSharedFiles([out] UINT32* __resultSize, [out] [retval] [size_is(, *__resultSize)] Windows.AI.Actions.RemoteFileActionEntity*** result);
                HRESULT SetSharedFiles([in] UINT32 __filesSize, [in] [size_is(__filesSize)] Windows.AI.Actions.RemoteFileActionEntity** files);
            }

            [contract(Windows.AI.Actions.ActionsContract, 6.0)]
            [exclusiveto(Windows.AI.Actions.ArrayActionEntity)]
            [experimental]
            [uuid(45798E78-1059-5311-8A1B-DE0081A4CA3B)]
            interface IArrayActionEntity : IInspectable
            {
                [propget] HRESULT ElementKind([out] [retval] Windows.AI.Actions.ActionEntityKind* value);
                HRESULT GetAll([out] UINT32* __resultSize, [out] [retval] [size_is(, *__resultSize)] Windows.AI.Actions.ActionEntity*** result);
            }

            [contract(Windows.AI.Actions.ActionsContract, 8.0)]
            [exclusiveto(Windows.AI.Actions.ArrayActionEntity)]
            [experimental]
            [uuid(7366E049-7FE8-5DF9-BBCA-CEA5C0F3D316)]
            interface IArrayActionEntity2 : IInspectable
            {
                [propget] HRESULT CustomElementKind([out] [retval] HSTRING* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 3.0)]
            [exclusiveto(Windows.AI.Actions.ContactActionEntity)]
            [uuid(458C3E07-5892-5485-BD9B-8F7A540C9501)]
            interface IContactActionEntity : IInspectable
            {
                [propget] HRESULT Contact([out] [retval] Windows.ApplicationModel.Contacts.Contact** value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 8.0)]
            [exclusiveto(Windows.AI.Actions.CustomActionEntityStore)]
            [experimental]
            [uuid(FA7B44D0-1762-5828-9938-E7CAE5199E01)]
            interface ICustomActionEntityStore : IInspectable
            {
                HRESULT GetLastModifiedTime([in] HSTRING kind, [out] [retval] Windows.Foundation.DateTime* result);
                HRESULT Insert([in] Windows.AI.Actions.CustomTextActionEntity* entity);
                HRESULT InsertMany([in] UINT32 __entitiesSize, [in] [size_is(__entitiesSize)] Windows.AI.Actions.CustomTextActionEntity** entities);
                HRESULT Delete([in] HSTRING kind);
            }

            [contract(Windows.AI.Actions.ActionsContract, 8.0)]
            [exclusiveto(Windows.AI.Actions.CustomActionEntityStore)]
            [experimental]
            [uuid(D8B46BDB-68A5-5E07-9113-ABB9241AAAB1)]
            interface ICustomActionEntityStoreFactory : IInspectable
            {
            }

            [contract(Windows.AI.Actions.ActionsContract, 8.0)]
            [exclusiveto(Windows.AI.Actions.CustomTextActionEntity)]
            [experimental]
            [uuid(50EAAC95-1D6C-54B0-8963-E38DEA3F6AEC)]
            interface ICustomTextActionEntity : IInspectable
            {
                [propget] HRESULT CustomTextKind([out] [retval] HSTRING* value);
                [propget] HRESULT KeyPhrase([out] [retval] HSTRING* value);
                [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, IInspectable*>** value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 7.0)]
            [exclusiveto(Windows.AI.Actions.DateTimeActionEntity)]
            [experimental]
            [uuid(FD5A0880-EEAE-553A-BFED-A9229D57447D)]
            interface IDateTimeActionEntity : IInspectable
            {
                [propget] HRESULT DateTime([out] [retval] Windows.Foundation.DateTime* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [exclusiveto(Windows.AI.Actions.DocumentActionEntity)]
            [uuid(56715297-960B-59FF-AF4B-ECE1098B2E36)]
            interface IDocumentActionEntity : IInspectable
            {
                [propget] HRESULT FullPath([out] [retval] HSTRING* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [exclusiveto(Windows.AI.Actions.FileActionEntity)]
            [uuid(F20AB43F-4C80-5904-BD42-3E6248BABFCF)]
            interface IFileActionEntity : IInspectable
            {
                [propget] HRESULT FullPath([out] [retval] HSTRING* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [exclusiveto(Windows.AI.Actions.NamedActionEntity)]
            [uuid(1AAEBEEF-435B-5A0D-8182-05FE4DD47712)]
            interface INamedActionEntity : IInspectable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propput] HRESULT Name([in] HSTRING value);
                [propget] HRESULT Entity([out] [retval] Windows.AI.Actions.ActionEntity** value);
                [propput] HRESULT Entity([in] Windows.AI.Actions.ActionEntity* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [exclusiveto(Windows.AI.Actions.PhotoActionEntity)]
            [uuid(425123B3-20EF-51A6-B35F-8414384765C5)]
            interface IPhotoActionEntity : IInspectable
            {
                [propget] HRESULT FullPath([out] [retval] HSTRING* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [exclusiveto(Windows.AI.Actions.RemoteFileActionEntity)]
            [uuid(A5D8EC21-A2BD-545A-ABFC-D7AA79FD0B81)]
            interface IRemoteFileActionEntity : IInspectable
            {
                [propget] HRESULT SourceId([out] [retval] HSTRING* value);
                [propget] HRESULT FileKind([out] [retval] Windows.AI.Actions.RemoteFileKind* value);
                [propget] HRESULT SourceUri([out] [retval] Windows.Foundation.Uri** value);
                [propget] HRESULT FileId([out] [retval] HSTRING* value);
                [propget] HRESULT ContentType([out] [retval] HSTRING* value);
                [propget] HRESULT DriveId([out] [retval] HSTRING* value);
                [propget] HRESULT AccountId([out] [retval] HSTRING* value);
                [propget] HRESULT Extension([out] [retval] HSTRING* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 7.0)]
            [exclusiveto(Windows.AI.Actions.RemoteFileActionEntity)]
            [experimental]
            [uuid(9CC8CC54-77D8-5537-83C4-6F18C1BC9F67)]
            interface IRemoteFileActionEntity2 : IInspectable
            {
                [propget] HRESULT Filename([out] [retval] HSTRING* value);
                [propput] HRESULT Filename([in] HSTRING value);
                [propget] HRESULT Creator([out] [retval] Windows.AI.Actions.ContactActionEntity** value);
                [propput] HRESULT Creator([in] Windows.AI.Actions.ContactActionEntity* value);
                [propget] HRESULT LastUpdatedTime([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** value);
                [propput] HRESULT LastUpdatedTime([in] Windows.Foundation.IReference<Windows.Foundation.DateTime>* value);
                HRESULT SetContributors([in] UINT32 __contributorsSize, [in] [size_is(__contributorsSize)] Windows.AI.Actions.ContactActionEntity** contributors);
                HRESULT GetContributors([out] UINT32* __resultSize, [out] [retval] [size_is(, *__resultSize)] Windows.AI.Actions.ContactActionEntity*** result);
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [exclusiveto(Windows.AI.Actions.StreamingTextActionEntity)]
            [uuid(44CD8A16-ABC9-5703-B4BF-6FE8B7A802FD)]
            interface IStreamingTextActionEntity : IInspectable
            {
                [propget] HRESULT IsComplete([out] [retval] boolean* value);
                HRESULT GetText([out] [retval] HSTRING* result);
                [propget] HRESULT TextFormat([out] [retval] Windows.AI.Actions.ActionEntityTextFormat* value);
                [eventadd] HRESULT TextChanged([in] Windows.Foundation.TypedEventHandler<Windows.AI.Actions.StreamingTextActionEntity*, Windows.AI.Actions.StreamingTextActionEntityTextChangedArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT TextChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [exclusiveto(Windows.AI.Actions.StreamingTextActionEntityTextChangedArgs)]
            [uuid(2C62011F-3E06-588B-A3BD-D726BD82FB13)]
            interface IStreamingTextActionEntityTextChangedArgs : IInspectable
            {
                [propget] HRESULT Text([out] [retval] HSTRING* value);
                [propget] HRESULT IsComplete([out] [retval] boolean* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [exclusiveto(Windows.AI.Actions.StreamingTextActionEntityWriter)]
            [uuid(6BCE2F76-A8AF-5FF2-833C-108737BA0F42)]
            interface IStreamingTextActionEntityWriter : IInspectable
            {
                [propget] HRESULT ReaderEntity([out] [retval] Windows.AI.Actions.StreamingTextActionEntity** value);
                [propget] HRESULT TextFormat([out] [retval] Windows.AI.Actions.ActionEntityTextFormat* value);
                HRESULT SetText([in] HSTRING text);
            }

            [contract(Windows.AI.Actions.ActionsContract, 3.0)]
            [exclusiveto(Windows.AI.Actions.TableActionEntity)]
            [uuid(0F252CDB-BA24-5DBB-9D17-1B300773D141)]
            interface ITableActionEntity : IInspectable
            {
                HRESULT GetTextContent([out] UINT32* __resultSize, [out] [retval] [size_is(, *__resultSize)] HSTRING** result);
                [propget] HRESULT RowCount([out] [retval] UINT32* value);
                [propget] HRESULT ColumnCount([out] [retval] UINT32* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [exclusiveto(Windows.AI.Actions.TextActionEntity)]
            [uuid(3C4EC25F-5ADB-5F73-B8F3-080FBEADD612)]
            interface ITextActionEntity : IInspectable
            {
                [propget] HRESULT Text([out] [retval] HSTRING* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [exclusiveto(Windows.AI.Actions.TextActionEntity)]
            [uuid(7C500889-CF08-51E7-BECA-F0BBC7A7486C)]
            interface ITextActionEntity2 : IInspectable
            {
                [propget] HRESULT TextFormat([out] [retval] Windows.AI.Actions.ActionEntityTextFormat* value);
            }

            [contract(Windows.AI.Actions.ActionsContract, 6.0)]
            [exclusiveto(Windows.AI.Actions.UriActionEntity)]
            [experimental]
            [uuid(A81CDE77-BC25-532D-905E-B0725C5BCD4E)]
            interface IUriActionEntity : IInspectable
            {
                [propget] HRESULT Uri([out] [retval] Windows.Foundation.Uri** value);
            }

            [composable(Windows.AI.Actions.IActionEntityFactory, public, Windows.AI.Actions.ActionsContract, 1.0)]
            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ActionEntity
            {
                [default] interface Windows.AI.Actions.IActionEntity;
                [contract(Windows.AI.Actions.ActionsContract, 2.0)] interface Windows.AI.Actions.IActionEntity2;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ActionEntityDisplayInfo
            {
                [default] interface Windows.AI.Actions.IActionEntityDisplayInfo;
                interface Windows.Foundation.IClosable;
            }

            [composable(Windows.AI.Actions.IActionEntityFactoryFactory, public, Windows.AI.Actions.ActionsContract, 1.0)]
            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ActionEntityFactory
            {
                [default] interface Windows.AI.Actions.IActionEntityFactory2;
                [contract(Windows.AI.Actions.ActionsContract, 2.0)] interface Windows.AI.Actions.IActionEntityFactory3;
                [contract(Windows.AI.Actions.ActionsContract, 3.0)] interface Windows.AI.Actions.IActionEntityFactory4;
                [contract(Windows.AI.Actions.ActionsContract, 6.0)] [experimental] interface Windows.AI.Actions.IActionEntityFactory5;
                [contract(Windows.AI.Actions.ActionsContract, 7.0)] [experimental] interface Windows.AI.Actions.IActionEntityFactory6;
                [contract(Windows.AI.Actions.ActionsContract, 8.0)] [experimental] interface Windows.AI.Actions.IActionEntityFactory7;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [marshaling_behavior(agile)]
            runtimeclass ActionFeedback
            {
                [default] interface Windows.AI.Actions.IActionFeedback;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass ActionInvocationContext
            {
                [default] interface Windows.AI.Actions.IActionInvocationContext;
                [contract(Windows.AI.Actions.ActionsContract, 2.0)] interface Windows.AI.Actions.IActionInvocationContext2;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [marshaling_behavior(agile)]
            runtimeclass ActionInvocationHelpDetails
            {
                [default] interface Windows.AI.Actions.IActionInvocationHelpDetails;
                [contract(Windows.AI.Actions.ActionsContract, 8.0)] [experimental] interface Windows.AI.Actions.IActionInvocationHelpDetails2;
                interface Windows.Foundation.IClosable;
            }

            [composable(Windows.AI.Actions.IActionRuntimeFactory, public, Windows.AI.Actions.ActionsContract, 1.0)]
            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.AI.Actions.IActionRuntimeStatics, Windows.AI.Actions.ActionsContract, 8.0)]
            [threading(both)]
            runtimeclass ActionRuntime
            {
                [default] interface Windows.AI.Actions.IActionRuntime;
                [contract(Windows.AI.Actions.ActionsContract, 2.0)] interface Windows.AI.Actions.IActionRuntime2;
                [contract(Windows.AI.Actions.ActionsContract, 3.0)] interface Windows.AI.Actions.IActionRuntime3;
                [contract(Windows.AI.Actions.ActionsContract, 5.0)] interface Windows.AI.Actions.IActionRuntime4;
                [contract(Windows.AI.Actions.ActionsContract, 8.0)] [experimental] interface Windows.AI.Actions.IActionRuntime5;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.Actions.ActionsContract, 7.0)]
            [experimental]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass AppointmentActionEntity : Windows.AI.Actions.ActionEntity
            {
                [default] [experimental] interface Windows.AI.Actions.IAppointmentActionEntity;
            }

            [contract(Windows.AI.Actions.ActionsContract, 6.0)]
            [experimental]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ArrayActionEntity : Windows.AI.Actions.ActionEntity
            {
                [default] [experimental] interface Windows.AI.Actions.IArrayActionEntity;
                [contract(Windows.AI.Actions.ActionsContract, 8.0)] [experimental] interface Windows.AI.Actions.IArrayActionEntity2;
            }

            [contract(Windows.AI.Actions.ActionsContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ContactActionEntity : Windows.AI.Actions.ActionEntity
            {
                [default] interface Windows.AI.Actions.IContactActionEntity;
            }

            [composable(Windows.AI.Actions.ICustomActionEntityStoreFactory, public, Windows.AI.Actions.ActionsContract, 8.0)]
            [contract(Windows.AI.Actions.ActionsContract, 8.0)]
            [experimental]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CustomActionEntityStore
            {
                [default] [experimental] interface Windows.AI.Actions.ICustomActionEntityStore;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.Actions.ActionsContract, 8.0)]
            [experimental]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CustomTextActionEntity : Windows.AI.Actions.ActionEntity
            {
                [default] [experimental] interface Windows.AI.Actions.ICustomTextActionEntity;
            }

            [contract(Windows.AI.Actions.ActionsContract, 7.0)]
            [experimental]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass DateTimeActionEntity : Windows.AI.Actions.ActionEntity
            {
                [default] [experimental] interface Windows.AI.Actions.IDateTimeActionEntity;
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass DocumentActionEntity : Windows.AI.Actions.ActionEntity
            {
                [default] interface Windows.AI.Actions.IDocumentActionEntity;
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass FileActionEntity : Windows.AI.Actions.ActionEntity
            {
                [default] interface Windows.AI.Actions.IFileActionEntity;
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass NamedActionEntity
            {
                [default] interface Windows.AI.Actions.INamedActionEntity;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PhotoActionEntity : Windows.AI.Actions.ActionEntity
            {
                [default] interface Windows.AI.Actions.IPhotoActionEntity;
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RemoteFileActionEntity : Windows.AI.Actions.ActionEntity
            {
                [default] interface Windows.AI.Actions.IRemoteFileActionEntity;
                [contract(Windows.AI.Actions.ActionsContract, 7.0)] [experimental] interface Windows.AI.Actions.IRemoteFileActionEntity2;
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass StreamingTextActionEntity : Windows.AI.Actions.ActionEntity
            {
                [default] interface Windows.AI.Actions.IStreamingTextActionEntity;
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [marshaling_behavior(agile)]
            runtimeclass StreamingTextActionEntityTextChangedArgs
            {
                [default] interface Windows.AI.Actions.IStreamingTextActionEntityTextChangedArgs;
            }

            [contract(Windows.AI.Actions.ActionsContract, 2.0)]
            [marshaling_behavior(agile)]
            runtimeclass StreamingTextActionEntityWriter
            {
                [default] interface Windows.AI.Actions.IStreamingTextActionEntityWriter;
                interface Windows.Foundation.IClosable;
            }

            [contract(Windows.AI.Actions.ActionsContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass TableActionEntity : Windows.AI.Actions.ActionEntity
            {
                [default] interface Windows.AI.Actions.ITableActionEntity;
            }

            [contract(Windows.AI.Actions.ActionsContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass TextActionEntity : Windows.AI.Actions.ActionEntity
            {
                [default] interface Windows.AI.Actions.ITextActionEntity;
                [contract(Windows.AI.Actions.ActionsContract, 2.0)] interface Windows.AI.Actions.ITextActionEntity2;
            }

            [contract(Windows.AI.Actions.ActionsContract, 6.0)]
            [experimental]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass UriActionEntity : Windows.AI.Actions.ActionEntity
            {
                [default] [experimental] interface Windows.AI.Actions.IUriActionEntity;
            }
        }
    }
}
