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

import enum
import sys
import types
import typing
import uuid

import winsdk._winrt as _winrt

try:
    import winsdk.windows.foundation
except Exception:
    pass

try:
    import winsdk.windows.foundation.collections
except Exception:
    pass

try:
    import winsdk.windows.ui.notifications
except Exception:
    pass

class UserNotificationListenerAccessStatus(enum.IntEnum):
    UNSPECIFIED = 0
    ALLOWED = 1
    DENIED = 2

class UserNotificationListener(_winrt.Object):
    current: UserNotificationListener
    @staticmethod
    def _from(obj: _winrt.Object) -> UserNotificationListener: ...
    @typing.overload
    def clear_notifications(self) -> None: ...
    @typing.overload
    def get_access_status(self) -> UserNotificationListenerAccessStatus: ...
    @typing.overload
    def get_notification(self, notification_id: _winrt.UInt32) -> winsdk.windows.ui.notifications.UserNotification: ...
    @typing.overload
    def get_notifications_async(self, kinds: winsdk.windows.ui.notifications.NotificationKinds) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.foundation.collections.IVectorView[winsdk.windows.ui.notifications.UserNotification]]: ...
    @typing.overload
    def remove_notification(self, notification_id: _winrt.UInt32) -> None: ...
    @typing.overload
    def request_access_async(self) -> winsdk.windows.foundation.IAsyncOperation[UserNotificationListenerAccessStatus]: ...
    @typing.overload
    def add_notification_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[UserNotificationListener, winsdk.windows.ui.notifications.UserNotificationChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_notification_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

