# 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.microsoft.windows.widgets.notifications as microsoft_windows_widgets_notifications
import winrt.windows.foundation as windows_foundation
import winrt.windows.foundation.collections as windows_foundation_collections
import winrt.windows.storage.streams as windows_storage_streams

Self = typing.TypeVar('Self')

@typing.final
class CustomQueryParametersRequestedArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CustomQueryParametersRequestedArgs: ...
    @_property
    def feed_provider_definition_id(self) -> str: ...

@typing.final
class CustomQueryParametersUpdateOptions(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CustomQueryParametersUpdateOptions: ...
    def __new__(cls: typing.Type[CustomQueryParametersUpdateOptions], feed_provider_definition_id: str, custom_query_parameters: str) -> CustomQueryParametersUpdateOptions: ...
    @_property
    def custom_query_parameters(self) -> str: ...
    @_property
    def feed_provider_definition_id(self) -> str: ...

@typing.final
class FeedAnalyticsInfoReportedArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> FeedAnalyticsInfoReportedArgs: ...
    @_property
    def analytics_json(self) -> str: ...
    @_property
    def feed_definition_id(self) -> str: ...
    @_property
    def feed_provider_definition_id(self) -> str: ...

@typing.final
class FeedDisabledArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> FeedDisabledArgs: ...
    @_property
    def feed_definition_id(self) -> str: ...
    @_property
    def feed_provider_definition_id(self) -> str: ...

@typing.final
class FeedEnabledArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> FeedEnabledArgs: ...
    @_property
    def feed_definition_id(self) -> str: ...
    @_property
    def feed_provider_definition_id(self) -> str: ...

@typing.final
class FeedErrorInfoReportedArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> FeedErrorInfoReportedArgs: ...
    @_property
    def error_json(self) -> str: ...
    @_property
    def feed_definition_id(self) -> str: ...
    @_property
    def feed_provider_definition_id(self) -> str: ...

@typing.final
class FeedManager_Static(type):
    def get_default(cls) -> typing.Optional[FeedManager]: ...

@typing.final
class FeedManager(winrt.system.Object, metaclass=FeedManager_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> FeedManager: ...
    def get_enabled_feed_providers(self) -> winrt.system.Array[typing.Optional[FeedProviderInfo]]: ...
    def send_message_to_content(self, feed_provider_definition_id: str, feed_definition_id: str, message: str, /) -> None: ...
    def set_custom_query_parameters(self, options: typing.Optional[CustomQueryParametersUpdateOptions], /) -> None: ...
    def try_show_announcement(self, feed_provider_definition_id: str, feed_definition_id: str, announcement: typing.Optional[microsoft_windows_widgets_notifications.FeedAnnouncement], /) -> None: ...

@typing.final
class FeedMessageReceivedArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> FeedMessageReceivedArgs: ...
    @_property
    def feed_definition_id(self) -> str: ...
    @_property
    def feed_provider_definition_id(self) -> str: ...
    @_property
    def message(self) -> str: ...

@typing.final
class FeedProviderDisabledArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> FeedProviderDisabledArgs: ...
    @_property
    def feed_provider_definition_id(self) -> str: ...

@typing.final
class FeedProviderEnabledArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> FeedProviderEnabledArgs: ...
    @_property
    def feed_provider_definition_id(self) -> str: ...

@typing.final
class FeedProviderInfo(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> FeedProviderInfo: ...
    @_property
    def enabled_feed_definition_ids(self) -> str: ...
    @_property
    def feed_provider_definition_id(self) -> str: ...

@typing.final
class FeedResourceRequest(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> FeedResourceRequest: ...
    @_property
    def method(self) -> str: ...
    @method.setter
    def method(self, value: str) -> None: ...
    @_property
    def headers(self) -> typing.Optional[windows_foundation_collections.StringMap]: ...
    @headers.setter
    def headers(self, value: typing.Optional[windows_foundation_collections.StringMap]) -> None: ...
    @_property
    def content(self) -> typing.Optional[windows_storage_streams.IRandomAccessStreamReference]: ...
    @content.setter
    def content(self, value: typing.Optional[windows_storage_streams.IRandomAccessStreamReference]) -> None: ...
    @_property
    def uri(self) -> str: ...

@typing.final
class FeedResourceRequestedArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> FeedResourceRequestedArgs: ...
    def get_deferral(self) -> typing.Optional[windows_foundation.Deferral]: ...
    @_property
    def response(self) -> typing.Optional[FeedResourceResponse]: ...
    @response.setter
    def response(self, value: typing.Optional[FeedResourceResponse]) -> None: ...
    @_property
    def feed_definition_id(self) -> str: ...
    @_property
    def feed_provider_definition_id(self) -> str: ...
    @_property
    def request(self) -> typing.Optional[FeedResourceRequest]: ...

@typing.final
class FeedResourceResponse(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> FeedResourceResponse: ...
    def __new__(cls: typing.Type[FeedResourceResponse], content: typing.Optional[windows_storage_streams.IRandomAccessStreamReference], reason_phrase: str, status_code: winrt.system.Int32) -> FeedResourceResponse: ...
    @_property
    def headers(self) -> typing.Optional[windows_foundation_collections.IIterable[windows_foundation_collections.IKeyValuePair[str, str]]]: ...
    @headers.setter
    def headers(self, value: typing.Optional[windows_foundation_collections.IIterable[windows_foundation_collections.IKeyValuePair[str, str]]]) -> None: ...
    @_property
    def content(self) -> typing.Optional[windows_storage_streams.IRandomAccessStreamReference]: ...
    @_property
    def reason_phrase(self) -> str: ...
    @_property
    def status_code(self) -> winrt.system.Int32: ...

@typing.final
class IFeedAnnouncementInvokedTarget(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IFeedAnnouncementInvokedTarget: ...
    def on_announcement_invoked(self, args: typing.Optional[microsoft_windows_widgets_notifications.FeedAnnouncementInvokedArgs], /) -> None: ...

@typing.final
class IFeedManager(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IFeedManager: ...
    def get_enabled_feed_providers(self) -> winrt.system.Array[typing.Optional[FeedProviderInfo]]: ...
    def set_custom_query_parameters(self, options: typing.Optional[CustomQueryParametersUpdateOptions], /) -> None: ...

@typing.final
class IFeedManager2(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IFeedManager2: ...
    def send_message_to_content(self, feed_provider_definition_id: str, feed_definition_id: str, message: str, /) -> None: ...
    def try_show_announcement(self, feed_provider_definition_id: str, feed_definition_id: str, announcement: typing.Optional[microsoft_windows_widgets_notifications.FeedAnnouncement], /) -> None: ...

@typing.final
class IFeedProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IFeedProvider: ...
    def on_custom_query_parameters_requested(self, args: typing.Optional[CustomQueryParametersRequestedArgs], /) -> None: ...
    def on_feed_disabled(self, args: typing.Optional[FeedDisabledArgs], /) -> None: ...
    def on_feed_enabled(self, args: typing.Optional[FeedEnabledArgs], /) -> None: ...
    def on_feed_provider_disabled(self, args: typing.Optional[FeedProviderDisabledArgs], /) -> None: ...
    def on_feed_provider_enabled(self, args: typing.Optional[FeedProviderEnabledArgs], /) -> None: ...

@typing.final
class IFeedProviderAnalytics(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IFeedProviderAnalytics: ...
    def on_analytics_info_reported(self, args: typing.Optional[FeedAnalyticsInfoReportedArgs], /) -> None: ...

@typing.final
class IFeedProviderErrors(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IFeedProviderErrors: ...
    def on_error_info_reported(self, args: typing.Optional[FeedErrorInfoReportedArgs], /) -> None: ...

@typing.final
class IFeedProviderMessage(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IFeedProviderMessage: ...
    def on_message_received(self, args: typing.Optional[FeedMessageReceivedArgs], /) -> None: ...

@typing.final
class IFeedResourceProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IFeedResourceProvider: ...
    def on_resource_requested(self, args: typing.Optional[FeedResourceRequestedArgs], /) -> None: ...

