# WARNING: Please don't edit this file. It was generated by Python/WinRT v3.0.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

from winui3.microsoft.windows.widgets.notifications import AnnouncementActionKind, AnnouncementTextColor

Self = typing.TypeVar('Self')

@typing.final
class FeedAnnouncement(winrt.system.Object):
    def __new__(cls: typing.Type[Self], id: str, primary_text: str, secondary_text: str, light_mode_icon: windows_foundation.Uri, dark_mode_icon: windows_foundation.Uri) -> Self: ...
    # System.Boolean Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::get_ShowBadgeIfUserNotEngaged()
    @_property
    def show_badge_if_user_not_engaged(self) -> bool: ...
    # System.Void Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::put_ShowBadgeIfUserNotEngaged(System.Boolean)
    @show_badge_if_user_not_engaged.setter
    def show_badge_if_user_not_engaged(self, value: bool) -> None: ...
    # Microsoft.Windows.Widgets.Notifications.AnnouncementTextColor Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::get_SecondaryTextColor()
    @_property
    def secondary_text_color(self) -> AnnouncementTextColor: ...
    # System.Void Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::put_SecondaryTextColor(Microsoft.Windows.Widgets.Notifications.AnnouncementTextColor)
    @secondary_text_color.setter
    def secondary_text_color(self, value: AnnouncementTextColor) -> None: ...
    # System.String Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::get_SecondaryText()
    @_property
    def secondary_text(self) -> str: ...
    # System.Void Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::put_SecondaryText(System.String)
    @secondary_text.setter
    def secondary_text(self, value: str) -> None: ...
    # Microsoft.Windows.Widgets.Notifications.AnnouncementTextColor Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::get_PrimaryTextColor()
    @_property
    def primary_text_color(self) -> AnnouncementTextColor: ...
    # System.Void Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::put_PrimaryTextColor(Microsoft.Windows.Widgets.Notifications.AnnouncementTextColor)
    @primary_text_color.setter
    def primary_text_color(self, value: AnnouncementTextColor) -> None: ...
    # System.String Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::get_PrimaryText()
    @_property
    def primary_text(self) -> str: ...
    # System.Void Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::put_PrimaryText(System.String)
    @primary_text.setter
    def primary_text(self, value: str) -> None: ...
    # Windows.Foundation.Uri Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::get_LightModeIconUri()
    @_property
    def light_mode_icon_uri(self) -> windows_foundation.Uri: ...
    # System.Void Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::put_LightModeIconUri(Windows.Foundation.Uri)
    @light_mode_icon_uri.setter
    def light_mode_icon_uri(self, value: windows_foundation.Uri) -> None: ...
    # System.Boolean Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::get_IsSecondaryTextSubtle()
    @_property
    def is_secondary_text_subtle(self) -> bool: ...
    # System.Void Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::put_IsSecondaryTextSubtle(System.Boolean)
    @is_secondary_text_subtle.setter
    def is_secondary_text_subtle(self, value: bool) -> None: ...
    # System.String Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::get_Id()
    @_property
    def id(self) -> str: ...
    # System.Void Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::put_Id(System.String)
    @id.setter
    def id(self, value: str) -> None: ...
    # Windows.Foundation.DateTime Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::get_ExpirationTime()
    @_property
    def expiration_time(self) -> datetime.datetime: ...
    # System.Void Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::put_ExpirationTime(Windows.Foundation.DateTime)
    @expiration_time.setter
    def expiration_time(self, value: datetime.datetime) -> None: ...
    # Windows.Foundation.TimeSpan Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::get_Duration()
    @_property
    def duration(self) -> datetime.timedelta: ...
    # System.Void Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::put_Duration(Windows.Foundation.TimeSpan)
    @duration.setter
    def duration(self, value: datetime.timedelta) -> None: ...
    # Windows.Foundation.Uri Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::get_DarkModeIconUri()
    @_property
    def dark_mode_icon_uri(self) -> windows_foundation.Uri: ...
    # System.Void Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::put_DarkModeIconUri(Windows.Foundation.Uri)
    @dark_mode_icon_uri.setter
    def dark_mode_icon_uri(self, value: windows_foundation.Uri) -> None: ...
    # System.String Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::get_CustomAccessibilityText()
    @_property
    def custom_accessibility_text(self) -> str: ...
    # System.Void Microsoft.Windows.Widgets.Notifications.FeedAnnouncement::put_CustomAccessibilityText(System.String)
    @custom_accessibility_text.setter
    def custom_accessibility_text(self, value: str) -> None: ...

@typing.final
class FeedAnnouncementInvokedArgs(winrt.system.Object):
    # Microsoft.Windows.Widgets.Notifications.AnnouncementActionKind Microsoft.Windows.Widgets.Notifications.FeedAnnouncementInvokedArgs::get_ActionKind()
    @_property
    def action_kind(self) -> AnnouncementActionKind: ...
    # System.String Microsoft.Windows.Widgets.Notifications.FeedAnnouncementInvokedArgs::get_AnnouncementId()
    @_property
    def announcement_id(self) -> str: ...
    # System.String Microsoft.Windows.Widgets.Notifications.FeedAnnouncementInvokedArgs::get_FeedDefinitionId()
    @_property
    def feed_definition_id(self) -> str: ...
    # System.String Microsoft.Windows.Widgets.Notifications.FeedAnnouncementInvokedArgs::get_FeedProviderDefinitionId()
    @_property
    def feed_provider_definition_id(self) -> str: ...

