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

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

import winrt._winrt
import winrt.system
import winrt.windows.applicationmodel as windows_applicationmodel
import winrt.windows.data.xml.dom as windows_data_xml_dom
import winrt.windows.foundation as windows_foundation
import winrt.windows.foundation.collections as windows_foundation_collections
import winrt.windows.system as windows_system

from winrt.windows.ui.notifications import AdaptiveNotificationContentKind, BadgeTemplateType, NotificationKinds, NotificationMirroring, NotificationSetting, NotificationUpdateResult, PeriodicUpdateRecurrence, TileFlyoutTemplateType, TileTemplateType, ToastDismissalReason, ToastHistoryChangedType, ToastNotificationMode, ToastNotificationPriority, ToastTemplateType, UserNotificationChangedKind

Self = typing.TypeVar('Self')

@typing.final
class AdaptiveNotificationText(winrt.system.Object, IAdaptiveNotificationContent):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Foundation.Collections.IMap`2<System.String,System.String> Windows.UI.Notifications.AdaptiveNotificationText::get_Hints()
    @_property
    def hints(self) -> typing.MutableMapping[str, str]: ...
    # Windows.UI.Notifications.AdaptiveNotificationContentKind Windows.UI.Notifications.AdaptiveNotificationText::get_Kind()
    @_property
    def kind(self) -> AdaptiveNotificationContentKind: ...
    # System.String Windows.UI.Notifications.AdaptiveNotificationText::get_Text()
    @_property
    def text(self) -> str: ...
    # System.Void Windows.UI.Notifications.AdaptiveNotificationText::put_Text(System.String)
    @text.setter
    def text(self, value: str) -> None: ...
    # System.String Windows.UI.Notifications.AdaptiveNotificationText::get_Language()
    @_property
    def language(self) -> str: ...
    # System.Void Windows.UI.Notifications.AdaptiveNotificationText::put_Language(System.String)
    @language.setter
    def language(self, value: str) -> None: ...

@typing.final
class BadgeNotification(winrt.system.Object):
    def __new__(cls: typing.Type[Self], content: windows_data_xml_dom.XmlDocument) -> Self: ...
    # Windows.Foundation.IReference`1<Windows.Foundation.DateTime> Windows.UI.Notifications.BadgeNotification::get_ExpirationTime()
    @_property
    def expiration_time(self) -> typing.Optional[datetime.datetime]: ...
    # System.Void Windows.UI.Notifications.BadgeNotification::put_ExpirationTime(Windows.Foundation.IReference`1<Windows.Foundation.DateTime>)
    @expiration_time.setter
    def expiration_time(self, value: typing.Optional[datetime.datetime]) -> None: ...
    # Windows.Data.Xml.Dom.XmlDocument Windows.UI.Notifications.BadgeNotification::get_Content()
    @_property
    def content(self) -> windows_data_xml_dom.XmlDocument: ...

@typing.final
class BadgeUpdateManager_Static(winrt._winrt.IInspectable_Static):
    # Windows.UI.Notifications.BadgeUpdater Windows.UI.Notifications.BadgeUpdateManager::CreateBadgeUpdaterForApplication()
    def create_badge_updater_for_application(cls) -> BadgeUpdater: ...
    # Windows.UI.Notifications.BadgeUpdater Windows.UI.Notifications.BadgeUpdateManager::CreateBadgeUpdaterForApplication(System.String)
    def create_badge_updater_for_application_with_id(cls, application_id: str, /) -> BadgeUpdater: ...
    # Windows.UI.Notifications.BadgeUpdater Windows.UI.Notifications.BadgeUpdateManager::CreateBadgeUpdaterForSecondaryTile(System.String)
    def create_badge_updater_for_secondary_tile(cls, tile_id: str, /) -> BadgeUpdater: ...
    # Windows.UI.Notifications.BadgeUpdateManagerForUser Windows.UI.Notifications.BadgeUpdateManager::GetForUser(Windows.System.User)
    def get_for_user(cls, user: windows_system.User, /) -> BadgeUpdateManagerForUser: ...
    # Windows.Data.Xml.Dom.XmlDocument Windows.UI.Notifications.BadgeUpdateManager::GetTemplateContent(Windows.UI.Notifications.BadgeTemplateType)
    def get_template_content(cls, type: BadgeTemplateType, /) -> windows_data_xml_dom.XmlDocument: ...

@typing.final
class BadgeUpdateManager(winrt.system.Object, metaclass=BadgeUpdateManager_Static):
    pass

@typing.final
class BadgeUpdateManagerForUser(winrt.system.Object):
    # Windows.UI.Notifications.BadgeUpdater Windows.UI.Notifications.BadgeUpdateManagerForUser::CreateBadgeUpdaterForApplication()
    def create_badge_updater_for_application(self) -> BadgeUpdater: ...
    # Windows.UI.Notifications.BadgeUpdater Windows.UI.Notifications.BadgeUpdateManagerForUser::CreateBadgeUpdaterForApplication(System.String)
    def create_badge_updater_for_application_with_id(self, application_id: str, /) -> BadgeUpdater: ...
    # Windows.UI.Notifications.BadgeUpdater Windows.UI.Notifications.BadgeUpdateManagerForUser::CreateBadgeUpdaterForSecondaryTile(System.String)
    def create_badge_updater_for_secondary_tile(self, tile_id: str, /) -> BadgeUpdater: ...
    # Windows.System.User Windows.UI.Notifications.BadgeUpdateManagerForUser::get_User()
    @_property
    def user(self) -> windows_system.User: ...

@typing.final
class BadgeUpdater(winrt.system.Object):
    # System.Void Windows.UI.Notifications.BadgeUpdater::Clear()
    def clear(self) -> None: ...
    # System.Void Windows.UI.Notifications.BadgeUpdater::StartPeriodicUpdate(Windows.Foundation.Uri,Windows.UI.Notifications.PeriodicUpdateRecurrence)
    def start_periodic_update(self, badge_content: windows_foundation.Uri, requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    # System.Void Windows.UI.Notifications.BadgeUpdater::StartPeriodicUpdate(Windows.Foundation.Uri,Windows.Foundation.DateTime,Windows.UI.Notifications.PeriodicUpdateRecurrence)
    def start_periodic_update_at_time(self, badge_content: windows_foundation.Uri, start_time: datetime.datetime, requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    # System.Void Windows.UI.Notifications.BadgeUpdater::StopPeriodicUpdate()
    def stop_periodic_update(self) -> None: ...
    # System.Void Windows.UI.Notifications.BadgeUpdater::Update(Windows.UI.Notifications.BadgeNotification)
    def update(self, notification: BadgeNotification, /) -> None: ...

@typing.final
class KnownAdaptiveNotificationHints_Static(winrt._winrt.IInspectable_Static):
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationHints::get_Align()
    @_property
    def align(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationHints::get_MaxLines()
    @_property
    def max_lines(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationHints::get_MinLines()
    @_property
    def min_lines(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationHints::get_Style()
    @_property
    def style(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationHints::get_TextStacking()
    @_property
    def text_stacking(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationHints::get_Wrap()
    @_property
    def wrap(cls) -> str: ...

@typing.final
class KnownAdaptiveNotificationHints(winrt.system.Object, metaclass=KnownAdaptiveNotificationHints_Static):
    pass

@typing.final
class KnownAdaptiveNotificationTextStyles_Static(winrt._winrt.IInspectable_Static):
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_Base()
    @_property
    def base(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_BaseSubtle()
    @_property
    def base_subtle(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_Body()
    @_property
    def body(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_BodySubtle()
    @_property
    def body_subtle(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_Caption()
    @_property
    def caption(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_CaptionSubtle()
    @_property
    def caption_subtle(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_Header()
    @_property
    def header(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_HeaderNumeral()
    @_property
    def header_numeral(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_HeaderNumeralSubtle()
    @_property
    def header_numeral_subtle(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_HeaderSubtle()
    @_property
    def header_subtle(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_Subheader()
    @_property
    def subheader(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_SubheaderNumeral()
    @_property
    def subheader_numeral(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_SubheaderNumeralSubtle()
    @_property
    def subheader_numeral_subtle(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_SubheaderSubtle()
    @_property
    def subheader_subtle(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_Subtitle()
    @_property
    def subtitle(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_SubtitleSubtle()
    @_property
    def subtitle_subtle(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_Title()
    @_property
    def title(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_TitleNumeral()
    @_property
    def title_numeral(cls) -> str: ...
    # System.String Windows.UI.Notifications.KnownAdaptiveNotificationTextStyles::get_TitleSubtle()
    @_property
    def title_subtle(cls) -> str: ...

@typing.final
class KnownAdaptiveNotificationTextStyles(winrt.system.Object, metaclass=KnownAdaptiveNotificationTextStyles_Static):
    pass

@typing.final
class KnownNotificationBindings_Static(winrt._winrt.IInspectable_Static):
    # System.String Windows.UI.Notifications.KnownNotificationBindings::get_ToastGeneric()
    @_property
    def toast_generic(cls) -> str: ...

@typing.final
class KnownNotificationBindings(winrt.system.Object, metaclass=KnownNotificationBindings_Static):
    pass

@typing.final
class Notification(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.UI.Notifications.NotificationVisual Windows.UI.Notifications.Notification::get_Visual()
    @_property
    def visual(self) -> NotificationVisual: ...
    # System.Void Windows.UI.Notifications.Notification::put_Visual(Windows.UI.Notifications.NotificationVisual)
    @visual.setter
    def visual(self, value: NotificationVisual) -> None: ...
    # Windows.Foundation.IReference`1<Windows.Foundation.DateTime> Windows.UI.Notifications.Notification::get_ExpirationTime()
    @_property
    def expiration_time(self) -> typing.Optional[datetime.datetime]: ...
    # System.Void Windows.UI.Notifications.Notification::put_ExpirationTime(Windows.Foundation.IReference`1<Windows.Foundation.DateTime>)
    @expiration_time.setter
    def expiration_time(self, value: typing.Optional[datetime.datetime]) -> None: ...

@typing.final
class NotificationBinding(winrt.system.Object):
    # Windows.Foundation.Collections.IVectorView`1<Windows.UI.Notifications.AdaptiveNotificationText> Windows.UI.Notifications.NotificationBinding::GetTextElements()
    def get_text_elements(self) -> typing.Sequence[AdaptiveNotificationText]: ...
    # System.String Windows.UI.Notifications.NotificationBinding::get_Template()
    @_property
    def template(self) -> str: ...
    # System.Void Windows.UI.Notifications.NotificationBinding::put_Template(System.String)
    @template.setter
    def template(self, value: str) -> None: ...
    # System.String Windows.UI.Notifications.NotificationBinding::get_Language()
    @_property
    def language(self) -> str: ...
    # System.Void Windows.UI.Notifications.NotificationBinding::put_Language(System.String)
    @language.setter
    def language(self, value: str) -> None: ...
    # Windows.Foundation.Collections.IMap`2<System.String,System.String> Windows.UI.Notifications.NotificationBinding::get_Hints()
    @_property
    def hints(self) -> typing.MutableMapping[str, str]: ...

@typing.final
class NotificationData(winrt.system.Object):
    @typing.overload
    def __new__(cls: typing.Type[Self], initial_values: typing.Union[typing.Mapping[str, str], typing.Iterable[windows_foundation_collections.IKeyValuePair[str, str]]], sequence_number: winrt.system.UInt32) -> Self: ...
    @typing.overload
    def __new__(cls: typing.Type[Self], initial_values: typing.Union[typing.Mapping[str, str], typing.Iterable[windows_foundation_collections.IKeyValuePair[str, str]]]) -> Self: ...
    @typing.overload
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.UInt32 Windows.UI.Notifications.NotificationData::get_SequenceNumber()
    @_property
    def sequence_number(self) -> winrt.system.UInt32: ...
    # System.Void Windows.UI.Notifications.NotificationData::put_SequenceNumber(System.UInt32)
    @sequence_number.setter
    def sequence_number(self, value: winrt.system.UInt32) -> None: ...
    # Windows.Foundation.Collections.IMap`2<System.String,System.String> Windows.UI.Notifications.NotificationData::get_Values()
    @_property
    def values(self) -> typing.MutableMapping[str, str]: ...

@typing.final
class NotificationVisual(winrt.system.Object):
    # Windows.UI.Notifications.NotificationBinding Windows.UI.Notifications.NotificationVisual::GetBinding(System.String)
    def get_binding(self, template_name: str, /) -> NotificationBinding: ...
    # System.String Windows.UI.Notifications.NotificationVisual::get_Language()
    @_property
    def language(self) -> str: ...
    # System.Void Windows.UI.Notifications.NotificationVisual::put_Language(System.String)
    @language.setter
    def language(self, value: str) -> None: ...
    # Windows.Foundation.Collections.IVector`1<Windows.UI.Notifications.NotificationBinding> Windows.UI.Notifications.NotificationVisual::get_Bindings()
    @_property
    def bindings(self) -> typing.MutableSequence[NotificationBinding]: ...

@typing.final
class ScheduledTileNotification(winrt.system.Object):
    def __new__(cls: typing.Type[Self], content: windows_data_xml_dom.XmlDocument, delivery_time: datetime.datetime) -> Self: ...
    # System.String Windows.UI.Notifications.ScheduledTileNotification::get_Tag()
    @_property
    def tag(self) -> str: ...
    # System.Void Windows.UI.Notifications.ScheduledTileNotification::put_Tag(System.String)
    @tag.setter
    def tag(self, value: str) -> None: ...
    # System.String Windows.UI.Notifications.ScheduledTileNotification::get_Id()
    @_property
    def id(self) -> str: ...
    # System.Void Windows.UI.Notifications.ScheduledTileNotification::put_Id(System.String)
    @id.setter
    def id(self, value: str) -> None: ...
    # Windows.Foundation.IReference`1<Windows.Foundation.DateTime> Windows.UI.Notifications.ScheduledTileNotification::get_ExpirationTime()
    @_property
    def expiration_time(self) -> typing.Optional[datetime.datetime]: ...
    # System.Void Windows.UI.Notifications.ScheduledTileNotification::put_ExpirationTime(Windows.Foundation.IReference`1<Windows.Foundation.DateTime>)
    @expiration_time.setter
    def expiration_time(self, value: typing.Optional[datetime.datetime]) -> None: ...
    # Windows.Data.Xml.Dom.XmlDocument Windows.UI.Notifications.ScheduledTileNotification::get_Content()
    @_property
    def content(self) -> windows_data_xml_dom.XmlDocument: ...
    # Windows.Foundation.DateTime Windows.UI.Notifications.ScheduledTileNotification::get_DeliveryTime()
    @_property
    def delivery_time(self) -> datetime.datetime: ...

@typing.final
class ScheduledToastNotification(winrt.system.Object):
    @typing.overload
    def __new__(cls: typing.Type[Self], content: windows_data_xml_dom.XmlDocument, delivery_time: datetime.datetime) -> Self: ...
    @typing.overload
    def __new__(cls: typing.Type[Self], content: windows_data_xml_dom.XmlDocument, delivery_time: datetime.datetime, snooze_interval: datetime.timedelta, maximum_snooze_count: winrt.system.UInt32) -> Self: ...
    # System.String Windows.UI.Notifications.ScheduledToastNotification::get_Id()
    @_property
    def id(self) -> str: ...
    # System.Void Windows.UI.Notifications.ScheduledToastNotification::put_Id(System.String)
    @id.setter
    def id(self, value: str) -> None: ...
    # Windows.Data.Xml.Dom.XmlDocument Windows.UI.Notifications.ScheduledToastNotification::get_Content()
    @_property
    def content(self) -> windows_data_xml_dom.XmlDocument: ...
    # Windows.Foundation.DateTime Windows.UI.Notifications.ScheduledToastNotification::get_DeliveryTime()
    @_property
    def delivery_time(self) -> datetime.datetime: ...
    # System.UInt32 Windows.UI.Notifications.ScheduledToastNotification::get_MaximumSnoozeCount()
    @_property
    def maximum_snooze_count(self) -> winrt.system.UInt32: ...
    # Windows.Foundation.IReference`1<Windows.Foundation.TimeSpan> Windows.UI.Notifications.ScheduledToastNotification::get_SnoozeInterval()
    @_property
    def snooze_interval(self) -> typing.Optional[datetime.timedelta]: ...
    # System.String Windows.UI.Notifications.ScheduledToastNotification::get_Tag()
    @_property
    def tag(self) -> str: ...
    # System.Void Windows.UI.Notifications.ScheduledToastNotification::put_Tag(System.String)
    @tag.setter
    def tag(self, value: str) -> None: ...
    # System.Boolean Windows.UI.Notifications.ScheduledToastNotification::get_SuppressPopup()
    @_property
    def suppress_popup(self) -> bool: ...
    # System.Void Windows.UI.Notifications.ScheduledToastNotification::put_SuppressPopup(System.Boolean)
    @suppress_popup.setter
    def suppress_popup(self, value: bool) -> None: ...
    # System.String Windows.UI.Notifications.ScheduledToastNotification::get_Group()
    @_property
    def group(self) -> str: ...
    # System.Void Windows.UI.Notifications.ScheduledToastNotification::put_Group(System.String)
    @group.setter
    def group(self, value: str) -> None: ...
    # System.String Windows.UI.Notifications.ScheduledToastNotification::get_RemoteId()
    @_property
    def remote_id(self) -> str: ...
    # System.Void Windows.UI.Notifications.ScheduledToastNotification::put_RemoteId(System.String)
    @remote_id.setter
    def remote_id(self, value: str) -> None: ...
    # Windows.UI.Notifications.NotificationMirroring Windows.UI.Notifications.ScheduledToastNotification::get_NotificationMirroring()
    @_property
    def notification_mirroring(self) -> NotificationMirroring: ...
    # System.Void Windows.UI.Notifications.ScheduledToastNotification::put_NotificationMirroring(Windows.UI.Notifications.NotificationMirroring)
    @notification_mirroring.setter
    def notification_mirroring(self, value: NotificationMirroring) -> None: ...
    # Windows.Foundation.IReference`1<Windows.Foundation.DateTime> Windows.UI.Notifications.ScheduledToastNotification::get_ExpirationTime()
    @_property
    def expiration_time(self) -> typing.Optional[datetime.datetime]: ...
    # System.Void Windows.UI.Notifications.ScheduledToastNotification::put_ExpirationTime(Windows.Foundation.IReference`1<Windows.Foundation.DateTime>)
    @expiration_time.setter
    def expiration_time(self, value: typing.Optional[datetime.datetime]) -> None: ...

@typing.final
class ScheduledToastNotificationShowingEventArgs(winrt.system.Object):
    # Windows.Foundation.Deferral Windows.UI.Notifications.ScheduledToastNotificationShowingEventArgs::GetDeferral()
    def get_deferral(self) -> windows_foundation.Deferral: ...
    # System.Boolean Windows.UI.Notifications.ScheduledToastNotificationShowingEventArgs::get_Cancel()
    @_property
    def cancel(self) -> bool: ...
    # System.Void Windows.UI.Notifications.ScheduledToastNotificationShowingEventArgs::put_Cancel(System.Boolean)
    @cancel.setter
    def cancel(self, value: bool) -> None: ...
    # Windows.UI.Notifications.ScheduledToastNotification Windows.UI.Notifications.ScheduledToastNotificationShowingEventArgs::get_ScheduledToastNotification()
    @_property
    def scheduled_toast_notification(self) -> ScheduledToastNotification: ...

@typing.final
class ShownTileNotification(winrt.system.Object):
    # System.String Windows.UI.Notifications.ShownTileNotification::get_Arguments()
    @_property
    def arguments(self) -> str: ...

@typing.final
class TileFlyoutNotification(winrt.system.Object):
    def __new__(cls: typing.Type[Self], content: windows_data_xml_dom.XmlDocument) -> Self: ...
    # Windows.Foundation.IReference`1<Windows.Foundation.DateTime> Windows.UI.Notifications.TileFlyoutNotification::get_ExpirationTime()
    @_property
    def expiration_time(self) -> typing.Optional[datetime.datetime]: ...
    # System.Void Windows.UI.Notifications.TileFlyoutNotification::put_ExpirationTime(Windows.Foundation.IReference`1<Windows.Foundation.DateTime>)
    @expiration_time.setter
    def expiration_time(self, value: typing.Optional[datetime.datetime]) -> None: ...
    # Windows.Data.Xml.Dom.XmlDocument Windows.UI.Notifications.TileFlyoutNotification::get_Content()
    @_property
    def content(self) -> windows_data_xml_dom.XmlDocument: ...

@typing.final
class TileFlyoutUpdateManager_Static(winrt._winrt.IInspectable_Static):
    # Windows.UI.Notifications.TileFlyoutUpdater Windows.UI.Notifications.TileFlyoutUpdateManager::CreateTileFlyoutUpdaterForApplication()
    def create_tile_flyout_updater_for_application(cls) -> TileFlyoutUpdater: ...
    # Windows.UI.Notifications.TileFlyoutUpdater Windows.UI.Notifications.TileFlyoutUpdateManager::CreateTileFlyoutUpdaterForApplication(System.String)
    def create_tile_flyout_updater_for_application_with_id(cls, application_id: str, /) -> TileFlyoutUpdater: ...
    # Windows.UI.Notifications.TileFlyoutUpdater Windows.UI.Notifications.TileFlyoutUpdateManager::CreateTileFlyoutUpdaterForSecondaryTile(System.String)
    def create_tile_flyout_updater_for_secondary_tile(cls, tile_id: str, /) -> TileFlyoutUpdater: ...
    # Windows.Data.Xml.Dom.XmlDocument Windows.UI.Notifications.TileFlyoutUpdateManager::GetTemplateContent(Windows.UI.Notifications.TileFlyoutTemplateType)
    def get_template_content(cls, type: TileFlyoutTemplateType, /) -> windows_data_xml_dom.XmlDocument: ...

@typing.final
class TileFlyoutUpdateManager(winrt.system.Object, metaclass=TileFlyoutUpdateManager_Static):
    pass

@typing.final
class TileFlyoutUpdater(winrt.system.Object):
    # System.Void Windows.UI.Notifications.TileFlyoutUpdater::Clear()
    def clear(self) -> None: ...
    # System.Void Windows.UI.Notifications.TileFlyoutUpdater::StartPeriodicUpdate(Windows.Foundation.Uri,Windows.UI.Notifications.PeriodicUpdateRecurrence)
    def start_periodic_update(self, tile_flyout_content: windows_foundation.Uri, requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    # System.Void Windows.UI.Notifications.TileFlyoutUpdater::StartPeriodicUpdate(Windows.Foundation.Uri,Windows.Foundation.DateTime,Windows.UI.Notifications.PeriodicUpdateRecurrence)
    def start_periodic_update_at_time(self, tile_flyout_content: windows_foundation.Uri, start_time: datetime.datetime, requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    # System.Void Windows.UI.Notifications.TileFlyoutUpdater::StopPeriodicUpdate()
    def stop_periodic_update(self) -> None: ...
    # System.Void Windows.UI.Notifications.TileFlyoutUpdater::Update(Windows.UI.Notifications.TileFlyoutNotification)
    def update(self, notification: TileFlyoutNotification, /) -> None: ...
    # Windows.UI.Notifications.NotificationSetting Windows.UI.Notifications.TileFlyoutUpdater::get_Setting()
    @_property
    def setting(self) -> NotificationSetting: ...

@typing.final
class TileNotification(winrt.system.Object):
    def __new__(cls: typing.Type[Self], content: windows_data_xml_dom.XmlDocument) -> Self: ...
    # System.String Windows.UI.Notifications.TileNotification::get_Tag()
    @_property
    def tag(self) -> str: ...
    # System.Void Windows.UI.Notifications.TileNotification::put_Tag(System.String)
    @tag.setter
    def tag(self, value: str) -> None: ...
    # Windows.Foundation.IReference`1<Windows.Foundation.DateTime> Windows.UI.Notifications.TileNotification::get_ExpirationTime()
    @_property
    def expiration_time(self) -> typing.Optional[datetime.datetime]: ...
    # System.Void Windows.UI.Notifications.TileNotification::put_ExpirationTime(Windows.Foundation.IReference`1<Windows.Foundation.DateTime>)
    @expiration_time.setter
    def expiration_time(self, value: typing.Optional[datetime.datetime]) -> None: ...
    # Windows.Data.Xml.Dom.XmlDocument Windows.UI.Notifications.TileNotification::get_Content()
    @_property
    def content(self) -> windows_data_xml_dom.XmlDocument: ...

@typing.final
class TileUpdateManager_Static(winrt._winrt.IInspectable_Static):
    # Windows.UI.Notifications.TileUpdater Windows.UI.Notifications.TileUpdateManager::CreateTileUpdaterForApplication()
    def create_tile_updater_for_application(cls) -> TileUpdater: ...
    # Windows.UI.Notifications.TileUpdater Windows.UI.Notifications.TileUpdateManager::CreateTileUpdaterForApplication(System.String)
    def create_tile_updater_for_application_with_id(cls, application_id: str, /) -> TileUpdater: ...
    # Windows.UI.Notifications.TileUpdater Windows.UI.Notifications.TileUpdateManager::CreateTileUpdaterForSecondaryTile(System.String)
    def create_tile_updater_for_secondary_tile(cls, tile_id: str, /) -> TileUpdater: ...
    # Windows.UI.Notifications.TileUpdateManagerForUser Windows.UI.Notifications.TileUpdateManager::GetForUser(Windows.System.User)
    def get_for_user(cls, user: windows_system.User, /) -> TileUpdateManagerForUser: ...
    # Windows.Data.Xml.Dom.XmlDocument Windows.UI.Notifications.TileUpdateManager::GetTemplateContent(Windows.UI.Notifications.TileTemplateType)
    def get_template_content(cls, type: TileTemplateType, /) -> windows_data_xml_dom.XmlDocument: ...

@typing.final
class TileUpdateManager(winrt.system.Object, metaclass=TileUpdateManager_Static):
    pass

@typing.final
class TileUpdateManagerForUser(winrt.system.Object):
    # Windows.UI.Notifications.TileUpdater Windows.UI.Notifications.TileUpdateManagerForUser::CreateTileUpdaterForApplicationForUser()
    def create_tile_updater_for_application(self) -> TileUpdater: ...
    # Windows.UI.Notifications.TileUpdater Windows.UI.Notifications.TileUpdateManagerForUser::CreateTileUpdaterForApplication(System.String)
    def create_tile_updater_for_application_with_id(self, application_id: str, /) -> TileUpdater: ...
    # Windows.UI.Notifications.TileUpdater Windows.UI.Notifications.TileUpdateManagerForUser::CreateTileUpdaterForSecondaryTile(System.String)
    def create_tile_updater_for_secondary_tile(self, tile_id: str, /) -> TileUpdater: ...
    # Windows.System.User Windows.UI.Notifications.TileUpdateManagerForUser::get_User()
    @_property
    def user(self) -> windows_system.User: ...

@typing.final
class TileUpdater(winrt.system.Object):
    # System.Void Windows.UI.Notifications.TileUpdater::AddToSchedule(Windows.UI.Notifications.ScheduledTileNotification)
    def add_to_schedule(self, scheduled_tile: ScheduledTileNotification, /) -> None: ...
    # System.Void Windows.UI.Notifications.TileUpdater::Clear()
    def clear(self) -> None: ...
    # System.Void Windows.UI.Notifications.TileUpdater::EnableNotificationQueue(System.Boolean)
    def enable_notification_queue(self, enable: bool, /) -> None: ...
    # System.Void Windows.UI.Notifications.TileUpdater::EnableNotificationQueueForSquare150x150(System.Boolean)
    def enable_notification_queue_for_square150x150(self, enable: bool, /) -> None: ...
    # System.Void Windows.UI.Notifications.TileUpdater::EnableNotificationQueueForSquare310x310(System.Boolean)
    def enable_notification_queue_for_square310x310(self, enable: bool, /) -> None: ...
    # System.Void Windows.UI.Notifications.TileUpdater::EnableNotificationQueueForWide310x150(System.Boolean)
    def enable_notification_queue_for_wide310x150(self, enable: bool, /) -> None: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.UI.Notifications.ScheduledTileNotification> Windows.UI.Notifications.TileUpdater::GetScheduledTileNotifications()
    def get_scheduled_tile_notifications(self) -> typing.Sequence[ScheduledTileNotification]: ...
    # System.Void Windows.UI.Notifications.TileUpdater::RemoveFromSchedule(Windows.UI.Notifications.ScheduledTileNotification)
    def remove_from_schedule(self, scheduled_tile: ScheduledTileNotification, /) -> None: ...
    # System.Void Windows.UI.Notifications.TileUpdater::StartPeriodicUpdate(Windows.Foundation.Uri,Windows.UI.Notifications.PeriodicUpdateRecurrence)
    def start_periodic_update(self, tile_content: windows_foundation.Uri, requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    # System.Void Windows.UI.Notifications.TileUpdater::StartPeriodicUpdate(Windows.Foundation.Uri,Windows.Foundation.DateTime,Windows.UI.Notifications.PeriodicUpdateRecurrence)
    def start_periodic_update_at_time(self, tile_content: windows_foundation.Uri, start_time: datetime.datetime, requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    # System.Void Windows.UI.Notifications.TileUpdater::StartPeriodicUpdateBatch(Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.UI.Notifications.PeriodicUpdateRecurrence)
    def start_periodic_update_batch(self, tile_contents: typing.Iterable[windows_foundation.Uri], requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    # System.Void Windows.UI.Notifications.TileUpdater::StartPeriodicUpdateBatch(Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Foundation.DateTime,Windows.UI.Notifications.PeriodicUpdateRecurrence)
    def start_periodic_update_batch_at_time(self, tile_contents: typing.Iterable[windows_foundation.Uri], start_time: datetime.datetime, requested_interval: PeriodicUpdateRecurrence, /) -> None: ...
    # System.Void Windows.UI.Notifications.TileUpdater::StopPeriodicUpdate()
    def stop_periodic_update(self) -> None: ...
    # System.Void Windows.UI.Notifications.TileUpdater::Update(Windows.UI.Notifications.TileNotification)
    def update(self, notification: TileNotification, /) -> None: ...
    # Windows.UI.Notifications.NotificationSetting Windows.UI.Notifications.TileUpdater::get_Setting()
    @_property
    def setting(self) -> NotificationSetting: ...

@typing.final
class ToastActivatedEventArgs(winrt.system.Object):
    # System.String Windows.UI.Notifications.ToastActivatedEventArgs::get_Arguments()
    @_property
    def arguments(self) -> str: ...
    # Windows.Foundation.Collections.ValueSet Windows.UI.Notifications.ToastActivatedEventArgs::get_UserInput()
    @_property
    def user_input(self) -> windows_foundation_collections.ValueSet: ...

@typing.final
class ToastCollection(winrt.system.Object):
    def __new__(cls: typing.Type[Self], collection_id: str, display_name: str, launch_args: str, icon_uri: windows_foundation.Uri) -> Self: ...
    # System.String Windows.UI.Notifications.ToastCollection::get_LaunchArgs()
    @_property
    def launch_args(self) -> str: ...
    # System.Void Windows.UI.Notifications.ToastCollection::put_LaunchArgs(System.String)
    @launch_args.setter
    def launch_args(self, value: str) -> None: ...
    # Windows.Foundation.Uri Windows.UI.Notifications.ToastCollection::get_Icon()
    @_property
    def icon(self) -> windows_foundation.Uri: ...
    # System.Void Windows.UI.Notifications.ToastCollection::put_Icon(Windows.Foundation.Uri)
    @icon.setter
    def icon(self, value: windows_foundation.Uri) -> None: ...
    # System.String Windows.UI.Notifications.ToastCollection::get_DisplayName()
    @_property
    def display_name(self) -> str: ...
    # System.Void Windows.UI.Notifications.ToastCollection::put_DisplayName(System.String)
    @display_name.setter
    def display_name(self, value: str) -> None: ...
    # System.String Windows.UI.Notifications.ToastCollection::get_Id()
    @_property
    def id(self) -> str: ...

@typing.final
class ToastCollectionManager(winrt.system.Object):
    # Windows.Foundation.IAsyncOperation`1<Windows.Foundation.Collections.IVectorView`1<Windows.UI.Notifications.ToastCollection>> Windows.UI.Notifications.ToastCollectionManager::FindAllToastCollectionsAsync()
    def find_all_toast_collections_async(self) -> windows_foundation.IAsyncOperation[typing.Sequence[ToastCollection]]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.UI.Notifications.ToastCollection> Windows.UI.Notifications.ToastCollectionManager::GetToastCollectionAsync(System.String)
    def get_toast_collection_async(self, collection_id: str, /) -> windows_foundation.IAsyncOperation[ToastCollection]: ...
    # Windows.Foundation.IAsyncAction Windows.UI.Notifications.ToastCollectionManager::RemoveAllToastCollectionsAsync()
    def remove_all_toast_collections_async(self) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.IAsyncAction Windows.UI.Notifications.ToastCollectionManager::RemoveToastCollectionAsync(System.String)
    def remove_toast_collection_async(self, collection_id: str, /) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.IAsyncAction Windows.UI.Notifications.ToastCollectionManager::SaveToastCollectionAsync(Windows.UI.Notifications.ToastCollection)
    def save_toast_collection_async(self, collection: ToastCollection, /) -> windows_foundation.IAsyncAction: ...
    # System.String Windows.UI.Notifications.ToastCollectionManager::get_AppId()
    @_property
    def app_id(self) -> str: ...
    # Windows.System.User Windows.UI.Notifications.ToastCollectionManager::get_User()
    @_property
    def user(self) -> windows_system.User: ...

@typing.final
class ToastDismissedEventArgs(winrt.system.Object):
    # Windows.UI.Notifications.ToastDismissalReason Windows.UI.Notifications.ToastDismissedEventArgs::get_Reason()
    @_property
    def reason(self) -> ToastDismissalReason: ...

@typing.final
class ToastFailedEventArgs(winrt.system.Object):
    # Windows.Foundation.HResult Windows.UI.Notifications.ToastFailedEventArgs::get_ErrorCode()
    @_property
    def error_code(self) -> windows_foundation.HResult: ...

@typing.final
class ToastNotification(winrt.system.Object):
    def __new__(cls: typing.Type[Self], content: windows_data_xml_dom.XmlDocument) -> Self: ...
    # Windows.Foundation.EventRegistrationToken Windows.UI.Notifications.ToastNotification::add_Activated(Windows.Foundation.TypedEventHandler`2<Windows.UI.Notifications.ToastNotification,System.Object>)
    def add_activated(self, handler: windows_foundation.TypedEventHandler[ToastNotification, winrt.system.Object], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.UI.Notifications.ToastNotification::remove_Activated(Windows.Foundation.EventRegistrationToken)
    def remove_activated(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.UI.Notifications.ToastNotification::add_Dismissed(Windows.Foundation.TypedEventHandler`2<Windows.UI.Notifications.ToastNotification,Windows.UI.Notifications.ToastDismissedEventArgs>)
    def add_dismissed(self, handler: windows_foundation.TypedEventHandler[ToastNotification, ToastDismissedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.UI.Notifications.ToastNotification::remove_Dismissed(Windows.Foundation.EventRegistrationToken)
    def remove_dismissed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.UI.Notifications.ToastNotification::add_Failed(Windows.Foundation.TypedEventHandler`2<Windows.UI.Notifications.ToastNotification,Windows.UI.Notifications.ToastFailedEventArgs>)
    def add_failed(self, handler: windows_foundation.TypedEventHandler[ToastNotification, ToastFailedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.UI.Notifications.ToastNotification::remove_Failed(Windows.Foundation.EventRegistrationToken)
    def remove_failed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.IReference`1<Windows.Foundation.DateTime> Windows.UI.Notifications.ToastNotification::get_ExpirationTime()
    @_property
    def expiration_time(self) -> typing.Optional[datetime.datetime]: ...
    # System.Void Windows.UI.Notifications.ToastNotification::put_ExpirationTime(Windows.Foundation.IReference`1<Windows.Foundation.DateTime>)
    @expiration_time.setter
    def expiration_time(self, value: typing.Optional[datetime.datetime]) -> None: ...
    # Windows.Data.Xml.Dom.XmlDocument Windows.UI.Notifications.ToastNotification::get_Content()
    @_property
    def content(self) -> windows_data_xml_dom.XmlDocument: ...
    # System.String Windows.UI.Notifications.ToastNotification::get_Tag()
    @_property
    def tag(self) -> str: ...
    # System.Void Windows.UI.Notifications.ToastNotification::put_Tag(System.String)
    @tag.setter
    def tag(self, value: str) -> None: ...
    # System.Boolean Windows.UI.Notifications.ToastNotification::get_SuppressPopup()
    @_property
    def suppress_popup(self) -> bool: ...
    # System.Void Windows.UI.Notifications.ToastNotification::put_SuppressPopup(System.Boolean)
    @suppress_popup.setter
    def suppress_popup(self, value: bool) -> None: ...
    # System.String Windows.UI.Notifications.ToastNotification::get_Group()
    @_property
    def group(self) -> str: ...
    # System.Void Windows.UI.Notifications.ToastNotification::put_Group(System.String)
    @group.setter
    def group(self, value: str) -> None: ...
    # System.String Windows.UI.Notifications.ToastNotification::get_RemoteId()
    @_property
    def remote_id(self) -> str: ...
    # System.Void Windows.UI.Notifications.ToastNotification::put_RemoteId(System.String)
    @remote_id.setter
    def remote_id(self, value: str) -> None: ...
    # Windows.UI.Notifications.NotificationMirroring Windows.UI.Notifications.ToastNotification::get_NotificationMirroring()
    @_property
    def notification_mirroring(self) -> NotificationMirroring: ...
    # System.Void Windows.UI.Notifications.ToastNotification::put_NotificationMirroring(Windows.UI.Notifications.NotificationMirroring)
    @notification_mirroring.setter
    def notification_mirroring(self, value: NotificationMirroring) -> None: ...
    # Windows.UI.Notifications.ToastNotificationPriority Windows.UI.Notifications.ToastNotification::get_Priority()
    @_property
    def priority(self) -> ToastNotificationPriority: ...
    # System.Void Windows.UI.Notifications.ToastNotification::put_Priority(Windows.UI.Notifications.ToastNotificationPriority)
    @priority.setter
    def priority(self, value: ToastNotificationPriority) -> None: ...
    # Windows.UI.Notifications.NotificationData Windows.UI.Notifications.ToastNotification::get_Data()
    @_property
    def data(self) -> NotificationData: ...
    # System.Void Windows.UI.Notifications.ToastNotification::put_Data(Windows.UI.Notifications.NotificationData)
    @data.setter
    def data(self, value: NotificationData) -> None: ...
    # System.Boolean Windows.UI.Notifications.ToastNotification::get_ExpiresOnReboot()
    @_property
    def expires_on_reboot(self) -> bool: ...
    # System.Void Windows.UI.Notifications.ToastNotification::put_ExpiresOnReboot(System.Boolean)
    @expires_on_reboot.setter
    def expires_on_reboot(self, value: bool) -> None: ...

@typing.final
class ToastNotificationActionTriggerDetail(winrt.system.Object):
    # System.String Windows.UI.Notifications.ToastNotificationActionTriggerDetail::get_Argument()
    @_property
    def argument(self) -> str: ...
    # Windows.Foundation.Collections.ValueSet Windows.UI.Notifications.ToastNotificationActionTriggerDetail::get_UserInput()
    @_property
    def user_input(self) -> windows_foundation_collections.ValueSet: ...

@typing.final
class ToastNotificationHistory(winrt.system.Object):
    # System.Void Windows.UI.Notifications.ToastNotificationHistory::Clear()
    def clear(self) -> None: ...
    # System.Void Windows.UI.Notifications.ToastNotificationHistory::Clear(System.String)
    def clear_with_id(self, application_id: str, /) -> None: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.UI.Notifications.ToastNotification> Windows.UI.Notifications.ToastNotificationHistory::GetHistory()
    def get_history(self) -> typing.Sequence[ToastNotification]: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.UI.Notifications.ToastNotification> Windows.UI.Notifications.ToastNotificationHistory::GetHistory(System.String)
    def get_history_with_id(self, application_id: str, /) -> typing.Sequence[ToastNotification]: ...
    # System.Void Windows.UI.Notifications.ToastNotificationHistory::Remove(System.String)
    def remove(self, tag: str, /) -> None: ...
    # System.Void Windows.UI.Notifications.ToastNotificationHistory::RemoveGroup(System.String)
    def remove_group(self, group: str, /) -> None: ...
    # System.Void Windows.UI.Notifications.ToastNotificationHistory::RemoveGroup(System.String,System.String)
    def remove_group_with_id(self, group: str, application_id: str, /) -> None: ...
    # System.Void Windows.UI.Notifications.ToastNotificationHistory::Remove(System.String,System.String)
    def remove_grouped_tag(self, tag: str, group: str, /) -> None: ...
    # System.Void Windows.UI.Notifications.ToastNotificationHistory::Remove(System.String,System.String,System.String)
    def remove_grouped_tag_with_id(self, tag: str, group: str, application_id: str, /) -> None: ...

@typing.final
class ToastNotificationHistoryChangedTriggerDetail(winrt.system.Object):
    # Windows.UI.Notifications.ToastHistoryChangedType Windows.UI.Notifications.ToastNotificationHistoryChangedTriggerDetail::get_ChangeType()
    @_property
    def change_type(self) -> ToastHistoryChangedType: ...
    # System.String Windows.UI.Notifications.ToastNotificationHistoryChangedTriggerDetail::get_CollectionId()
    @_property
    def collection_id(self) -> str: ...

@typing.final
class ToastNotificationManager_Static(winrt._winrt.IInspectable_Static):
    # System.Void Windows.UI.Notifications.ToastNotificationManager::ConfigureNotificationMirroring(Windows.UI.Notifications.NotificationMirroring)
    def configure_notification_mirroring(cls, value: NotificationMirroring, /) -> None: ...
    # Windows.UI.Notifications.ToastNotifier Windows.UI.Notifications.ToastNotificationManager::CreateToastNotifier()
    def create_toast_notifier(cls) -> ToastNotifier: ...
    # Windows.UI.Notifications.ToastNotifier Windows.UI.Notifications.ToastNotificationManager::CreateToastNotifier(System.String)
    def create_toast_notifier_with_id(cls, application_id: str, /) -> ToastNotifier: ...
    # Windows.UI.Notifications.ToastNotificationManagerForUser Windows.UI.Notifications.ToastNotificationManager::GetDefault()
    def get_default(cls) -> ToastNotificationManagerForUser: ...
    # Windows.UI.Notifications.ToastNotificationManagerForUser Windows.UI.Notifications.ToastNotificationManager::GetForUser(Windows.System.User)
    def get_for_user(cls, user: windows_system.User, /) -> ToastNotificationManagerForUser: ...
    # Windows.Data.Xml.Dom.XmlDocument Windows.UI.Notifications.ToastNotificationManager::GetTemplateContent(Windows.UI.Notifications.ToastTemplateType)
    def get_template_content(cls, type: ToastTemplateType, /) -> windows_data_xml_dom.XmlDocument: ...
    # Windows.UI.Notifications.ToastNotificationHistory Windows.UI.Notifications.ToastNotificationManager::get_History()
    @_property
    def history(cls) -> ToastNotificationHistory: ...

@typing.final
class ToastNotificationManager(winrt.system.Object, metaclass=ToastNotificationManager_Static):
    pass

@typing.final
class ToastNotificationManagerForUser(winrt.system.Object):
    # Windows.UI.Notifications.ToastNotifier Windows.UI.Notifications.ToastNotificationManagerForUser::CreateToastNotifier()
    def create_toast_notifier(self) -> ToastNotifier: ...
    # Windows.UI.Notifications.ToastNotifier Windows.UI.Notifications.ToastNotificationManagerForUser::CreateToastNotifier(System.String)
    def create_toast_notifier_with_id(self, application_id: str, /) -> ToastNotifier: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.UI.Notifications.ToastNotificationHistory> Windows.UI.Notifications.ToastNotificationManagerForUser::GetHistoryForToastCollectionIdAsync(System.String)
    def get_history_for_toast_collection_id_async(self, collection_id: str, /) -> windows_foundation.IAsyncOperation[ToastNotificationHistory]: ...
    # Windows.UI.Notifications.ToastCollectionManager Windows.UI.Notifications.ToastNotificationManagerForUser::GetToastCollectionManager()
    def get_toast_collection_manager(self) -> ToastCollectionManager: ...
    # Windows.UI.Notifications.ToastCollectionManager Windows.UI.Notifications.ToastNotificationManagerForUser::GetToastCollectionManager(System.String)
    def get_toast_collection_manager_with_app_id(self, app_id: str, /) -> ToastCollectionManager: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.UI.Notifications.ToastNotifier> Windows.UI.Notifications.ToastNotificationManagerForUser::GetToastNotifierForToastCollectionIdAsync(System.String)
    def get_toast_notifier_for_toast_collection_id_async(self, collection_id: str, /) -> windows_foundation.IAsyncOperation[ToastNotifier]: ...
    # Windows.Foundation.EventRegistrationToken Windows.UI.Notifications.ToastNotificationManagerForUser::add_NotificationModeChanged(Windows.Foundation.TypedEventHandler`2<Windows.UI.Notifications.ToastNotificationManagerForUser,System.Object>)
    def add_notification_mode_changed(self, handler: windows_foundation.TypedEventHandler[ToastNotificationManagerForUser, winrt.system.Object], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.UI.Notifications.ToastNotificationManagerForUser::remove_NotificationModeChanged(Windows.Foundation.EventRegistrationToken)
    def remove_notification_mode_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.UI.Notifications.ToastNotificationHistory Windows.UI.Notifications.ToastNotificationManagerForUser::get_History()
    @_property
    def history(self) -> ToastNotificationHistory: ...
    # Windows.System.User Windows.UI.Notifications.ToastNotificationManagerForUser::get_User()
    @_property
    def user(self) -> windows_system.User: ...
    # Windows.UI.Notifications.ToastNotificationMode Windows.UI.Notifications.ToastNotificationManagerForUser::get_NotificationMode()
    @_property
    def notification_mode(self) -> ToastNotificationMode: ...

@typing.final
class ToastNotifier(winrt.system.Object):
    # System.Void Windows.UI.Notifications.ToastNotifier::AddToSchedule(Windows.UI.Notifications.ScheduledToastNotification)
    def add_to_schedule(self, scheduled_toast: ScheduledToastNotification, /) -> None: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.UI.Notifications.ScheduledToastNotification> Windows.UI.Notifications.ToastNotifier::GetScheduledToastNotifications()
    def get_scheduled_toast_notifications(self) -> typing.Sequence[ScheduledToastNotification]: ...
    # System.Void Windows.UI.Notifications.ToastNotifier::Hide(Windows.UI.Notifications.ToastNotification)
    def hide(self, notification: ToastNotification, /) -> None: ...
    # System.Void Windows.UI.Notifications.ToastNotifier::RemoveFromSchedule(Windows.UI.Notifications.ScheduledToastNotification)
    def remove_from_schedule(self, scheduled_toast: ScheduledToastNotification, /) -> None: ...
    # System.Void Windows.UI.Notifications.ToastNotifier::Show(Windows.UI.Notifications.ToastNotification)
    def show(self, notification: ToastNotification, /) -> None: ...
    # Windows.UI.Notifications.NotificationUpdateResult Windows.UI.Notifications.ToastNotifier::Update(Windows.UI.Notifications.NotificationData,System.String)
    def update_with_tag(self, data: NotificationData, tag: str, /) -> NotificationUpdateResult: ...
    # Windows.UI.Notifications.NotificationUpdateResult Windows.UI.Notifications.ToastNotifier::Update(Windows.UI.Notifications.NotificationData,System.String,System.String)
    def update_with_tag_and_group(self, data: NotificationData, tag: str, group: str, /) -> NotificationUpdateResult: ...
    # Windows.Foundation.EventRegistrationToken Windows.UI.Notifications.ToastNotifier::add_ScheduledToastNotificationShowing(Windows.Foundation.TypedEventHandler`2<Windows.UI.Notifications.ToastNotifier,Windows.UI.Notifications.ScheduledToastNotificationShowingEventArgs>)
    def add_scheduled_toast_notification_showing(self, handler: windows_foundation.TypedEventHandler[ToastNotifier, ScheduledToastNotificationShowingEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.UI.Notifications.ToastNotifier::remove_ScheduledToastNotificationShowing(Windows.Foundation.EventRegistrationToken)
    def remove_scheduled_toast_notification_showing(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.UI.Notifications.NotificationSetting Windows.UI.Notifications.ToastNotifier::get_Setting()
    @_property
    def setting(self) -> NotificationSetting: ...

@typing.final
class UserNotification(winrt.system.Object):
    # Windows.ApplicationModel.AppInfo Windows.UI.Notifications.UserNotification::get_AppInfo()
    @_property
    def app_info(self) -> windows_applicationmodel.AppInfo: ...
    # Windows.Foundation.DateTime Windows.UI.Notifications.UserNotification::get_CreationTime()
    @_property
    def creation_time(self) -> datetime.datetime: ...
    # System.UInt32 Windows.UI.Notifications.UserNotification::get_Id()
    @_property
    def id(self) -> winrt.system.UInt32: ...
    # Windows.UI.Notifications.Notification Windows.UI.Notifications.UserNotification::get_Notification()
    @_property
    def notification(self) -> Notification: ...

@typing.final
class UserNotificationChangedEventArgs(winrt.system.Object):
    # Windows.UI.Notifications.UserNotificationChangedKind Windows.UI.Notifications.UserNotificationChangedEventArgs::get_ChangeKind()
    @_property
    def change_kind(self) -> UserNotificationChangedKind: ...
    # System.UInt32 Windows.UI.Notifications.UserNotificationChangedEventArgs::get_UserNotificationId()
    @_property
    def user_notification_id(self) -> winrt.system.UInt32: ...

@typing.final
class _IAdaptiveNotificationContent: ...

class IAdaptiveNotificationContent(winrt._winrt.IInspectable):
    # Windows.Foundation.Collections.IMap`2<System.String,System.String> Windows.UI.Notifications.IAdaptiveNotificationContent::get_Hints()
    @_property
    @abstractmethod
    def hints(self) -> typing.MutableMapping[str, str]: ...
    # Windows.UI.Notifications.AdaptiveNotificationContentKind Windows.UI.Notifications.IAdaptiveNotificationContent::get_Kind()
    @_property
    @abstractmethod
    def kind(self) -> AdaptiveNotificationContentKind: ...

