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

import enum
import datetime
import sys
import types
import typing

import toasts_winrt.system
import toasts_winrt.windows.applicationmodel
import toasts_winrt.windows.data.xml.dom
import toasts_winrt.windows.foundation
import toasts_winrt.windows.foundation.collections
import toasts_winrt.windows.system

class AdaptiveNotificationContentKind(enum.IntEnum):
    TEXT = 0

class BadgeTemplateType(enum.IntEnum):
    BADGE_GLYPH = 0
    BADGE_NUMBER = 1

class NotificationKinds(enum.IntFlag):
    UNKNOWN = 0
    TOAST = 0x1

class NotificationMirroring(enum.IntEnum):
    ALLOWED = 0
    DISABLED = 1

class NotificationSetting(enum.IntEnum):
    ENABLED = 0
    DISABLED_FOR_APPLICATION = 1
    DISABLED_FOR_USER = 2
    DISABLED_BY_GROUP_POLICY = 3
    DISABLED_BY_MANIFEST = 4

class NotificationUpdateResult(enum.IntEnum):
    SUCCEEDED = 0
    FAILED = 1
    NOTIFICATION_NOT_FOUND = 2

class PeriodicUpdateRecurrence(enum.IntEnum):
    HALF_HOUR = 0
    HOUR = 1
    SIX_HOURS = 2
    TWELVE_HOURS = 3
    DAILY = 4

class TileFlyoutTemplateType(enum.IntEnum):
    TILE_FLYOUT_TEMPLATE01 = 0

class TileTemplateType(enum.IntEnum):
    TILE_SQUARE_IMAGE = 0
    TILE_SQUARE_BLOCK = 1
    TILE_SQUARE_TEXT01 = 2
    TILE_SQUARE_TEXT02 = 3
    TILE_SQUARE_TEXT03 = 4
    TILE_SQUARE_TEXT04 = 5
    TILE_SQUARE_PEEK_IMAGE_AND_TEXT01 = 6
    TILE_SQUARE_PEEK_IMAGE_AND_TEXT02 = 7
    TILE_SQUARE_PEEK_IMAGE_AND_TEXT03 = 8
    TILE_SQUARE_PEEK_IMAGE_AND_TEXT04 = 9
    TILE_WIDE_IMAGE = 10
    TILE_WIDE_IMAGE_COLLECTION = 11
    TILE_WIDE_IMAGE_AND_TEXT01 = 12
    TILE_WIDE_IMAGE_AND_TEXT02 = 13
    TILE_WIDE_BLOCK_AND_TEXT01 = 14
    TILE_WIDE_BLOCK_AND_TEXT02 = 15
    TILE_WIDE_PEEK_IMAGE_COLLECTION01 = 16
    TILE_WIDE_PEEK_IMAGE_COLLECTION02 = 17
    TILE_WIDE_PEEK_IMAGE_COLLECTION03 = 18
    TILE_WIDE_PEEK_IMAGE_COLLECTION04 = 19
    TILE_WIDE_PEEK_IMAGE_COLLECTION05 = 20
    TILE_WIDE_PEEK_IMAGE_COLLECTION06 = 21
    TILE_WIDE_PEEK_IMAGE_AND_TEXT01 = 22
    TILE_WIDE_PEEK_IMAGE_AND_TEXT02 = 23
    TILE_WIDE_PEEK_IMAGE01 = 24
    TILE_WIDE_PEEK_IMAGE02 = 25
    TILE_WIDE_PEEK_IMAGE03 = 26
    TILE_WIDE_PEEK_IMAGE04 = 27
    TILE_WIDE_PEEK_IMAGE05 = 28
    TILE_WIDE_PEEK_IMAGE06 = 29
    TILE_WIDE_SMALL_IMAGE_AND_TEXT01 = 30
    TILE_WIDE_SMALL_IMAGE_AND_TEXT02 = 31
    TILE_WIDE_SMALL_IMAGE_AND_TEXT03 = 32
    TILE_WIDE_SMALL_IMAGE_AND_TEXT04 = 33
    TILE_WIDE_SMALL_IMAGE_AND_TEXT05 = 34
    TILE_WIDE_TEXT01 = 35
    TILE_WIDE_TEXT02 = 36
    TILE_WIDE_TEXT03 = 37
    TILE_WIDE_TEXT04 = 38
    TILE_WIDE_TEXT05 = 39
    TILE_WIDE_TEXT06 = 40
    TILE_WIDE_TEXT07 = 41
    TILE_WIDE_TEXT08 = 42
    TILE_WIDE_TEXT09 = 43
    TILE_WIDE_TEXT10 = 44
    TILE_WIDE_TEXT11 = 45
    TILE_SQUARE150X150_IMAGE = 0
    TILE_SQUARE150X150_BLOCK = 1
    TILE_SQUARE150X150_TEXT01 = 2
    TILE_SQUARE150X150_TEXT02 = 3
    TILE_SQUARE150X150_TEXT03 = 4
    TILE_SQUARE150X150_TEXT04 = 5
    TILE_SQUARE150X150_PEEK_IMAGE_AND_TEXT01 = 6
    TILE_SQUARE150X150_PEEK_IMAGE_AND_TEXT02 = 7
    TILE_SQUARE150X150_PEEK_IMAGE_AND_TEXT03 = 8
    TILE_SQUARE150X150_PEEK_IMAGE_AND_TEXT04 = 9
    TILE_WIDE310X150_IMAGE = 10
    TILE_WIDE310X150_IMAGE_COLLECTION = 11
    TILE_WIDE310X150_IMAGE_AND_TEXT01 = 12
    TILE_WIDE310X150_IMAGE_AND_TEXT02 = 13
    TILE_WIDE310X150_BLOCK_AND_TEXT01 = 14
    TILE_WIDE310X150_BLOCK_AND_TEXT02 = 15
    TILE_WIDE310X150_PEEK_IMAGE_COLLECTION01 = 16
    TILE_WIDE310X150_PEEK_IMAGE_COLLECTION02 = 17
    TILE_WIDE310X150_PEEK_IMAGE_COLLECTION03 = 18
    TILE_WIDE310X150_PEEK_IMAGE_COLLECTION04 = 19
    TILE_WIDE310X150_PEEK_IMAGE_COLLECTION05 = 20
    TILE_WIDE310X150_PEEK_IMAGE_COLLECTION06 = 21
    TILE_WIDE310X150_PEEK_IMAGE_AND_TEXT01 = 22
    TILE_WIDE310X150_PEEK_IMAGE_AND_TEXT02 = 23
    TILE_WIDE310X150_PEEK_IMAGE01 = 24
    TILE_WIDE310X150_PEEK_IMAGE02 = 25
    TILE_WIDE310X150_PEEK_IMAGE03 = 26
    TILE_WIDE310X150_PEEK_IMAGE04 = 27
    TILE_WIDE310X150_PEEK_IMAGE05 = 28
    TILE_WIDE310X150_PEEK_IMAGE06 = 29
    TILE_WIDE310X150_SMALL_IMAGE_AND_TEXT01 = 30
    TILE_WIDE310X150_SMALL_IMAGE_AND_TEXT02 = 31
    TILE_WIDE310X150_SMALL_IMAGE_AND_TEXT03 = 32
    TILE_WIDE310X150_SMALL_IMAGE_AND_TEXT04 = 33
    TILE_WIDE310X150_SMALL_IMAGE_AND_TEXT05 = 34
    TILE_WIDE310X150_TEXT01 = 35
    TILE_WIDE310X150_TEXT02 = 36
    TILE_WIDE310X150_TEXT03 = 37
    TILE_WIDE310X150_TEXT04 = 38
    TILE_WIDE310X150_TEXT05 = 39
    TILE_WIDE310X150_TEXT06 = 40
    TILE_WIDE310X150_TEXT07 = 41
    TILE_WIDE310X150_TEXT08 = 42
    TILE_WIDE310X150_TEXT09 = 43
    TILE_WIDE310X150_TEXT10 = 44
    TILE_WIDE310X150_TEXT11 = 45
    TILE_SQUARE310X310_BLOCK_AND_TEXT01 = 46
    TILE_SQUARE310X310_BLOCK_AND_TEXT02 = 47
    TILE_SQUARE310X310_IMAGE = 48
    TILE_SQUARE310X310_IMAGE_AND_TEXT01 = 49
    TILE_SQUARE310X310_IMAGE_AND_TEXT02 = 50
    TILE_SQUARE310X310_IMAGE_AND_TEXT_OVERLAY01 = 51
    TILE_SQUARE310X310_IMAGE_AND_TEXT_OVERLAY02 = 52
    TILE_SQUARE310X310_IMAGE_AND_TEXT_OVERLAY03 = 53
    TILE_SQUARE310X310_IMAGE_COLLECTION_AND_TEXT01 = 54
    TILE_SQUARE310X310_IMAGE_COLLECTION_AND_TEXT02 = 55
    TILE_SQUARE310X310_IMAGE_COLLECTION = 56
    TILE_SQUARE310X310_SMALL_IMAGES_AND_TEXT_LIST01 = 57
    TILE_SQUARE310X310_SMALL_IMAGES_AND_TEXT_LIST02 = 58
    TILE_SQUARE310X310_SMALL_IMAGES_AND_TEXT_LIST03 = 59
    TILE_SQUARE310X310_SMALL_IMAGES_AND_TEXT_LIST04 = 60
    TILE_SQUARE310X310_TEXT01 = 61
    TILE_SQUARE310X310_TEXT02 = 62
    TILE_SQUARE310X310_TEXT03 = 63
    TILE_SQUARE310X310_TEXT04 = 64
    TILE_SQUARE310X310_TEXT05 = 65
    TILE_SQUARE310X310_TEXT06 = 66
    TILE_SQUARE310X310_TEXT07 = 67
    TILE_SQUARE310X310_TEXT08 = 68
    TILE_SQUARE310X310_TEXT_LIST01 = 69
    TILE_SQUARE310X310_TEXT_LIST02 = 70
    TILE_SQUARE310X310_TEXT_LIST03 = 71
    TILE_SQUARE310X310_SMALL_IMAGE_AND_TEXT01 = 72
    TILE_SQUARE310X310_SMALL_IMAGES_AND_TEXT_LIST05 = 73
    TILE_SQUARE310X310_TEXT09 = 74
    TILE_SQUARE71X71_ICON_WITH_BADGE = 75
    TILE_SQUARE150X150_ICON_WITH_BADGE = 76
    TILE_WIDE310X150_ICON_WITH_BADGE_AND_TEXT = 77
    TILE_SQUARE71X71_IMAGE = 78
    TILE_TALL150X310_IMAGE = 79

class ToastDismissalReason(enum.IntEnum):
    USER_CANCELED = 0
    APPLICATION_HIDDEN = 1
    TIMED_OUT = 2

class ToastHistoryChangedType(enum.IntEnum):
    CLEARED = 0
    REMOVED = 1
    EXPIRED = 2
    ADDED = 3

class ToastNotificationMode(enum.IntEnum):
    UNRESTRICTED = 0
    PRIORITY_ONLY = 1
    ALARMS_ONLY = 2

class ToastNotificationPriority(enum.IntEnum):
    DEFAULT = 0
    HIGH = 1

class ToastTemplateType(enum.IntEnum):
    TOAST_IMAGE_AND_TEXT01 = 0
    TOAST_IMAGE_AND_TEXT02 = 1
    TOAST_IMAGE_AND_TEXT03 = 2
    TOAST_IMAGE_AND_TEXT04 = 3
    TOAST_TEXT01 = 4
    TOAST_TEXT02 = 5
    TOAST_TEXT03 = 6
    TOAST_TEXT04 = 7

class UserNotificationChangedKind(enum.IntEnum):
    ADDED = 0
    REMOVED = 1

Self = typing.TypeVar('Self')

class AdaptiveNotificationText(toasts_winrt.system.Object):
    hints: typing.Optional[toasts_winrt.windows.foundation.collections.IMap[str, str]]
    kind: AdaptiveNotificationContentKind
    text: str
    language: str
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> AdaptiveNotificationText: ...
    def __new__(cls: typing.Type[AdaptiveNotificationText]) -> AdaptiveNotificationText:...

class BadgeNotification(toasts_winrt.system.Object):
    expiration_time: typing.Optional[typing.Optional[datetime.datetime]]
    content: typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> BadgeNotification: ...
    def __new__(cls: typing.Type[BadgeNotification], content: typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument]) -> BadgeNotification:...

class BadgeUpdateManager(toasts_winrt.system.Object):
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> BadgeUpdateManager: ...
    @typing.overload
    @staticmethod
    def create_badge_updater_for_application() -> typing.Optional[BadgeUpdater]: ...
    @typing.overload
    @staticmethod
    def create_badge_updater_for_application(application_id: str, /) -> typing.Optional[BadgeUpdater]: ...
    @staticmethod
    def create_badge_updater_for_secondary_tile(tile_id: str, /) -> typing.Optional[BadgeUpdater]: ...
    @staticmethod
    def get_for_user(user: typing.Optional[toasts_winrt.windows.system.User], /) -> typing.Optional[BadgeUpdateManagerForUser]: ...
    @staticmethod
    def get_template_content(type: BadgeTemplateType, /) -> typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument]: ...

class BadgeUpdateManagerForUser(toasts_winrt.system.Object):
    user: typing.Optional[toasts_winrt.windows.system.User]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> BadgeUpdateManagerForUser: ...
    @typing.overload
    def create_badge_updater_for_application(self) -> typing.Optional[BadgeUpdater]: ...
    @typing.overload
    def create_badge_updater_for_application(self, application_id: str, /) -> typing.Optional[BadgeUpdater]: ...
    def create_badge_updater_for_secondary_tile(self, tile_id: str, /) -> typing.Optional[BadgeUpdater]: ...

class BadgeUpdater(toasts_winrt.system.Object):
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> BadgeUpdater: ...
    def clear(self) -> None: ...
    @typing.overload
    def start_periodic_update(self, badge_content: typing.Optional[toasts_winrt.windows.foundation.Uri], requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    @typing.overload
    def start_periodic_update(self, badge_content: typing.Optional[toasts_winrt.windows.foundation.Uri], start_time: datetime.datetime, requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    def stop_periodic_update(self) -> None: ...
    def update(self, notification: typing.Optional[BadgeNotification], /) -> None: ...

class KnownAdaptiveNotificationHints(toasts_winrt.system.Object):
    align: typing.ClassVar[str]
    max_lines: typing.ClassVar[str]
    min_lines: typing.ClassVar[str]
    style: typing.ClassVar[str]
    text_stacking: typing.ClassVar[str]
    wrap: typing.ClassVar[str]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> KnownAdaptiveNotificationHints: ...

class KnownAdaptiveNotificationTextStyles(toasts_winrt.system.Object):
    base: typing.ClassVar[str]
    base_subtle: typing.ClassVar[str]
    body: typing.ClassVar[str]
    body_subtle: typing.ClassVar[str]
    caption: typing.ClassVar[str]
    caption_subtle: typing.ClassVar[str]
    header: typing.ClassVar[str]
    header_numeral: typing.ClassVar[str]
    header_numeral_subtle: typing.ClassVar[str]
    header_subtle: typing.ClassVar[str]
    subheader: typing.ClassVar[str]
    subheader_numeral: typing.ClassVar[str]
    subheader_numeral_subtle: typing.ClassVar[str]
    subheader_subtle: typing.ClassVar[str]
    subtitle: typing.ClassVar[str]
    subtitle_subtle: typing.ClassVar[str]
    title: typing.ClassVar[str]
    title_numeral: typing.ClassVar[str]
    title_subtle: typing.ClassVar[str]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> KnownAdaptiveNotificationTextStyles: ...

class KnownNotificationBindings(toasts_winrt.system.Object):
    toast_generic: typing.ClassVar[str]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> KnownNotificationBindings: ...

class Notification(toasts_winrt.system.Object):
    visual: typing.Optional[NotificationVisual]
    expiration_time: typing.Optional[typing.Optional[datetime.datetime]]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> Notification: ...
    def __new__(cls: typing.Type[Notification]) -> Notification:...

class NotificationBinding(toasts_winrt.system.Object):
    template: str
    language: str
    hints: typing.Optional[toasts_winrt.windows.foundation.collections.IMap[str, str]]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> NotificationBinding: ...
    def get_text_elements(self) -> typing.Optional[toasts_winrt.windows.foundation.collections.IVectorView[AdaptiveNotificationText]]: ...

class NotificationData(toasts_winrt.system.Object):
    sequence_number: toasts_winrt.system.UInt32
    values: typing.Optional[toasts_winrt.windows.foundation.collections.IMap[str, str]]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> NotificationData: ...
    @typing.overload
    def __new__(cls: typing.Type[NotificationData], initial_values: typing.Iterable[toasts_winrt.windows.foundation.collections.IKeyValuePair[str, str]], sequence_number: toasts_winrt.system.UInt32) -> NotificationData:...
    @typing.overload
    def __new__(cls: typing.Type[NotificationData], initial_values: typing.Iterable[toasts_winrt.windows.foundation.collections.IKeyValuePair[str, str]]) -> NotificationData:...
    @typing.overload
    def __new__(cls: typing.Type[NotificationData]) -> NotificationData:...

class NotificationVisual(toasts_winrt.system.Object):
    language: str
    bindings: typing.Optional[toasts_winrt.windows.foundation.collections.IVector[NotificationBinding]]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> NotificationVisual: ...
    def get_binding(self, template_name: str, /) -> typing.Optional[NotificationBinding]: ...

class ScheduledTileNotification(toasts_winrt.system.Object):
    tag: str
    id: str
    expiration_time: typing.Optional[typing.Optional[datetime.datetime]]
    content: typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument]
    delivery_time: datetime.datetime
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ScheduledTileNotification: ...
    def __new__(cls: typing.Type[ScheduledTileNotification], content: typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument], delivery_time: datetime.datetime) -> ScheduledTileNotification:...

class ScheduledToastNotification(toasts_winrt.system.Object):
    id: str
    content: typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument]
    delivery_time: datetime.datetime
    maximum_snooze_count: toasts_winrt.system.UInt32
    snooze_interval: typing.Optional[typing.Optional[datetime.timedelta]]
    tag: str
    suppress_popup: toasts_winrt.system.Boolean
    group: str
    remote_id: str
    notification_mirroring: NotificationMirroring
    expiration_time: typing.Optional[typing.Optional[datetime.datetime]]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ScheduledToastNotification: ...
    @typing.overload
    def __new__(cls: typing.Type[ScheduledToastNotification], content: typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument], delivery_time: datetime.datetime) -> ScheduledToastNotification:...
    @typing.overload
    def __new__(cls: typing.Type[ScheduledToastNotification], content: typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument], delivery_time: datetime.datetime, snooze_interval: datetime.timedelta, maximum_snooze_count: toasts_winrt.system.UInt32) -> ScheduledToastNotification:...

class ScheduledToastNotificationShowingEventArgs(toasts_winrt.system.Object):
    cancel: toasts_winrt.system.Boolean
    scheduled_toast_notification: typing.Optional[ScheduledToastNotification]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ScheduledToastNotificationShowingEventArgs: ...
    def get_deferral(self) -> typing.Optional[toasts_winrt.windows.foundation.Deferral]: ...

class ShownTileNotification(toasts_winrt.system.Object):
    arguments: str
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ShownTileNotification: ...

class TileFlyoutNotification(toasts_winrt.system.Object):
    expiration_time: typing.Optional[typing.Optional[datetime.datetime]]
    content: typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> TileFlyoutNotification: ...
    def __new__(cls: typing.Type[TileFlyoutNotification], content: typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument]) -> TileFlyoutNotification:...

class TileFlyoutUpdateManager(toasts_winrt.system.Object):
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> TileFlyoutUpdateManager: ...
    @typing.overload
    @staticmethod
    def create_tile_flyout_updater_for_application() -> typing.Optional[TileFlyoutUpdater]: ...
    @typing.overload
    @staticmethod
    def create_tile_flyout_updater_for_application(application_id: str, /) -> typing.Optional[TileFlyoutUpdater]: ...
    @staticmethod
    def create_tile_flyout_updater_for_secondary_tile(tile_id: str, /) -> typing.Optional[TileFlyoutUpdater]: ...
    @staticmethod
    def get_template_content(type: TileFlyoutTemplateType, /) -> typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument]: ...

class TileFlyoutUpdater(toasts_winrt.system.Object):
    setting: NotificationSetting
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> TileFlyoutUpdater: ...
    def clear(self) -> None: ...
    @typing.overload
    def start_periodic_update(self, tile_flyout_content: typing.Optional[toasts_winrt.windows.foundation.Uri], requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    @typing.overload
    def start_periodic_update(self, tile_flyout_content: typing.Optional[toasts_winrt.windows.foundation.Uri], start_time: datetime.datetime, requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    def stop_periodic_update(self) -> None: ...
    def update(self, notification: typing.Optional[TileFlyoutNotification], /) -> None: ...

class TileNotification(toasts_winrt.system.Object):
    tag: str
    expiration_time: typing.Optional[typing.Optional[datetime.datetime]]
    content: typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> TileNotification: ...
    def __new__(cls: typing.Type[TileNotification], content: typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument]) -> TileNotification:...

class TileUpdateManager(toasts_winrt.system.Object):
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> TileUpdateManager: ...
    @typing.overload
    @staticmethod
    def create_tile_updater_for_application() -> typing.Optional[TileUpdater]: ...
    @typing.overload
    @staticmethod
    def create_tile_updater_for_application(application_id: str, /) -> typing.Optional[TileUpdater]: ...
    @staticmethod
    def create_tile_updater_for_secondary_tile(tile_id: str, /) -> typing.Optional[TileUpdater]: ...
    @staticmethod
    def get_for_user(user: typing.Optional[toasts_winrt.windows.system.User], /) -> typing.Optional[TileUpdateManagerForUser]: ...
    @staticmethod
    def get_template_content(type: TileTemplateType, /) -> typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument]: ...

class TileUpdateManagerForUser(toasts_winrt.system.Object):
    user: typing.Optional[toasts_winrt.windows.system.User]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> TileUpdateManagerForUser: ...
    def create_tile_updater_for_application(self, application_id: str, /) -> typing.Optional[TileUpdater]: ...
    def create_tile_updater_for_application_for_user(self) -> typing.Optional[TileUpdater]: ...
    def create_tile_updater_for_secondary_tile(self, tile_id: str, /) -> typing.Optional[TileUpdater]: ...

class TileUpdater(toasts_winrt.system.Object):
    setting: NotificationSetting
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> TileUpdater: ...
    def add_to_schedule(self, scheduled_tile: typing.Optional[ScheduledTileNotification], /) -> None: ...
    def clear(self) -> None: ...
    def enable_notification_queue(self, enable: toasts_winrt.system.Boolean, /) -> None: ...
    def enable_notification_queue_for_square150x150(self, enable: toasts_winrt.system.Boolean, /) -> None: ...
    def enable_notification_queue_for_square310x310(self, enable: toasts_winrt.system.Boolean, /) -> None: ...
    def enable_notification_queue_for_wide310x150(self, enable: toasts_winrt.system.Boolean, /) -> None: ...
    def get_scheduled_tile_notifications(self) -> typing.Optional[toasts_winrt.windows.foundation.collections.IVectorView[ScheduledTileNotification]]: ...
    def remove_from_schedule(self, scheduled_tile: typing.Optional[ScheduledTileNotification], /) -> None: ...
    @typing.overload
    def start_periodic_update(self, tile_content: typing.Optional[toasts_winrt.windows.foundation.Uri], requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    @typing.overload
    def start_periodic_update(self, tile_content: typing.Optional[toasts_winrt.windows.foundation.Uri], start_time: datetime.datetime, requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    @typing.overload
    def start_periodic_update_batch(self, tile_contents: typing.Iterable[toasts_winrt.windows.foundation.Uri], requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    @typing.overload
    def start_periodic_update_batch(self, tile_contents: typing.Iterable[toasts_winrt.windows.foundation.Uri], start_time: datetime.datetime, requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    def stop_periodic_update(self) -> None: ...
    def update(self, notification: typing.Optional[TileNotification], /) -> None: ...

class ToastActivatedEventArgs(toasts_winrt.system.Object):
    arguments: str
    user_input: typing.Optional[toasts_winrt.windows.foundation.collections.ValueSet]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ToastActivatedEventArgs: ...

class ToastCollection(toasts_winrt.system.Object):
    launch_args: str
    icon: typing.Optional[toasts_winrt.windows.foundation.Uri]
    display_name: str
    id: str
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ToastCollection: ...
    def __new__(cls: typing.Type[ToastCollection], collection_id: str, display_name: str, launch_args: str, icon_uri: typing.Optional[toasts_winrt.windows.foundation.Uri]) -> ToastCollection:...

class ToastCollectionManager(toasts_winrt.system.Object):
    app_id: str
    user: typing.Optional[toasts_winrt.windows.system.User]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ToastCollectionManager: ...
    def find_all_toast_collections_async(self) -> toasts_winrt.windows.foundation.IAsyncOperation[toasts_winrt.windows.foundation.collections.IVectorView[ToastCollection]]: ...
    def get_toast_collection_async(self, collection_id: str, /) -> toasts_winrt.windows.foundation.IAsyncOperation[ToastCollection]: ...
    def remove_all_toast_collections_async(self) -> toasts_winrt.windows.foundation.IAsyncAction: ...
    def remove_toast_collection_async(self, collection_id: str, /) -> toasts_winrt.windows.foundation.IAsyncAction: ...
    def save_toast_collection_async(self, collection: typing.Optional[ToastCollection], /) -> toasts_winrt.windows.foundation.IAsyncAction: ...

class ToastDismissedEventArgs(toasts_winrt.system.Object):
    reason: ToastDismissalReason
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ToastDismissedEventArgs: ...

class ToastFailedEventArgs(toasts_winrt.system.Object):
    error_code: toasts_winrt.windows.foundation.HResult
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ToastFailedEventArgs: ...

class ToastNotification(toasts_winrt.system.Object):
    expiration_time: typing.Optional[typing.Optional[datetime.datetime]]
    content: typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument]
    tag: str
    suppress_popup: toasts_winrt.system.Boolean
    group: str
    remote_id: str
    notification_mirroring: NotificationMirroring
    priority: ToastNotificationPriority
    data: typing.Optional[NotificationData]
    expires_on_reboot: toasts_winrt.system.Boolean
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ToastNotification: ...
    def __new__(cls: typing.Type[ToastNotification], content: typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument]) -> ToastNotification:...
    def add_activated(self, handler: toasts_winrt.windows.foundation.TypedEventHandler[ToastNotification, toasts_winrt.system.Object], /) -> toasts_winrt.windows.foundation.EventRegistrationToken: ...
    def remove_activated(self, token: toasts_winrt.windows.foundation.EventRegistrationToken, /) -> None: ...
    def add_dismissed(self, handler: toasts_winrt.windows.foundation.TypedEventHandler[ToastNotification, ToastDismissedEventArgs], /) -> toasts_winrt.windows.foundation.EventRegistrationToken: ...
    def remove_dismissed(self, token: toasts_winrt.windows.foundation.EventRegistrationToken, /) -> None: ...
    def add_failed(self, handler: toasts_winrt.windows.foundation.TypedEventHandler[ToastNotification, ToastFailedEventArgs], /) -> toasts_winrt.windows.foundation.EventRegistrationToken: ...
    def remove_failed(self, token: toasts_winrt.windows.foundation.EventRegistrationToken, /) -> None: ...

class ToastNotificationActionTriggerDetail(toasts_winrt.system.Object):
    argument: str
    user_input: typing.Optional[toasts_winrt.windows.foundation.collections.ValueSet]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ToastNotificationActionTriggerDetail: ...

class ToastNotificationHistory(toasts_winrt.system.Object):
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ToastNotificationHistory: ...
    @typing.overload
    def clear(self) -> None: ...
    @typing.overload
    def clear(self, application_id: str, /) -> None: ...
    @typing.overload
    def get_history(self) -> typing.Optional[toasts_winrt.windows.foundation.collections.IVectorView[ToastNotification]]: ...
    @typing.overload
    def get_history(self, application_id: str, /) -> typing.Optional[toasts_winrt.windows.foundation.collections.IVectorView[ToastNotification]]: ...
    @typing.overload
    def remove(self, tag: str, /) -> None: ...
    @typing.overload
    def remove(self, tag: str, group: str, /) -> None: ...
    @typing.overload
    def remove(self, tag: str, group: str, application_id: str, /) -> None: ...
    @typing.overload
    def remove_group(self, group: str, /) -> None: ...
    @typing.overload
    def remove_group(self, group: str, application_id: str, /) -> None: ...

class ToastNotificationHistoryChangedTriggerDetail(toasts_winrt.system.Object):
    change_type: ToastHistoryChangedType
    collection_id: str
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ToastNotificationHistoryChangedTriggerDetail: ...

class ToastNotificationManager(toasts_winrt.system.Object):
    history: typing.ClassVar[typing.Optional[ToastNotificationHistory]]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ToastNotificationManager: ...
    @staticmethod
    def configure_notification_mirroring(value: NotificationMirroring, /) -> None: ...
    @typing.overload
    @staticmethod
    def create_toast_notifier() -> typing.Optional[ToastNotifier]: ...
    @typing.overload
    @staticmethod
    def create_toast_notifier(application_id: str, /) -> typing.Optional[ToastNotifier]: ...
    @staticmethod
    def get_default() -> typing.Optional[ToastNotificationManagerForUser]: ...
    @staticmethod
    def get_for_user(user: typing.Optional[toasts_winrt.windows.system.User], /) -> typing.Optional[ToastNotificationManagerForUser]: ...
    @staticmethod
    def get_template_content(type: ToastTemplateType, /) -> typing.Optional[toasts_winrt.windows.data.xml.dom.XmlDocument]: ...

class ToastNotificationManagerForUser(toasts_winrt.system.Object):
    history: typing.Optional[ToastNotificationHistory]
    user: typing.Optional[toasts_winrt.windows.system.User]
    notification_mode: ToastNotificationMode
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ToastNotificationManagerForUser: ...
    @typing.overload
    def create_toast_notifier(self) -> typing.Optional[ToastNotifier]: ...
    @typing.overload
    def create_toast_notifier(self, application_id: str, /) -> typing.Optional[ToastNotifier]: ...
    def get_history_for_toast_collection_id_async(self, collection_id: str, /) -> toasts_winrt.windows.foundation.IAsyncOperation[ToastNotificationHistory]: ...
    @typing.overload
    def get_toast_collection_manager(self) -> typing.Optional[ToastCollectionManager]: ...
    @typing.overload
    def get_toast_collection_manager(self, app_id: str, /) -> typing.Optional[ToastCollectionManager]: ...
    def get_toast_notifier_for_toast_collection_id_async(self, collection_id: str, /) -> toasts_winrt.windows.foundation.IAsyncOperation[ToastNotifier]: ...
    def add_notification_mode_changed(self, handler: toasts_winrt.windows.foundation.TypedEventHandler[ToastNotificationManagerForUser, toasts_winrt.system.Object], /) -> toasts_winrt.windows.foundation.EventRegistrationToken: ...
    def remove_notification_mode_changed(self, token: toasts_winrt.windows.foundation.EventRegistrationToken, /) -> None: ...

class ToastNotifier(toasts_winrt.system.Object):
    setting: NotificationSetting
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> ToastNotifier: ...
    def add_to_schedule(self, scheduled_toast: typing.Optional[ScheduledToastNotification], /) -> None: ...
    def get_scheduled_toast_notifications(self) -> typing.Optional[toasts_winrt.windows.foundation.collections.IVectorView[ScheduledToastNotification]]: ...
    def hide(self, notification: typing.Optional[ToastNotification], /) -> None: ...
    def remove_from_schedule(self, scheduled_toast: typing.Optional[ScheduledToastNotification], /) -> None: ...
    def show(self, notification: typing.Optional[ToastNotification], /) -> None: ...
    @typing.overload
    def update(self, data: typing.Optional[NotificationData], tag: str, /) -> NotificationUpdateResult: ...
    @typing.overload
    def update(self, data: typing.Optional[NotificationData], tag: str, group: str, /) -> NotificationUpdateResult: ...
    def add_scheduled_toast_notification_showing(self, handler: toasts_winrt.windows.foundation.TypedEventHandler[ToastNotifier, ScheduledToastNotificationShowingEventArgs], /) -> toasts_winrt.windows.foundation.EventRegistrationToken: ...
    def remove_scheduled_toast_notification_showing(self, token: toasts_winrt.windows.foundation.EventRegistrationToken, /) -> None: ...

class UserNotification(toasts_winrt.system.Object):
    app_info: typing.Optional[toasts_winrt.windows.applicationmodel.AppInfo]
    creation_time: datetime.datetime
    id: toasts_winrt.system.UInt32
    notification: typing.Optional[Notification]
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> UserNotification: ...

class UserNotificationChangedEventArgs(toasts_winrt.system.Object):
    change_kind: UserNotificationChangedKind
    user_notification_id: toasts_winrt.system.UInt32
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> UserNotificationChangedEventArgs: ...

class IAdaptiveNotificationContent(toasts_winrt.system.Object):
    hints: typing.Optional[toasts_winrt.windows.foundation.collections.IMap[str, str]]
    kind: AdaptiveNotificationContentKind
    @staticmethod
    def _from(obj: toasts_winrt.system.Object, /) -> IAdaptiveNotificationContent: ...

