# WARNING: Please don't edit this file. It was generated by Python/WinRT v2.3.0

import datetime
import sys
import types
import typing
import uuid as _uuid
from builtins import property as _property

import winrt._winrt
import winrt.system
import winrt.windows.foundation as windows_foundation
import winrt.windows.foundation.collections as windows_foundation_collections
import winrt.windows.ui.notifications as windows_ui_notifications

from winrt.windows.ui.notifications.management import UserNotificationListenerAccessStatus

Self = typing.TypeVar('Self')

@typing.final
class UserNotificationListener_Static(type):
    @_property
    def current(cls) -> typing.Optional[UserNotificationListener]: ...

@typing.final
class UserNotificationListener(winrt.system.Object, metaclass=UserNotificationListener_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> UserNotificationListener: ...
    def clear_notifications(self) -> None: ...
    def get_access_status(self) -> UserNotificationListenerAccessStatus: ...
    def get_notification(self, notification_id: winrt.system.UInt32, /) -> typing.Optional[windows_ui_notifications.UserNotification]: ...
    def get_notifications_async(self, kinds: windows_ui_notifications.NotificationKinds, /) -> windows_foundation.IAsyncOperation[windows_foundation_collections.IVectorView[windows_ui_notifications.UserNotification]]: ...
    def remove_notification(self, notification_id: winrt.system.UInt32, /) -> None: ...
    def request_access_async(self) -> windows_foundation.IAsyncOperation[UserNotificationListenerAccessStatus]: ...
    def add_notification_changed(self, handler: windows_foundation.TypedEventHandler[UserNotificationListener, windows_ui_notifications.UserNotificationChangedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    def remove_notification_changed(self, token: windows_foundation.EventRegistrationToken, /) -> None: ...

