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

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 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 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 set_custom_query_parameters(self, options: typing.Optional[CustomQueryParametersUpdateOptions], /) -> None: ...

@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 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 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: ...

