//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0014
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "Windows.Foundation.idl";
import "Windows.Devices.Geolocation.idl";
import "Windows.Storage.Streams.idl";
import "Windows.UI.idl";
// Additional imports to ensure that all required headers are included
cpp_quote("#if defined(__cplusplus)")
cpp_quote("}")
cpp_quote("#endif // defined(__cplusplus)")
cpp_quote("#include <Windows.Foundation.h>")
cpp_quote("#if !defined(__windows2Edevices2Egeolocation_h__)")
cpp_quote("#include <Windows.Devices.Geolocation.h>")
cpp_quote("#endif // !defined(__windows2Edevices2Egeolocation_h__)")
cpp_quote("#if !defined(__windows2Estorage2Estreams_h__)")
cpp_quote("#include <Windows.Storage.Streams.h>")
cpp_quote("#endif // !defined(__windows2Estorage2Estreams_h__)")
cpp_quote("#if !defined(__windows2Eui_h__)")
cpp_quote("#include <Windows.UI.h>")
cpp_quote("#endif // !defined(__windows2Eui_h__)")
cpp_quote("#if defined(__cplusplus)")
cpp_quote("extern \"C\" {")
cpp_quote("#endif // defined(__cplusplus)")

// Forward Declare
namespace Windows
{
    namespace Devices
    {
        namespace Geolocation
        {
            typedef struct BasicGeoposition BasicGeoposition;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        interface IAsyncAction;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IRandomAccessStreamReference;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        typedef struct Color Color;
    }
}
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Wallet
        {
            typedef enum WalletActionKind WalletActionKind;

            typedef enum WalletBarcodeSymbology WalletBarcodeSymbology;

            typedef enum WalletDetailViewPosition WalletDetailViewPosition;

            typedef enum WalletSummaryViewPosition WalletSummaryViewPosition;

            typedef enum WalletItemKind WalletItemKind;

            interface IWalletBarcode;

            interface IWalletItemCustomProperty;

            interface IWalletVerb;

            interface IWalletItem;

            interface IWalletTransaction;

            interface IWalletRelevantLocation;

            interface IWalletItemStore;

            interface IWalletItemStore2;

            interface IWalletManagerStatics;

            interface IWalletItemCustomPropertyFactory;

            interface IWalletVerbFactory;

            interface IWalletItemFactory;

            interface IWalletBarcodeFactory;

            runtimeclass WalletBarcode;

            runtimeclass WalletTransaction;

            runtimeclass WalletRelevantLocation;

            runtimeclass WalletItemCustomProperty;

            runtimeclass WalletVerb;

            runtimeclass WalletItem;

            runtimeclass WalletItemStore;

            runtimeclass WalletManager;
        }
    }
}

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

                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.ApplicationModel.Wallet.WalletItemCustomProperty*>*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.ApplicationModel.Wallet.WalletRelevantLocation*>*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.ApplicationModel.Wallet.WalletTransaction*>*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.ApplicationModel.Wallet.WalletVerb*>*>;

                interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Wallet.WalletItem*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.ApplicationModel.Wallet.WalletItemCustomProperty*>*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.ApplicationModel.Wallet.WalletRelevantLocation*>*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.ApplicationModel.Wallet.WalletTransaction*>*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.ApplicationModel.Wallet.WalletVerb*>*>;

                interface Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.ApplicationModel.Wallet.WalletItemCustomProperty*>;

                interface Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.ApplicationModel.Wallet.WalletRelevantLocation*>;

                interface Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.ApplicationModel.Wallet.WalletTransaction*>;

                interface Windows.Foundation.Collections.IKeyValuePair<HSTRING, Windows.ApplicationModel.Wallet.WalletVerb*>;

                interface Windows.Foundation.Collections.IMapView<HSTRING, Windows.ApplicationModel.Wallet.WalletItemCustomProperty*>;

                interface Windows.Foundation.Collections.IMapView<HSTRING, Windows.ApplicationModel.Wallet.WalletRelevantLocation*>;

                interface Windows.Foundation.Collections.IMapView<HSTRING, Windows.ApplicationModel.Wallet.WalletTransaction*>;

                interface Windows.Foundation.Collections.IMapView<HSTRING, Windows.ApplicationModel.Wallet.WalletVerb*>;

                interface Windows.Foundation.Collections.IMap<HSTRING, Windows.ApplicationModel.Wallet.WalletItemCustomProperty*>;

                interface Windows.Foundation.Collections.IMap<HSTRING, Windows.ApplicationModel.Wallet.WalletRelevantLocation*>;

                interface Windows.Foundation.Collections.IMap<HSTRING, Windows.ApplicationModel.Wallet.WalletTransaction*>;

                interface Windows.Foundation.Collections.IMap<HSTRING, Windows.ApplicationModel.Wallet.WalletVerb*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Wallet.WalletItem*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Wallet.WalletItem*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Wallet.WalletItemStore*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Wallet.WalletItem*>*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Wallet.WalletItemStore*, IInspectable*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Wallet
        {
            [version(0x06030000)]
            enum WalletActionKind
            {
                OpenItem         = 0,
                Transaction      = 1,
                MoreTransactions = 2,
                Message          = 3,
                Verb             = 4
            };

            [version(0x06030000)]
            enum WalletBarcodeSymbology
            {
                Invalid = 0,
                Upca    = 1,
                Upce    = 2,
                Ean13   = 3,
                Ean8    = 4,
                Itf     = 5,
                Code39  = 6,
                Code128 = 7,
                Qr      = 8,
                Pdf417  = 9,
                Aztec   = 10,
                Custom  = 100000
            };

            [version(0x06030000)]
            enum WalletDetailViewPosition
            {
                Hidden          = 0,
                HeaderField1    = 1,
                HeaderField2    = 2,
                PrimaryField1   = 3,
                PrimaryField2   = 4,
                SecondaryField1 = 5,
                SecondaryField2 = 6,
                SecondaryField3 = 7,
                SecondaryField4 = 8,
                SecondaryField5 = 9,
                CenterField1    = 10,
                FooterField1    = 11,
                FooterField2    = 12,
                FooterField3    = 13,
                FooterField4    = 14
            };

            [version(0x06030000)]
            enum WalletSummaryViewPosition
            {
                Hidden = 0,
                Field1 = 1,
                Field2 = 2
            };

            [version(0x06030000)]
            enum WalletItemKind
            {
                Invalid           = 0,
                Deal              = 1,
                General           = 2,
                PaymentInstrument = 3,
                Ticket            = 4,
                BoardingPass      = 5,
                MembershipCard    = 6
            };

            [exclusiveto(Windows.ApplicationModel.Wallet.WalletBarcode)]
            [uuid(4F857B29-DE80-4EA4-A1CD-81CD084DAC27)]
            [version(0x06030000)]
            interface IWalletBarcode : IInspectable
            {
                [propget] HRESULT Symbology([out] [retval] Windows.ApplicationModel.Wallet.WalletBarcodeSymbology* value);
                [propget] HRESULT Value([out] [retval] HSTRING* value);
                HRESULT GetImageAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IRandomAccessStreamReference*>** operation);
            }

            [exclusiveto(Windows.ApplicationModel.Wallet.WalletItemCustomProperty)]
            [uuid(B94B40F3-FA00-40FD-98DC-9DE46697F1E7)]
            [version(0x06030000)]
            interface IWalletItemCustomProperty : IInspectable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propput] HRESULT Name([in] HSTRING value);
                [propget] HRESULT Value([out] [retval] HSTRING* value);
                [propput] HRESULT Value([in] HSTRING value);
                [propget] HRESULT AutoDetectLinks([out] [retval] boolean* value);
                [propput] HRESULT AutoDetectLinks([in] boolean value);
                [propget] HRESULT DetailViewPosition([out] [retval] Windows.ApplicationModel.Wallet.WalletDetailViewPosition* value);
                [propput] HRESULT DetailViewPosition([in] Windows.ApplicationModel.Wallet.WalletDetailViewPosition value);
                [propget] HRESULT SummaryViewPosition([out] [retval] Windows.ApplicationModel.Wallet.WalletSummaryViewPosition* value);
                [propput] HRESULT SummaryViewPosition([in] Windows.ApplicationModel.Wallet.WalletSummaryViewPosition value);
            }

            [exclusiveto(Windows.ApplicationModel.Wallet.WalletVerb)]
            [uuid(17B826D6-E3C1-4C74-8A94-217AADBC4884)]
            [version(0x06030000)]
            interface IWalletVerb : IInspectable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propput] HRESULT Name([in] HSTRING value);
            }

            [exclusiveto(Windows.ApplicationModel.Wallet.WalletItem)]
            [uuid(20B54BE8-118D-4EC4-996C-B963E7BD3E74)]
            [version(0x06030000)]
            interface IWalletItem : IInspectable
            {
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propput] HRESULT DisplayName([in] HSTRING value);
                [propget] HRESULT Id([out] [retval] HSTRING* value);
                [propget] HRESULT IsAcknowledged([out] [retval] boolean* value);
                [propput] HRESULT IsAcknowledged([in] boolean value);
                [propget] HRESULT IssuerDisplayName([out] [retval] HSTRING* value);
                [propput] HRESULT IssuerDisplayName([in] HSTRING value);
                [propget] HRESULT LastUpdated([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** value);
                [propput] HRESULT LastUpdated([in] Windows.Foundation.IReference<Windows.Foundation.DateTime>* value);
                [propget] HRESULT Kind([out] [retval] Windows.ApplicationModel.Wallet.WalletItemKind* value);
                [propget] HRESULT Barcode([out] [retval] Windows.ApplicationModel.Wallet.WalletBarcode** value);
                [propput] HRESULT Barcode([in] Windows.ApplicationModel.Wallet.WalletBarcode* value);
                [propget] HRESULT ExpirationDate([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** value);
                [propput] HRESULT ExpirationDate([in] Windows.Foundation.IReference<Windows.Foundation.DateTime>* value);
                [propget] HRESULT Logo159x159([out] [retval] Windows.Storage.Streams.IRandomAccessStreamReference** value);
                [propput] HRESULT Logo159x159([in] Windows.Storage.Streams.IRandomAccessStreamReference* value);
                [propget] HRESULT Logo336x336([out] [retval] Windows.Storage.Streams.IRandomAccessStreamReference** value);
                [propput] HRESULT Logo336x336([in] Windows.Storage.Streams.IRandomAccessStreamReference* value);
                [propget] HRESULT Logo99x99([out] [retval] Windows.Storage.Streams.IRandomAccessStreamReference** value);
                [propput] HRESULT Logo99x99([in] Windows.Storage.Streams.IRandomAccessStreamReference* value);
                [propget] HRESULT DisplayMessage([out] [retval] HSTRING* value);
                [propput] HRESULT DisplayMessage([in] HSTRING value);
                [propget] HRESULT IsDisplayMessageLaunchable([out] [retval] boolean* value);
                [propput] HRESULT IsDisplayMessageLaunchable([in] boolean value);
                [propget] HRESULT LogoText([out] [retval] HSTRING* value);
                [propput] HRESULT LogoText([in] HSTRING value);
                [propget] HRESULT HeaderColor([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT HeaderColor([in] Windows.UI.Color value);
                [propget] HRESULT BodyColor([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT BodyColor([in] Windows.UI.Color value);
                [propget] HRESULT HeaderFontColor([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT HeaderFontColor([in] Windows.UI.Color value);
                [propget] HRESULT BodyFontColor([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT BodyFontColor([in] Windows.UI.Color value);
                [propget] HRESULT HeaderBackgroundImage([out] [retval] Windows.Storage.Streams.IRandomAccessStreamReference** value);
                [propput] HRESULT HeaderBackgroundImage([in] Windows.Storage.Streams.IRandomAccessStreamReference* value);
                [propget] HRESULT BodyBackgroundImage([out] [retval] Windows.Storage.Streams.IRandomAccessStreamReference** value);
                [propput] HRESULT BodyBackgroundImage([in] Windows.Storage.Streams.IRandomAccessStreamReference* value);
                [propget] HRESULT LogoImage([out] [retval] Windows.Storage.Streams.IRandomAccessStreamReference** value);
                [propput] HRESULT LogoImage([in] Windows.Storage.Streams.IRandomAccessStreamReference* value);
                [propget] HRESULT PromotionalImage([out] [retval] Windows.Storage.Streams.IRandomAccessStreamReference** value);
                [propput] HRESULT PromotionalImage([in] Windows.Storage.Streams.IRandomAccessStreamReference* value);
                [propget] HRESULT RelevantDate([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** value);
                [propput] HRESULT RelevantDate([in] Windows.Foundation.IReference<Windows.Foundation.DateTime>* value);
                [propget] HRESULT RelevantDateDisplayMessage([out] [retval] HSTRING* value);
                [propput] HRESULT RelevantDateDisplayMessage([in] HSTRING value);
                [propget] HRESULT TransactionHistory([out] [retval] Windows.Foundation.Collections.IMap<HSTRING, Windows.ApplicationModel.Wallet.WalletTransaction*>** value);
                [propget] HRESULT RelevantLocations([out] [retval] Windows.Foundation.Collections.IMap<HSTRING, Windows.ApplicationModel.Wallet.WalletRelevantLocation*>** value);
                [propget] HRESULT IsMoreTransactionHistoryLaunchable([out] [retval] boolean* value);
                [propput] HRESULT IsMoreTransactionHistoryLaunchable([in] boolean value);
                [propget] HRESULT DisplayProperties([out] [retval] Windows.Foundation.Collections.IMap<HSTRING, Windows.ApplicationModel.Wallet.WalletItemCustomProperty*>** value);
                [propget] HRESULT Verbs([out] [retval] Windows.Foundation.Collections.IMap<HSTRING, Windows.ApplicationModel.Wallet.WalletVerb*>** value);
            }

            [exclusiveto(Windows.ApplicationModel.Wallet.WalletTransaction)]
            [uuid(40E1E940-2606-4519-81CB-BFF1C60D1F79)]
            [version(0x06030000)]
            interface IWalletTransaction : IInspectable
            {
                [propget] HRESULT Description([out] [retval] HSTRING* value);
                [propput] HRESULT Description([in] HSTRING value);
                [propget] HRESULT DisplayAmount([out] [retval] HSTRING* value);
                [propput] HRESULT DisplayAmount([in] HSTRING value);
                [propget] HRESULT IgnoreTimeOfDay([out] [retval] boolean* value);
                [propput] HRESULT IgnoreTimeOfDay([in] boolean value);
                [propget] HRESULT DisplayLocation([out] [retval] HSTRING* value);
                [propput] HRESULT DisplayLocation([in] HSTRING value);
                [propget] HRESULT TransactionDate([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** value);
                [propput] HRESULT TransactionDate([in] Windows.Foundation.IReference<Windows.Foundation.DateTime>* value);
                [propget] HRESULT IsLaunchable([out] [retval] boolean* value);
                [propput] HRESULT IsLaunchable([in] boolean value);
            }

            [exclusiveto(Windows.ApplicationModel.Wallet.WalletRelevantLocation)]
            [uuid(9FD8782A-E3F9-4DE1-BAB3-BB192E46B3F3)]
            [version(0x06030000)]
            interface IWalletRelevantLocation : IInspectable
            {
                [propget] HRESULT Position([out] [retval] Windows.Devices.Geolocation.BasicGeoposition* value);
                [propput] HRESULT Position([in] Windows.Devices.Geolocation.BasicGeoposition value);
                [propget] HRESULT DisplayMessage([out] [retval] HSTRING* value);
                [propput] HRESULT DisplayMessage([in] HSTRING value);
            }

            [exclusiveto(Windows.ApplicationModel.Wallet.WalletItemStore)]
            [uuid(7160484B-6D49-48F8-91A9-40A1D0F13EF4)]
            [version(0x06030000)]
            interface IWalletItemStore : IInspectable
            {
                HRESULT AddAsync([in] HSTRING id, [in] Windows.ApplicationModel.Wallet.WalletItem* item, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                HRESULT ClearAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
                HRESULT GetWalletItemAsync([in] HSTRING id, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Wallet.WalletItem*>** operation);
                [overload("GetItemsAsync")] HRESULT GetItemsAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Wallet.WalletItem*>*>** operation);
                [overload("GetItemsAsync")] HRESULT GetItemsWithKindAsync([in] Windows.ApplicationModel.Wallet.WalletItemKind kind, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Wallet.WalletItem*>*>** operation);
                HRESULT ImportItemAsync([in] Windows.Storage.Streams.IRandomAccessStreamReference* stream, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Wallet.WalletItem*>** operation);
                HRESULT DeleteAsync([in] HSTRING id, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                [overload("ShowAsync")] HRESULT ShowAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
                [overload("ShowAsync")] HRESULT ShowItemAsync([in] HSTRING id, [out] [retval] Windows.Foundation.IAsyncAction** operation);
                HRESULT UpdateAsync([in] Windows.ApplicationModel.Wallet.WalletItem* item, [out] [retval] Windows.Foundation.IAsyncAction** operation);
            }

            [exclusiveto(Windows.ApplicationModel.Wallet.WalletItemStore)]
            [uuid(65E682F0-7009-4A15-BD54-4FFF379BFFE2)]
            [version(0x0A000000)]
            interface IWalletItemStore2 : IInspectable
            {
                [eventadd] HRESULT ItemsChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Wallet.WalletItemStore*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT ItemsChanged([in] EventRegistrationToken cookie);
            }

            [exclusiveto(Windows.ApplicationModel.Wallet.WalletManager)]
            [uuid(5111D6B8-C9A4-4C64-B4DD-E1E548001C0D)]
            [version(0x06030000)]
            interface IWalletManagerStatics : IInspectable
            {
                HRESULT RequestStoreAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Wallet.WalletItemStore*>** operation);
            }

            [exclusiveto(Windows.ApplicationModel.Wallet.WalletItemCustomProperty)]
            [uuid(D0046A44-61A1-41AA-B259-A5610AB5D575)]
            [version(0x06030000)]
            interface IWalletItemCustomPropertyFactory : IInspectable
            {
                HRESULT CreateWalletItemCustomProperty([in] HSTRING name, [in] HSTRING value, [out] [retval] Windows.ApplicationModel.Wallet.WalletItemCustomProperty** walletItemCustomProperty);
            }

            [exclusiveto(Windows.ApplicationModel.Wallet.WalletVerb)]
            [uuid(76012771-BE58-4D5E-83ED-58B1669C7AD9)]
            [version(0x06030000)]
            interface IWalletVerbFactory : IInspectable
            {
                HRESULT CreateWalletVerb([in] HSTRING name, [out] [retval] Windows.ApplicationModel.Wallet.WalletVerb** WalletVerb);
            }

            [exclusiveto(Windows.ApplicationModel.Wallet.WalletItem)]
            [uuid(53E27470-4F0B-4A3E-99E5-0BBB1EAB38D4)]
            [version(0x06030000)]
            interface IWalletItemFactory : IInspectable
            {
                HRESULT CreateWalletItem([in] Windows.ApplicationModel.Wallet.WalletItemKind kind, [in] HSTRING displayName, [out] [retval] Windows.ApplicationModel.Wallet.WalletItem** walletItem);
            }

            [exclusiveto(Windows.ApplicationModel.Wallet.WalletBarcode)]
            [uuid(30117161-ED9C-469E-BBFD-306C95EA7108)]
            [version(0x06030000)]
            interface IWalletBarcodeFactory : IInspectable
            {
                HRESULT CreateWalletBarcode([in] Windows.ApplicationModel.Wallet.WalletBarcodeSymbology symbology, [in] HSTRING value, [out] [retval] Windows.ApplicationModel.Wallet.WalletBarcode** barcode);
                HRESULT CreateCustomWalletBarcode([in] Windows.Storage.Streams.IRandomAccessStreamReference* streamToBarcodeImage, [out] [retval] Windows.ApplicationModel.Wallet.WalletBarcode** barcode);
            }

            [activatable(Windows.ApplicationModel.Wallet.IWalletBarcodeFactory, 0x06030000)]
            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass WalletBarcode
            {
                [default] interface Windows.ApplicationModel.Wallet.IWalletBarcode;
            }

            [activatable(0x06030000)]
            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass WalletTransaction
            {
                [default] interface Windows.ApplicationModel.Wallet.IWalletTransaction;
            }

            [activatable(0x06030000)]
            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass WalletRelevantLocation
            {
                [default] interface Windows.ApplicationModel.Wallet.IWalletRelevantLocation;
            }

            [activatable(Windows.ApplicationModel.Wallet.IWalletItemCustomPropertyFactory, 0x06030000)]
            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass WalletItemCustomProperty
            {
                [default] interface Windows.ApplicationModel.Wallet.IWalletItemCustomProperty;
            }

            [activatable(Windows.ApplicationModel.Wallet.IWalletVerbFactory, 0x06030000)]
            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass WalletVerb
            {
                [default] interface Windows.ApplicationModel.Wallet.IWalletVerb;
            }

            [activatable(Windows.ApplicationModel.Wallet.IWalletItemFactory, 0x06030000)]
            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass WalletItem
            {
                [default] interface Windows.ApplicationModel.Wallet.IWalletItem;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass WalletItemStore
            {
                [default] interface Windows.ApplicationModel.Wallet.IWalletItemStore;
                [version(0x0A000000)] interface Windows.ApplicationModel.Wallet.IWalletItemStore2;
            }

            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Wallet.IWalletManagerStatics, 0x06030000)]
            [version(0x06030000)]
            runtimeclass WalletManager
            {
            }
        }
    }
}
