//
// 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.Media.MediaProperties.idl";
import "Windows.Security.Credentials.idl";
import "Windows.Storage.Streams.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        interface IAsyncAction;

        typedef struct TimeSpan TimeSpan;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace Media
    {
        namespace MediaProperties
        {
            runtimeclass MediaEncodingProfile;
        }
    }
}
namespace Windows
{
    namespace Security
    {
        namespace Credentials
        {
            runtimeclass WebAccount;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IRandomAccessStreamReference;
        }
    }
}
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Chat
        {
            typedef enum ChatConversationThreadingKind ChatConversationThreadingKind;

            typedef enum ChatItemKind ChatItemKind;

            typedef enum ChatMessageChangeType ChatMessageChangeType;

            typedef enum ChatMessageKind ChatMessageKind;

            typedef enum ChatMessageOperatorKind ChatMessageOperatorKind;

            typedef enum ChatMessageStatus ChatMessageStatus;

            typedef enum ChatMessageTransportKind ChatMessageTransportKind;

            typedef enum ChatMessageValidationStatus ChatMessageValidationStatus;

            typedef enum ChatRestoreHistorySpan ChatRestoreHistorySpan;

            typedef enum ChatStoreChangedEventKind ChatStoreChangedEventKind;

            typedef enum ChatTransportErrorCodeCategory ChatTransportErrorCodeCategory;

            typedef enum ChatTransportInterpretedErrorCode ChatTransportInterpretedErrorCode;

            typedef enum RcsServiceKind RcsServiceKind;

            interface IChatCapabilities;

            interface IChatCapabilitiesManagerStatics;

            interface IChatCapabilitiesManagerStatics2;

            interface IChatConversation;

            interface IChatConversation2;

            interface IChatConversationReader;

            interface IChatConversationThreadingInfo;

            interface IChatItem;

            interface IChatMessage;

            interface IChatMessage2;

            interface IChatMessage3;

            interface IChatMessage4;

            interface IChatMessageAttachment;

            interface IChatMessageAttachment2;

            interface IChatMessageAttachmentFactory;

            interface IChatMessageBlockingStatic;

            interface IChatMessageChange;

            interface IChatMessageChangeReader;

            interface IChatMessageChangeTracker;

            interface IChatMessageChangedDeferral;

            interface IChatMessageChangedEventArgs;

            interface IChatMessageManager2Statics;

            interface IChatMessageManagerStatic;

            interface IChatMessageManagerStatics3;

            interface IChatMessageNotificationTriggerDetails;

            interface IChatMessageNotificationTriggerDetails2;

            interface IChatMessageReader;

            interface IChatMessageReader2;

            interface IChatMessageStore;

            interface IChatMessageStore2;

            interface IChatMessageStore3;

            interface IChatMessageStoreChangedEventArgs;

            interface IChatMessageTransport;

            interface IChatMessageTransport2;

            interface IChatMessageTransportConfiguration;

            interface IChatMessageValidationResult;

            interface IChatQueryOptions;

            interface IChatRecipientDeliveryInfo;

            interface IChatSearchReader;

            interface IChatSyncConfiguration;

            interface IChatSyncManager;

            interface IRcsEndUserMessage;

            interface IRcsEndUserMessageAction;

            interface IRcsEndUserMessageAvailableEventArgs;

            interface IRcsEndUserMessageAvailableTriggerDetails;

            interface IRcsEndUserMessageManager;

            interface IRcsManagerStatics;

            interface IRcsManagerStatics2;

            interface IRcsServiceKindSupportedChangedEventArgs;

            interface IRcsTransport;

            interface IRcsTransportConfiguration;

            interface IRemoteParticipantComposingChangedEventArgs;

            runtimeclass ChatCapabilities;

            runtimeclass ChatCapabilitiesManager;

            runtimeclass ChatConversation;

            runtimeclass ChatConversationReader;

            runtimeclass ChatConversationThreadingInfo;

            runtimeclass ChatMessage;

            runtimeclass ChatMessageAttachment;

            runtimeclass ChatMessageBlocking;

            runtimeclass ChatMessageChange;

            runtimeclass ChatMessageChangeReader;

            runtimeclass ChatMessageChangeTracker;

            runtimeclass ChatMessageChangedDeferral;

            runtimeclass ChatMessageChangedEventArgs;

            runtimeclass ChatMessageManager;

            runtimeclass ChatMessageNotificationTriggerDetails;

            runtimeclass ChatMessageReader;

            runtimeclass ChatMessageStore;

            runtimeclass ChatMessageStoreChangedEventArgs;

            runtimeclass ChatMessageTransport;

            runtimeclass ChatMessageTransportConfiguration;

            runtimeclass ChatMessageValidationResult;

            runtimeclass ChatQueryOptions;

            runtimeclass ChatRecipientDeliveryInfo;

            runtimeclass ChatSearchReader;

            runtimeclass ChatSyncConfiguration;

            runtimeclass ChatSyncManager;

            runtimeclass RcsEndUserMessage;

            runtimeclass RcsEndUserMessageAction;

            runtimeclass RcsEndUserMessageAvailableEventArgs;

            runtimeclass RcsEndUserMessageAvailableTriggerDetails;

            runtimeclass RcsEndUserMessageManager;

            runtimeclass RcsManager;

            runtimeclass RcsServiceKindSupportedChangedEventArgs;

            runtimeclass RcsTransport;

            runtimeclass RcsTransportConfiguration;

            runtimeclass RemoteParticipantComposingChangedEventArgs;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Chat
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Chat.ChatConversation*>;

                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Chat.ChatMessage*>;

                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Chat.ChatMessageAttachment*>;

                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Chat.ChatMessageChange*>;

                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Chat.ChatMessageTransport*>;

                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Chat.ChatRecipientDeliveryInfo*>;

                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Chat.IChatItem*>;

                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Chat.RcsEndUserMessageAction*>;

                interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Chat.RcsTransport*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.ApplicationModel.Chat.ChatMessageStatus>*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Chat.ChatConversation*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Chat.ChatMessage*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Chat.ChatMessageAttachment*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Chat.ChatMessageChange*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Chat.ChatMessageTransport*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Chat.ChatRecipientDeliveryInfo*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Chat.IChatItem*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Chat.RcsEndUserMessageAction*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Chat.RcsTransport*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.ApplicationModel.Chat.ChatMessageStatus>*>;

                interface Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.ApplicationModel.Chat.ChatMessageStatus>;

                interface Windows.Foundation.Collections.IMapView<HSTRING, Windows.ApplicationModel.Chat.ChatMessageStatus>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatConversation*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatMessage*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatMessageAttachment*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatMessageChange*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatMessageTransport*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatRecipientDeliveryInfo*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.IChatItem*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.RcsEndUserMessageAction*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.RcsTransport*>;

                interface Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Chat.ChatMessageAttachment*>;

                interface Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Chat.ChatRecipientDeliveryInfo*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatCapabilities*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatConversation*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatMessage*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatMessageStore*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatMessageTransport*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatSyncManager*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.RcsTransport*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatConversation*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatMessage*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatMessageChange*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatMessageTransport*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.IChatItem*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.RcsTransport*>*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Chat.ChatConversation*, Windows.ApplicationModel.Chat.RemoteParticipantComposingChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Chat.ChatMessageStore*, Windows.ApplicationModel.Chat.ChatMessageChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Chat.ChatMessageStore*, Windows.ApplicationModel.Chat.ChatMessageStoreChangedEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Chat.RcsEndUserMessageManager*, Windows.ApplicationModel.Chat.RcsEndUserMessageAvailableEventArgs*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Chat.RcsTransport*, Windows.ApplicationModel.Chat.RcsServiceKindSupportedChangedEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Chat
        {
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ChatConversationThreadingKind
            {
                Participants   = 0,
                ContactId      = 1,
                ConversationId = 2,
                Custom         = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ChatItemKind
            {
                Message      = 0,
                Conversation = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ChatMessageChangeType
            {
                MessageCreated     = 0,
                MessageModified    = 1,
                MessageDeleted     = 2,
                ChangeTrackingLost = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ChatMessageKind
            {
                Standard                           = 0,
                FileTransferRequest                = 1,
                TransportCustom                    = 2,
                JoinedConversation                 = 3,
                LeftConversation                   = 4,
                OtherParticipantJoinedConversation = 5,
                OtherParticipantLeftConversation   = 6
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ChatMessageOperatorKind
            {
                Unspecified = 0,
                Sms         = 1,
                Mms         = 2,
                Rcs         = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ChatMessageStatus
            {
                Draft                 = 0,
                Sending               = 1,
                Sent                  = 2,
                SendRetryNeeded       = 3,
                SendFailed            = 4,
                Received              = 5,
                ReceiveDownloadNeeded = 6,
                ReceiveDownloadFailed = 7,
                ReceiveDownloading    = 8,
                Deleted               = 9,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                Declined              = 10,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                Cancelled             = 11,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                Recalled              = 12,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                ReceiveRetryNeeded    = 13
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ChatMessageTransportKind
            {
                Text      = 0,
                Untriaged = 1,
                Blocked   = 2,
                Custom    = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ChatMessageValidationStatus
            {
                Valid                   = 0,
                NoRecipients            = 1,
                InvalidData             = 2,
                MessageTooLarge         = 3,
                TooManyRecipients       = 4,
                TransportInactive       = 5,
                TransportNotFound       = 6,
                TooManyAttachments      = 7,
                InvalidRecipients       = 8,
                InvalidBody             = 9,
                InvalidOther            = 10,
                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                ValidWithLargeMessage   = 11,
                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                VoiceRoamingRestriction = 12,
                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                DataRoamingRestriction  = 13
            };

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            enum ChatRestoreHistorySpan
            {
                LastMonth = 0,
                LastYear  = 1,
                AnyTime   = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ChatStoreChangedEventKind
            {
                NotificationsMissed          = 0,
                StoreModified                = 1,
                MessageCreated               = 2,
                MessageModified              = 3,
                MessageDeleted               = 4,
                ConversationModified         = 5,
                ConversationDeleted          = 6,
                ConversationTransportDeleted = 7
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ChatTransportErrorCodeCategory
            {
                None      = 0,
                Http      = 1,
                Network   = 2,
                MmsServer = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ChatTransportInterpretedErrorCode
            {
                None                    = 0,
                Unknown                 = 1,
                InvalidRecipientAddress = 2,
                NetworkConnectivity     = 3,
                ServiceDenied           = 4,
                Timeout                 = 5
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum RcsServiceKind
            {
                Chat         = 0,
                GroupChat    = 1,
                FileTransfer = 2,
                Capability   = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatCapabilities)]
            [uuid(3AFF77BC-39C9-4DD1-AD2D-3964DD9D403F)]
            interface IChatCapabilities : IInspectable
            {
                [propget] HRESULT IsOnline([out] [retval] boolean* result);
                [propget] HRESULT IsChatCapable([out] [retval] boolean* result);
                [propget] HRESULT IsFileTransferCapable([out] [retval] boolean* result);
                [propget] HRESULT IsGeoLocationPushCapable([out] [retval] boolean* result);
                [propget] HRESULT IsIntegratedMessagingCapable([out] [retval] boolean* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatCapabilitiesManager)]
            [uuid(B57A2F30-7041-458E-B0CF-7C0D9FEA333A)]
            interface IChatCapabilitiesManagerStatics : IInspectable
            {
                [overload("GetCachedCapabilitiesAsync")] HRESULT GetCachedCapabilitiesAsync([in] HSTRING address, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatCapabilities*>** result);
                [overload("GetCapabilitiesFromNetworkAsync")] HRESULT GetCapabilitiesFromNetworkAsync([in] HSTRING address, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatCapabilities*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatCapabilitiesManager)]
            [uuid(E30D4274-D5C1-4AC9-9FFC-40E69184FEC8)]
            interface IChatCapabilitiesManagerStatics2 : IInspectable
            {
                [overload("GetCachedCapabilitiesAsync")] HRESULT GetCachedCapabilitiesForTransportAsync([in] HSTRING address, [in] HSTRING transportId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatCapabilities*>** operation);
                [overload("GetCapabilitiesFromNetworkAsync")] HRESULT GetCapabilitiesFromNetworkForTransportAsync([in] HSTRING address, [in] HSTRING transportId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatCapabilities*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatConversation)]
            [uuid(A58C080D-1A6F-46DC-8F3D-F5028660B6EE)]
            interface IChatConversation : IInspectable
            {
                [propget] HRESULT HasUnreadMessages([out] [retval] boolean* result);
                [propget] HRESULT Id([out] [retval] HSTRING* result);
                [propget] HRESULT Subject([out] [retval] HSTRING* result);
                [propput] HRESULT Subject([in] HSTRING value);
                [propget] HRESULT IsConversationMuted([out] [retval] boolean* result);
                [propput] HRESULT IsConversationMuted([in] boolean value);
                [propget] HRESULT MostRecentMessageId([out] [retval] HSTRING* result);
                [propget] HRESULT Participants([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** result);
                [propget] HRESULT ThreadingInfo([out] [retval] Windows.ApplicationModel.Chat.ChatConversationThreadingInfo** result);
                HRESULT DeleteAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT GetMessageReader([out] [retval] Windows.ApplicationModel.Chat.ChatMessageReader** result);
                [overload("MarkMessagesAsReadAsync")] HRESULT MarkAllMessagesAsReadAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                [overload("MarkMessagesAsReadAsync")] HRESULT MarkMessagesAsReadAsync([in] Windows.Foundation.DateTime value, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT SaveAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT NotifyLocalParticipantComposing([in] HSTRING transportId, [in] HSTRING participantAddress, [in] boolean isComposing);
                HRESULT NotifyRemoteParticipantComposing([in] HSTRING transportId, [in] HSTRING participantAddress, [in] boolean isComposing);
                [eventadd] HRESULT RemoteParticipantComposingChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Chat.ChatConversation*, Windows.ApplicationModel.Chat.RemoteParticipantComposingChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT RemoteParticipantComposingChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatConversation)]
            [uuid(0A030CD1-983A-47AA-9A90-EE48EE997B59)]
            interface IChatConversation2 : IInspectable
            {
                [propget] HRESULT CanModifyParticipants([out] [retval] boolean* result);
                [propput] HRESULT CanModifyParticipants([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatConversationReader)]
            [uuid(055136D2-DE32-4A47-A93A-B3DC0833852B)]
            interface IChatConversationReader : IInspectable
            {
                [overload("ReadBatchAsync")] HRESULT ReadBatchAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatConversation*>*>** result);
                [overload("ReadBatchAsync")] HRESULT ReadBatchWithCountAsync([in] INT32 count, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatConversation*>*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatConversationThreadingInfo)]
            [uuid(331C21DC-7A07-4422-A32C-24BE7C6DAB24)]
            interface IChatConversationThreadingInfo : IInspectable
            {
                [propget] HRESULT ContactId([out] [retval] HSTRING* result);
                [propput] HRESULT ContactId([in] HSTRING value);
                [propget] HRESULT Custom([out] [retval] HSTRING* result);
                [propput] HRESULT Custom([in] HSTRING value);
                [propget] HRESULT ConversationId([out] [retval] HSTRING* result);
                [propput] HRESULT ConversationId([in] HSTRING value);
                [propget] HRESULT Participants([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** result);
                [propget] HRESULT Kind([out] [retval] Windows.ApplicationModel.Chat.ChatConversationThreadingKind* result);
                [propput] HRESULT Kind([in] Windows.ApplicationModel.Chat.ChatConversationThreadingKind value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(8751D000-CEB1-4243-B803-15D45A1DD428)]
            interface IChatItem : IInspectable
            {
                [propget] HRESULT ItemKind([out] [retval] Windows.ApplicationModel.Chat.ChatItemKind* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessage)]
            [uuid(4B39052A-1142-5089-76DA-F2DB3D17CD05)]
            interface IChatMessage : IInspectable
            {
                [propget] HRESULT Attachments([out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Chat.ChatMessageAttachment*>** value);
                [propget] HRESULT Body([out] [retval] HSTRING* value);
                [propput] HRESULT Body([in] HSTRING value);
                [propget] HRESULT From([out] [retval] HSTRING* value);
                [propget] HRESULT Id([out] [retval] HSTRING* value);
                [propget] HRESULT IsForwardingDisabled([out] [retval] boolean* value);
                [propget] HRESULT IsIncoming([out] [retval] boolean* value);
                [propget] HRESULT IsRead([out] [retval] boolean* value);
                [propget] HRESULT LocalTimestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT NetworkTimestamp([out] [retval] Windows.Foundation.DateTime* value);
                [propget] HRESULT Recipients([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
                [propget] HRESULT RecipientSendStatuses([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, Windows.ApplicationModel.Chat.ChatMessageStatus>** value);
                [propget] HRESULT Status([out] [retval] Windows.ApplicationModel.Chat.ChatMessageStatus* value);
                [propget] HRESULT Subject([out] [retval] HSTRING* value);
                [propget] HRESULT TransportFriendlyName([out] [retval] HSTRING* value);
                [propget] HRESULT TransportId([out] [retval] HSTRING* value);
                [propput] HRESULT TransportId([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessage)]
            [uuid(86668332-543F-49F5-AC71-6C2AFC6565FD)]
            interface IChatMessage2 : IInspectable
                requires
                    Windows.ApplicationModel.Chat.IChatMessage3,
                    Windows.ApplicationModel.Chat.IChatMessage
            {
                [propget] HRESULT EstimatedDownloadSize([out] [retval] UINT64* result);
                [propput] HRESULT EstimatedDownloadSize([in] UINT64 value);
                [propput] HRESULT From([in] HSTRING value);
                [propget] HRESULT IsAutoReply([out] [retval] boolean* result);
                [propput] HRESULT IsAutoReply([in] boolean value);
                [propput] HRESULT IsForwardingDisabled([in] boolean value);
                [propget] HRESULT IsReplyDisabled([out] [retval] boolean* result);
                [propput] HRESULT IsIncoming([in] boolean value);
                [propput] HRESULT IsRead([in] boolean value);
                [propget] HRESULT IsSeen([out] [retval] boolean* result);
                [propput] HRESULT IsSeen([in] boolean value);
                [propget] HRESULT IsSimMessage([out] [retval] boolean* result);
                [propput] HRESULT LocalTimestamp([in] Windows.Foundation.DateTime value);
                [propget] HRESULT MessageKind([out] [retval] Windows.ApplicationModel.Chat.ChatMessageKind* result);
                [propput] HRESULT MessageKind([in] Windows.ApplicationModel.Chat.ChatMessageKind value);
                [propget] HRESULT MessageOperatorKind([out] [retval] Windows.ApplicationModel.Chat.ChatMessageOperatorKind* result);
                [propput] HRESULT MessageOperatorKind([in] Windows.ApplicationModel.Chat.ChatMessageOperatorKind value);
                [propput] HRESULT NetworkTimestamp([in] Windows.Foundation.DateTime value);
                [propget] HRESULT IsReceivedDuringQuietHours([out] [retval] boolean* result);
                [propput] HRESULT IsReceivedDuringQuietHours([in] boolean value);
                [propput] HRESULT RemoteId([in] HSTRING value);
                [propput] HRESULT Status([in] Windows.ApplicationModel.Chat.ChatMessageStatus value);
                [propput] HRESULT Subject([in] HSTRING value);
                [propget] HRESULT ShouldSuppressNotification([out] [retval] boolean* result);
                [propput] HRESULT ShouldSuppressNotification([in] boolean value);
                [propget] HRESULT ThreadingInfo([out] [retval] Windows.ApplicationModel.Chat.ChatConversationThreadingInfo** result);
                [propput] HRESULT ThreadingInfo([in] Windows.ApplicationModel.Chat.ChatConversationThreadingInfo* value);
                [propget] HRESULT RecipientsDeliveryInfos([out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Chat.ChatRecipientDeliveryInfo*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessage)]
            [uuid(74EB2FB0-3BA7-459F-8E0B-E8AF0FEBD9AD)]
            interface IChatMessage3 : IInspectable
                requires
                    Windows.ApplicationModel.Chat.IChatMessage
            {
                [propget] HRESULT RemoteId([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessage)]
            [uuid(2D144B0F-D2BF-460C-AA68-6D3F8483C9BF)]
            interface IChatMessage4 : IInspectable
                requires
                    Windows.ApplicationModel.Chat.IChatMessage
            {
                [propget] HRESULT SyncId([out] [retval] HSTRING* result);
                [propput] HRESULT SyncId([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageAttachment)]
            [uuid(C7C4FD74-BF63-58EB-508C-8B863FF16B67)]
            interface IChatMessageAttachment : IInspectable
            {
                [propget] HRESULT DataStreamReference([out] [retval] Windows.Storage.Streams.IRandomAccessStreamReference** value);
                [propput] HRESULT DataStreamReference([in] Windows.Storage.Streams.IRandomAccessStreamReference* value);
                [propget] HRESULT GroupId([out] [retval] UINT32* value);
                [propput] HRESULT GroupId([in] UINT32 value);
                [propget] HRESULT MimeType([out] [retval] HSTRING* value);
                [propput] HRESULT MimeType([in] HSTRING value);
                [propget] HRESULT Text([out] [retval] HSTRING* value);
                [propput] HRESULT Text([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageAttachment)]
            [uuid(5ED99270-7DD1-4A87-A8CE-ACDD87D80DC8)]
            interface IChatMessageAttachment2 : IInspectable
                requires
                    Windows.ApplicationModel.Chat.IChatMessageAttachment
            {
                [propget] HRESULT Thumbnail([out] [retval] Windows.Storage.Streams.IRandomAccessStreamReference** result);
                [propput] HRESULT Thumbnail([in] Windows.Storage.Streams.IRandomAccessStreamReference* value);
                [propget] HRESULT TransferProgress([out] [retval] DOUBLE* result);
                [propput] HRESULT TransferProgress([in] DOUBLE value);
                [propget] HRESULT OriginalFileName([out] [retval] HSTRING* result);
                [propput] HRESULT OriginalFileName([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageAttachment)]
            [uuid(205852A2-A356-5B71-6CA9-66C985B7D0D5)]
            interface IChatMessageAttachmentFactory : IInspectable
            {
                HRESULT CreateChatMessageAttachment([in] HSTRING mimeType, [in] Windows.Storage.Streams.IRandomAccessStreamReference* dataStreamReference, [out] [retval] Windows.ApplicationModel.Chat.ChatMessageAttachment** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageBlocking)]
            [uuid(F6B9A380-CDEA-11E4-8830-0800200C9A66)]
            interface IChatMessageBlockingStatic : IInspectable
            {
                HRESULT MarkMessageAsBlockedAsync([in] HSTRING localChatMessageId, [in] boolean blocked, [out] [retval] Windows.Foundation.IAsyncAction** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageChange)]
            [uuid(1C18C355-421E-54B8-6D38-6B3A6C82FCCC)]
            interface IChatMessageChange : IInspectable
            {
                [propget] HRESULT ChangeType([out] [retval] Windows.ApplicationModel.Chat.ChatMessageChangeType* value);
                [propget] HRESULT Message([out] [retval] Windows.ApplicationModel.Chat.ChatMessage** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageChangeReader)]
            [uuid(14267020-28CE-5F26-7B05-9A5C7CCE87CA)]
            interface IChatMessageChangeReader : IInspectable
            {
                HRESULT AcceptChanges();
                HRESULT AcceptChangesThrough([in] Windows.ApplicationModel.Chat.ChatMessageChange* lastChangeToAcknowledge);
                HRESULT ReadBatchAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatMessageChange*>*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageChangeTracker)]
            [uuid(60B7F066-70A0-5224-508C-242EF7C1D06F)]
            interface IChatMessageChangeTracker : IInspectable
            {
                HRESULT Enable();
                HRESULT GetChangeReader([out] [retval] Windows.ApplicationModel.Chat.ChatMessageChangeReader** value);
                HRESULT Reset();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageChangedDeferral)]
            [uuid(FBC6B30C-788C-4DCC-ACE7-6282382968CF)]
            interface IChatMessageChangedDeferral : IInspectable
            {
                HRESULT Complete();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageChangedEventArgs)]
            [uuid(B6B73E2D-691C-4EDF-8660-6EB9896892E3)]
            interface IChatMessageChangedEventArgs : IInspectable
            {
                HRESULT GetDeferral([out] [retval] Windows.ApplicationModel.Chat.ChatMessageChangedDeferral** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageManager)]
            [uuid(1D45390F-9F4F-4E35-964E-1B9CA61AC044)]
            interface IChatMessageManager2Statics : IInspectable
                requires
                    Windows.ApplicationModel.Chat.IChatMessageManagerStatic
            {
                HRESULT RegisterTransportAsync([out] [retval] Windows.Foundation.IAsyncOperation<HSTRING>** result);
                HRESULT GetTransportAsync([in] HSTRING transportId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatMessageTransport*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageManager)]
            [uuid(F15C60F7-D5E8-5E92-556D-E03B60253104)]
            interface IChatMessageManagerStatic : IInspectable
            {
                HRESULT GetTransportsAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatMessageTransport*>*>** value);
                HRESULT RequestStoreAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatMessageStore*>** value);
                HRESULT ShowComposeSmsMessageAsync([in] Windows.ApplicationModel.Chat.ChatMessage* message, [out] [retval] Windows.Foundation.IAsyncAction** value);
                HRESULT ShowSmsSettings();
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageManager)]
            [uuid(208B830D-6755-48CC-9AB3-FD03C463FC92)]
            interface IChatMessageManagerStatics3 : IInspectable
                requires
                    Windows.ApplicationModel.Chat.IChatMessageManagerStatic
            {
                HRESULT RequestSyncManagerAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatSyncManager*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageNotificationTriggerDetails)]
            [uuid(FD344DFB-3063-4E17-8586-C6C08262E6C0)]
            interface IChatMessageNotificationTriggerDetails : IInspectable
            {
                [propget] HRESULT ChatMessage([out] [retval] Windows.ApplicationModel.Chat.ChatMessage** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageNotificationTriggerDetails)]
            [uuid(6BB522E0-AA07-4FD1-9471-77934FB75EE6)]
            interface IChatMessageNotificationTriggerDetails2 : IInspectable
                requires
                    Windows.ApplicationModel.Chat.IChatMessageNotificationTriggerDetails
            {
                [propget] HRESULT ShouldDisplayToast([out] [retval] boolean* result);
                [propget] HRESULT ShouldUpdateDetailText([out] [retval] boolean* result);
                [propget] HRESULT ShouldUpdateBadge([out] [retval] boolean* result);
                [propget] HRESULT ShouldUpdateActionCenter([out] [retval] boolean* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageReader)]
            [uuid(B6EA78CE-4489-56F9-76AA-E204682514CF)]
            interface IChatMessageReader : IInspectable
            {
                HRESULT ReadBatchAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatMessage*>*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageReader)]
            [uuid(89643683-64BB-470D-9DF4-0DE8BE1A05BF)]
            interface IChatMessageReader2 : IInspectable
            {
                [overload("ReadBatchAsync")] HRESULT ReadBatchWithCountAsync([in] INT32 count, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.ChatMessage*>*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageStore)]
            [uuid(31F2FD01-CCF6-580B-4976-0A07DD5D3B47)]
            interface IChatMessageStore : IInspectable
            {
                [propget] HRESULT ChangeTracker([out] [retval] Windows.ApplicationModel.Chat.ChatMessageChangeTracker** value);
                HRESULT DeleteMessageAsync([in] HSTRING localMessageId, [out] [retval] Windows.Foundation.IAsyncAction** value);
                HRESULT DownloadMessageAsync([in] HSTRING localChatMessageId, [out] [retval] Windows.Foundation.IAsyncAction** value);
                HRESULT GetMessageAsync([in] HSTRING localChatMessageId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatMessage*>** value);
                [overload("GetMessageReader")] HRESULT GetMessageReader1([out] [retval] Windows.ApplicationModel.Chat.ChatMessageReader** value);
                [overload("GetMessageReader")] HRESULT GetMessageReader2([in] Windows.Foundation.TimeSpan recentTimeLimit, [out] [retval] Windows.ApplicationModel.Chat.ChatMessageReader** value);
                HRESULT MarkMessageReadAsync([in] HSTRING localChatMessageId, [out] [retval] Windows.Foundation.IAsyncAction** value);
                HRESULT RetrySendMessageAsync([in] HSTRING localChatMessageId, [out] [retval] Windows.Foundation.IAsyncAction** value);
                HRESULT SendMessageAsync([in] Windows.ApplicationModel.Chat.ChatMessage* chatMessage, [out] [retval] Windows.Foundation.IAsyncAction** value);
                HRESULT ValidateMessage([in] Windows.ApplicationModel.Chat.ChatMessage* chatMessage, [out] [retval] Windows.ApplicationModel.Chat.ChatMessageValidationResult** value);
                [eventadd] HRESULT MessageChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Chat.ChatMessageStore*, Windows.ApplicationModel.Chat.ChatMessageChangedEventArgs*>* value, [out] [retval] EventRegistrationToken* returnValue);
                [eventremove] HRESULT MessageChanged([in] EventRegistrationToken value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageStore)]
            [uuid(AD4DC4EE-3AD4-491B-B311-ABDF9BB22768)]
            interface IChatMessageStore2 : IInspectable
                requires
                    Windows.ApplicationModel.Chat.IChatMessageStore
            {
                HRESULT ForwardMessageAsync([in] HSTRING localChatMessageId, [in] Windows.Foundation.Collections.IIterable<HSTRING>* addresses, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatMessage*>** result);
                [overload("GetConversationAsync")] HRESULT GetConversationAsync([in] HSTRING conversationId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatConversation*>** result);
                [overload("GetConversationAsync")] HRESULT GetConversationForTransportsAsync([in] HSTRING conversationId, [in] Windows.Foundation.Collections.IIterable<HSTRING>* transportIds, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatConversation*>** result);
                HRESULT GetConversationFromThreadingInfoAsync([in] Windows.ApplicationModel.Chat.ChatConversationThreadingInfo* threadingInfo, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatConversation*>** result);
                [overload("GetConversationReader")] HRESULT GetConversationReader([out] [retval] Windows.ApplicationModel.Chat.ChatConversationReader** result);
                [overload("GetConversationReader")] HRESULT GetConversationForTransportsReader([in] Windows.Foundation.Collections.IIterable<HSTRING>* transportIds, [out] [retval] Windows.ApplicationModel.Chat.ChatConversationReader** result);
                HRESULT GetMessageByRemoteIdAsync([in] HSTRING transportId, [in] HSTRING remoteId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatMessage*>** result);
                [overload("GetUnseenCountAsync")] HRESULT GetUnseenCountAsync([out] [retval] Windows.Foundation.IAsyncOperation<INT32>** result);
                [overload("GetUnseenCountAsync")] HRESULT GetUnseenCountForTransportsReaderAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* transportIds, [out] [retval] Windows.Foundation.IAsyncOperation<INT32>** result);
                [overload("MarkAsSeenAsync")] HRESULT MarkAsSeenAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                [overload("MarkAsSeenAsync")] HRESULT MarkAsSeenForTransportsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* transportIds, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT GetSearchReader([in] Windows.ApplicationModel.Chat.ChatQueryOptions* value, [out] [retval] Windows.ApplicationModel.Chat.ChatSearchReader** result);
                HRESULT SaveMessageAsync([in] Windows.ApplicationModel.Chat.ChatMessage* chatMessage, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT TryCancelDownloadMessageAsync([in] HSTRING localChatMessageId, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                HRESULT TryCancelSendMessageAsync([in] HSTRING localChatMessageId, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                [eventadd] HRESULT StoreChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Chat.ChatMessageStore*, Windows.ApplicationModel.Chat.ChatMessageStoreChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT StoreChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageStore)]
            [uuid(9ADBBB09-4345-4EC1-8B74-B7338243719C)]
            interface IChatMessageStore3 : IInspectable
                requires
                    Windows.ApplicationModel.Chat.IChatMessageStore
            {
                HRESULT GetMessageBySyncIdAsync([in] HSTRING syncId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.ChatMessage*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageStoreChangedEventArgs)]
            [uuid(65C66FAC-FE8C-46D4-9119-57B8410311D5)]
            interface IChatMessageStoreChangedEventArgs : IInspectable
            {
                [propget] HRESULT Id([out] [retval] HSTRING* result);
                [propget] HRESULT Kind([out] [retval] Windows.ApplicationModel.Chat.ChatStoreChangedEventKind* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageTransport)]
            [uuid(63A9DBF8-E6B3-5C9A-5F85-D47925B9BD18)]
            interface IChatMessageTransport : IInspectable
            {
                [propget] HRESULT IsAppSetAsNotificationProvider([out] [retval] boolean* value);
                [propget] HRESULT IsActive([out] [retval] boolean* value);
                [propget] HRESULT TransportFriendlyName([out] [retval] HSTRING* value);
                [propget] HRESULT TransportId([out] [retval] HSTRING* value);
                HRESULT RequestSetAsNotificationProviderAsync([out] [retval] Windows.Foundation.IAsyncAction** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageTransport)]
            [uuid(90A75622-D84A-4C22-A94D-544444EDC8A1)]
            interface IChatMessageTransport2 : IInspectable
                requires
                    Windows.ApplicationModel.Chat.IChatMessageTransport
            {
                [propget] HRESULT Configuration([out] [retval] Windows.ApplicationModel.Chat.ChatMessageTransportConfiguration** result);
                [propget] HRESULT TransportKind([out] [retval] Windows.ApplicationModel.Chat.ChatMessageTransportKind* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageTransportConfiguration)]
            [uuid(879FF725-1A08-4ACA-A075-3355126312E6)]
            interface IChatMessageTransportConfiguration : IInspectable
            {
                [propget] HRESULT MaxAttachmentCount([out] [retval] INT32* result);
                [propget] HRESULT MaxMessageSizeInKilobytes([out] [retval] INT32* result);
                [propget] HRESULT MaxRecipientCount([out] [retval] INT32* result);
                [propget] HRESULT SupportedVideoFormat([out] [retval] Windows.Media.MediaProperties.MediaEncodingProfile** result);
                [propget] HRESULT ExtendedProperties([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, IInspectable*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatMessageValidationResult)]
            [uuid(25E93A03-28EC-5889-569B-7E486B126F18)]
            interface IChatMessageValidationResult : IInspectable
            {
                [propget] HRESULT MaxPartCount([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                [propget] HRESULT PartCount([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                [propget] HRESULT RemainingCharacterCountInPart([out] [retval] Windows.Foundation.IReference<UINT32>** value);
                [propget] HRESULT Status([out] [retval] Windows.ApplicationModel.Chat.ChatMessageValidationStatus* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatQueryOptions)]
            [uuid(2FD364A6-BF36-42F7-B7E7-923C0AABFE16)]
            interface IChatQueryOptions : IInspectable
            {
                [propget] HRESULT SearchString([out] [retval] HSTRING* result);
                [propput] HRESULT SearchString([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatRecipientDeliveryInfo)]
            [uuid(FFC7B2A2-283C-4C0A-8A0E-8C33BDBF0545)]
            interface IChatRecipientDeliveryInfo : IInspectable
            {
                [propget] HRESULT TransportAddress([out] [retval] HSTRING* result);
                [propput] HRESULT TransportAddress([in] HSTRING value);
                [propget] HRESULT DeliveryTime([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** result);
                [propput] HRESULT DeliveryTime([in] Windows.Foundation.IReference<Windows.Foundation.DateTime>* value);
                [propget] HRESULT ReadTime([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** result);
                [propput] HRESULT ReadTime([in] Windows.Foundation.IReference<Windows.Foundation.DateTime>* value);
                [propget] HRESULT TransportErrorCodeCategory([out] [retval] Windows.ApplicationModel.Chat.ChatTransportErrorCodeCategory* result);
                [propget] HRESULT TransportInterpretedErrorCode([out] [retval] Windows.ApplicationModel.Chat.ChatTransportInterpretedErrorCode* result);
                [propget] HRESULT TransportErrorCode([out] [retval] INT32* result);
                [propget] HRESULT IsErrorPermanent([out] [retval] boolean* result);
                [propget] HRESULT Status([out] [retval] Windows.ApplicationModel.Chat.ChatMessageStatus* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatSearchReader)]
            [uuid(4665FE49-9020-4752-980D-39612325F589)]
            interface IChatSearchReader : IInspectable
            {
                [overload("ReadBatchAsync")] HRESULT ReadBatchAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.IChatItem*>*>** result);
                [overload("ReadBatchAsync")] HRESULT ReadBatchWithCountAsync([in] INT32 count, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.IChatItem*>*>** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatSyncConfiguration)]
            [uuid(09F869B2-69F4-4AFF-82B6-06992FF402D2)]
            interface IChatSyncConfiguration : IInspectable
            {
                [propget] HRESULT IsSyncEnabled([out] [retval] boolean* result);
                [propput] HRESULT IsSyncEnabled([in] boolean value);
                [propget] HRESULT RestoreHistorySpan([out] [retval] Windows.ApplicationModel.Chat.ChatRestoreHistorySpan* result);
                [propput] HRESULT RestoreHistorySpan([in] Windows.ApplicationModel.Chat.ChatRestoreHistorySpan value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.ChatSyncManager)]
            [uuid(7BA52C63-2650-486F-B4B4-6BD9D3D63C84)]
            interface IChatSyncManager : IInspectable
            {
                [propget] HRESULT Configuration([out] [retval] Windows.ApplicationModel.Chat.ChatSyncConfiguration** result);
                HRESULT AssociateAccountAsync([in] Windows.Security.Credentials.WebAccount* webAccount, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT UnassociateAccountAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT IsAccountAssociated([in] Windows.Security.Credentials.WebAccount* webAccount, [out] [retval] boolean* result);
                HRESULT StartSync();
                HRESULT SetConfigurationAsync([in] Windows.ApplicationModel.Chat.ChatSyncConfiguration* configuration, [out] [retval] Windows.Foundation.IAsyncAction** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.RcsEndUserMessage)]
            [uuid(D7CDA5EB-CBD7-4F3B-8526-B506DEC35C53)]
            interface IRcsEndUserMessage : IInspectable
            {
                [propget] HRESULT TransportId([out] [retval] HSTRING* result);
                [propget] HRESULT Title([out] [retval] HSTRING* result);
                [propget] HRESULT Text([out] [retval] HSTRING* result);
                [propget] HRESULT IsPinRequired([out] [retval] boolean* result);
                [propget] HRESULT Actions([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.RcsEndUserMessageAction*>** result);
                HRESULT SendResponseAsync([in] Windows.ApplicationModel.Chat.RcsEndUserMessageAction* action, [out] [retval] Windows.Foundation.IAsyncAction** result);
                HRESULT SendResponseWithPinAsync([in] Windows.ApplicationModel.Chat.RcsEndUserMessageAction* action, [in] HSTRING pin, [out] [retval] Windows.Foundation.IAsyncAction** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.RcsEndUserMessageAction)]
            [uuid(92378737-9B42-46D3-9D5E-3C1B2DAE7CB8)]
            interface IRcsEndUserMessageAction : IInspectable
            {
                [propget] HRESULT Label([out] [retval] HSTRING* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.RcsEndUserMessageAvailableEventArgs)]
            [uuid(2D45AE01-3F89-41EA-9702-9E9ED411AA98)]
            interface IRcsEndUserMessageAvailableEventArgs : IInspectable
            {
                [propget] HRESULT IsMessageAvailable([out] [retval] boolean* result);
                [propget] HRESULT Message([out] [retval] Windows.ApplicationModel.Chat.RcsEndUserMessage** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.RcsEndUserMessageAvailableTriggerDetails)]
            [uuid(5B97742D-351F-4692-B41E-1B035DC18986)]
            interface IRcsEndUserMessageAvailableTriggerDetails : IInspectable
            {
                [propget] HRESULT Title([out] [retval] HSTRING* value);
                [propget] HRESULT Text([out] [retval] HSTRING* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.RcsEndUserMessageManager)]
            [uuid(3054AE5A-4D1F-4B59-9433-126C734E86A6)]
            interface IRcsEndUserMessageManager : IInspectable
            {
                [eventadd] HRESULT MessageAvailableChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Chat.RcsEndUserMessageManager*, Windows.ApplicationModel.Chat.RcsEndUserMessageAvailableEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT MessageAvailableChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.RcsManager)]
            [uuid(7D270AC5-0ABD-4F31-9B99-A59E71A7B731)]
            interface IRcsManagerStatics : IInspectable
            {
                HRESULT GetEndUserMessageManager([out] [retval] Windows.ApplicationModel.Chat.RcsEndUserMessageManager** result);
                HRESULT GetTransportsAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Chat.RcsTransport*>*>** value);
                HRESULT GetTransportAsync([in] HSTRING transportId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Chat.RcsTransport*>** result);
                HRESULT LeaveConversationAsync([in] Windows.ApplicationModel.Chat.ChatConversation* conversation, [out] [retval] Windows.Foundation.IAsyncAction** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.RcsManager)]
            [uuid(CD49AD18-AD8A-42AA-8EEB-A798A8808959)]
            interface IRcsManagerStatics2 : IInspectable
            {
                [eventadd] HRESULT TransportListChanged([in] Windows.Foundation.EventHandler<IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT TransportListChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.RcsServiceKindSupportedChangedEventArgs)]
            [uuid(F47EA244-E783-4866-B3A7-4E5CCF023070)]
            interface IRcsServiceKindSupportedChangedEventArgs : IInspectable
            {
                [propget] HRESULT ServiceKind([out] [retval] Windows.ApplicationModel.Chat.RcsServiceKind* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.RcsTransport)]
            [uuid(FEA34759-F37C-4319-8546-EC84D21D30FF)]
            interface IRcsTransport : IInspectable
            {
                [propget] HRESULT ExtendedProperties([out] [retval] Windows.Foundation.Collections.IMapView<HSTRING, IInspectable*>** value);
                [propget] HRESULT IsActive([out] [retval] boolean* value);
                [propget] HRESULT TransportFriendlyName([out] [retval] HSTRING* value);
                [propget] HRESULT TransportId([out] [retval] HSTRING* value);
                [propget] HRESULT Configuration([out] [retval] Windows.ApplicationModel.Chat.RcsTransportConfiguration** result);
                HRESULT IsStoreAndForwardEnabled([in] Windows.ApplicationModel.Chat.RcsServiceKind serviceKind, [out] [retval] boolean* result);
                HRESULT IsServiceKindSupported([in] Windows.ApplicationModel.Chat.RcsServiceKind serviceKind, [out] [retval] boolean* result);
                [eventadd] HRESULT ServiceKindSupportedChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Chat.RcsTransport*, Windows.ApplicationModel.Chat.RcsServiceKindSupportedChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT ServiceKindSupportedChanged([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.RcsTransportConfiguration)]
            [uuid(1FCCB102-2472-4BB9-9988-C1211C83E8A9)]
            interface IRcsTransportConfiguration : IInspectable
            {
                [propget] HRESULT MaxAttachmentCount([out] [retval] INT32* result);
                [propget] HRESULT MaxMessageSizeInKilobytes([out] [retval] INT32* result);
                [propget] HRESULT MaxGroupMessageSizeInKilobytes([out] [retval] INT32* result);
                [propget] HRESULT MaxRecipientCount([out] [retval] INT32* result);
                [propget] HRESULT MaxFileSizeInKilobytes([out] [retval] INT32* result);
                [propget] HRESULT WarningFileSizeInKilobytes([out] [retval] INT32* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.ApplicationModel.Chat.RemoteParticipantComposingChangedEventArgs)]
            [uuid(1EC045A7-CFC9-45C9-9876-449F2BC180F5)]
            interface IRemoteParticipantComposingChangedEventArgs : IInspectable
            {
                [propget] HRESULT TransportId([out] [retval] HSTRING* result);
                [propget] HRESULT ParticipantAddress([out] [retval] HSTRING* result);
                [propget] HRESULT IsComposing([out] [retval] boolean* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatCapabilities
            {
                [default] interface Windows.ApplicationModel.Chat.IChatCapabilities;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Chat.IChatCapabilitiesManagerStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.ApplicationModel.Chat.IChatCapabilitiesManagerStatics2, Windows.Foundation.UniversalApiContract, 7.0)]
            [threading(both)]
            runtimeclass ChatCapabilitiesManager
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatConversation
            {
                [default] interface Windows.ApplicationModel.Chat.IChatConversation;
                [contract(Windows.Foundation.UniversalApiContract, 2.0)] interface Windows.ApplicationModel.Chat.IChatConversation2;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.ApplicationModel.Chat.IChatItem;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatConversationReader
            {
                [default] interface Windows.ApplicationModel.Chat.IChatConversationReader;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatConversationThreadingInfo
            {
                [default] interface Windows.ApplicationModel.Chat.IChatConversationThreadingInfo;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatMessage
            {
                [default] interface Windows.ApplicationModel.Chat.IChatMessage;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Chat.IChatMessage2;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Chat.IChatMessage3;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.ApplicationModel.Chat.IChatMessage4;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.ApplicationModel.Chat.IChatItem;
            }

            [activatable(Windows.ApplicationModel.Chat.IChatMessageAttachmentFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatMessageAttachment
            {
                [default] interface Windows.ApplicationModel.Chat.IChatMessageAttachment;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Chat.IChatMessageAttachment2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Chat.IChatMessageBlockingStatic, Windows.Foundation.UniversalApiContract, 1.0)]
            [threading(both)]
            runtimeclass ChatMessageBlocking
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatMessageChange
            {
                [default] interface Windows.ApplicationModel.Chat.IChatMessageChange;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatMessageChangeReader
            {
                [default] interface Windows.ApplicationModel.Chat.IChatMessageChangeReader;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatMessageChangeTracker
            {
                [default] interface Windows.ApplicationModel.Chat.IChatMessageChangeTracker;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatMessageChangedDeferral
            {
                [default] interface Windows.ApplicationModel.Chat.IChatMessageChangedDeferral;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatMessageChangedEventArgs
            {
                [default] interface Windows.ApplicationModel.Chat.IChatMessageChangedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Chat.IChatMessageManager2Statics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.ApplicationModel.Chat.IChatMessageManagerStatic, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.ApplicationModel.Chat.IChatMessageManagerStatics3, Windows.Foundation.UniversalApiContract, 3.0)]
            [threading(both)]
            runtimeclass ChatMessageManager
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatMessageNotificationTriggerDetails
            {
                [default] interface Windows.ApplicationModel.Chat.IChatMessageNotificationTriggerDetails;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Chat.IChatMessageNotificationTriggerDetails2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatMessageReader
            {
                [default] interface Windows.ApplicationModel.Chat.IChatMessageReader;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Chat.IChatMessageReader2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatMessageStore
            {
                [default] interface Windows.ApplicationModel.Chat.IChatMessageStore;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Chat.IChatMessageStore2;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.ApplicationModel.Chat.IChatMessageStore3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatMessageStoreChangedEventArgs
            {
                [default] interface Windows.ApplicationModel.Chat.IChatMessageStoreChangedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatMessageTransport
            {
                [default] interface Windows.ApplicationModel.Chat.IChatMessageTransport;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.Chat.IChatMessageTransport2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatMessageTransportConfiguration
            {
                [default] interface Windows.ApplicationModel.Chat.IChatMessageTransportConfiguration;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatMessageValidationResult
            {
                [default] interface Windows.ApplicationModel.Chat.IChatMessageValidationResult;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatQueryOptions
            {
                [default] interface Windows.ApplicationModel.Chat.IChatQueryOptions;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatRecipientDeliveryInfo
            {
                [default] interface Windows.ApplicationModel.Chat.IChatRecipientDeliveryInfo;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatSearchReader
            {
                [default] interface Windows.ApplicationModel.Chat.IChatSearchReader;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatSyncConfiguration
            {
                [default] interface Windows.ApplicationModel.Chat.IChatSyncConfiguration;
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass ChatSyncManager
            {
                [default] interface Windows.ApplicationModel.Chat.IChatSyncManager;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RcsEndUserMessage
            {
                [default] interface Windows.ApplicationModel.Chat.IRcsEndUserMessage;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RcsEndUserMessageAction
            {
                [default] interface Windows.ApplicationModel.Chat.IRcsEndUserMessageAction;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RcsEndUserMessageAvailableEventArgs
            {
                [default] interface Windows.ApplicationModel.Chat.IRcsEndUserMessageAvailableEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RcsEndUserMessageAvailableTriggerDetails
            {
                [default] interface Windows.ApplicationModel.Chat.IRcsEndUserMessageAvailableTriggerDetails;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RcsEndUserMessageManager
            {
                [default] interface Windows.ApplicationModel.Chat.IRcsEndUserMessageManager;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Chat.IRcsManagerStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [static(Windows.ApplicationModel.Chat.IRcsManagerStatics2, Windows.Foundation.UniversalApiContract, 7.0)]
            [threading(both)]
            runtimeclass RcsManager
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RcsServiceKindSupportedChangedEventArgs
            {
                [default] interface Windows.ApplicationModel.Chat.IRcsServiceKindSupportedChangedEventArgs;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RcsTransport
            {
                [default] interface Windows.ApplicationModel.Chat.IRcsTransport;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RcsTransportConfiguration
            {
                [default] interface Windows.ApplicationModel.Chat.IRcsTransportConfiguration;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass RemoteParticipantComposingChangedEventArgs
            {
                [default] interface Windows.ApplicationModel.Chat.IRemoteParticipantComposingChangedEventArgs;
            }
        }
    }
}
