# WARNING: Please don't edit this file. It was generated by Python/WinRT v1.0.0-beta.7

import enum
import datetime
import sys
import types
import typing

import winsdk._winrt as _winrt
import winsdk.windows.applicationmodel.wallet
import winsdk.windows.foundation
import winsdk.windows.foundation.collections
import winsdk.windows.storage.streams

class WalletItemAppAssociation(enum.IntEnum):
    NONE = 0
    APP_INSTALLED = 1
    APP_NOT_INSTALLED = 2

Self = typing.TypeVar('Self')

class WalletItemSystemStore(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> WalletItemSystemStore: ...
    def delete_async(self, item: typing.Optional[winsdk.windows.applicationmodel.wallet.WalletItem]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def get_app_status_for_item(self, item: typing.Optional[winsdk.windows.applicationmodel.wallet.WalletItem]) -> WalletItemAppAssociation: ...
    def get_items_async(self) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.foundation.collections.IVectorView[winsdk.windows.applicationmodel.wallet.WalletItem]]: ...
    def import_item_async(self, stream: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStreamReference]) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.applicationmodel.wallet.WalletItem]: ...
    def launch_app_for_item_async(self, item: typing.Optional[winsdk.windows.applicationmodel.wallet.WalletItem]) -> winsdk.windows.foundation.IAsyncOperation[_winrt.Boolean]: ...
    def add_items_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[WalletItemSystemStore, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_items_changed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class WalletManagerSystem(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> WalletManagerSystem: ...
    @staticmethod
    def request_store_async() -> winsdk.windows.foundation.IAsyncOperation[WalletItemSystemStore]: ...

