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

import enum
import datetime
import sys
import types
import typing

import winsdk._winrt as _winrt
import winsdk.windows.foundation
import winsdk.windows.foundation.collections
import winsdk.windows.globalization
import winsdk.windows.storage
import winsdk.windows.storage.streams
import winsdk.windows.system

class AccountPictureKind(enum.IntEnum):
    SMALL_IMAGE = 0
    LARGE_IMAGE = 1
    VIDEO = 2

class SetAccountPictureResult(enum.IntEnum):
    SUCCESS = 0
    CHANGE_DISABLED = 1
    LARGE_OR_DYNAMIC_ERROR = 2
    VIDEO_FRAME_SIZE_ERROR = 3
    FILE_SIZE_ERROR = 4
    FAILURE = 5

class SetImageFeedResult(enum.IntEnum):
    SUCCESS = 0
    CHANGE_DISABLED = 1
    USER_CANCELED = 2

Self = typing.TypeVar('Self')

class AdvertisingManager(_winrt.Object):
    advertising_id: str
    @staticmethod
    def _from(obj: _winrt.Object) -> AdvertisingManager: ...
    @staticmethod
    def get_for_user(user: typing.Optional[winsdk.windows.system.User]) -> typing.Optional[AdvertisingManagerForUser]: ...

class AdvertisingManagerForUser(_winrt.Object):
    advertising_id: str
    user: typing.Optional[winsdk.windows.system.User]
    @staticmethod
    def _from(obj: _winrt.Object) -> AdvertisingManagerForUser: ...

class AssignedAccessSettings(_winrt.Object):
    is_enabled: _winrt.Boolean
    is_single_app_kiosk_mode: _winrt.Boolean
    user: typing.Optional[winsdk.windows.system.User]
    @staticmethod
    def _from(obj: _winrt.Object) -> AssignedAccessSettings: ...
    @staticmethod
    def get_default() -> typing.Optional[AssignedAccessSettings]: ...
    @staticmethod
    def get_for_user(user: typing.Optional[winsdk.windows.system.User]) -> typing.Optional[AssignedAccessSettings]: ...

class DiagnosticsSettings(_winrt.Object):
    can_use_diagnostics_to_tailor_experiences: _winrt.Boolean
    user: typing.Optional[winsdk.windows.system.User]
    @staticmethod
    def _from(obj: _winrt.Object) -> DiagnosticsSettings: ...
    @staticmethod
    def get_default() -> typing.Optional[DiagnosticsSettings]: ...
    @staticmethod
    def get_for_user(user: typing.Optional[winsdk.windows.system.User]) -> typing.Optional[DiagnosticsSettings]: ...

class FirstSignInSettings(_winrt.Object, typing.Mapping[str, _winrt.Object]):
    size: _winrt.UInt32
    def __len__(self) -> int: ...
    def __iter__(self) -> typing.Iterator[str]: ...
    def __contains__(self, key: object) -> bool:...
    def __getitem__(self, key: str) -> _winrt.Object: ...
    @staticmethod
    def _from(obj: _winrt.Object) -> FirstSignInSettings: ...
    def first(self) -> typing.Optional[winsdk.windows.foundation.collections.IIterator[winsdk.windows.foundation.collections.IKeyValuePair[str, _winrt.Object]]]: ...
    @staticmethod
    def get_default() -> typing.Optional[FirstSignInSettings]: ...
    def has_key(self, key: str) -> _winrt.Boolean: ...
    def lookup(self, key: str) -> typing.Optional[_winrt.Object]: ...
    def split(self) -> typing.Tuple[typing.Optional[winsdk.windows.foundation.collections.IMapView[str, _winrt.Object]], typing.Optional[winsdk.windows.foundation.collections.IMapView[str, _winrt.Object]]]: ...

class GlobalizationPreferences(_winrt.Object):
    calendars: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    clocks: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    currencies: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    home_geographic_region: str
    languages: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    week_starts_on: winsdk.windows.globalization.DayOfWeek
    @staticmethod
    def _from(obj: _winrt.Object) -> GlobalizationPreferences: ...
    @staticmethod
    def get_for_user(user: typing.Optional[winsdk.windows.system.User]) -> typing.Optional[GlobalizationPreferencesForUser]: ...
    @staticmethod
    def try_set_home_geographic_region(region: str) -> _winrt.Boolean: ...
    @staticmethod
    def try_set_languages(language_tags: typing.Iterable[str]) -> _winrt.Boolean: ...

class GlobalizationPreferencesForUser(_winrt.Object):
    calendars: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    clocks: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    currencies: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    home_geographic_region: str
    languages: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    user: typing.Optional[winsdk.windows.system.User]
    week_starts_on: winsdk.windows.globalization.DayOfWeek
    @staticmethod
    def _from(obj: _winrt.Object) -> GlobalizationPreferencesForUser: ...

class LockScreen(_winrt.Object):
    original_image_file: typing.Optional[winsdk.windows.foundation.Uri]
    @staticmethod
    def _from(obj: _winrt.Object) -> LockScreen: ...
    @staticmethod
    def get_image_stream() -> typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream]: ...
    @staticmethod
    def request_set_image_feed_async(syndication_feed_uri: typing.Optional[winsdk.windows.foundation.Uri]) -> winsdk.windows.foundation.IAsyncOperation[SetImageFeedResult]: ...
    @staticmethod
    def set_image_file_async(value: typing.Optional[winsdk.windows.storage.IStorageFile]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    @staticmethod
    def set_image_stream_async(value: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    @staticmethod
    def try_remove_image_feed() -> _winrt.Boolean: ...

class UserInformation(_winrt.Object):
    account_picture_change_enabled: _winrt.Boolean
    name_access_allowed: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> UserInformation: ...
    @staticmethod
    def get_account_picture(kind: AccountPictureKind) -> typing.Optional[winsdk.windows.storage.IStorageFile]: ...
    @staticmethod
    def get_display_name_async() -> winsdk.windows.foundation.IAsyncOperation[str]: ...
    @staticmethod
    def get_domain_name_async() -> winsdk.windows.foundation.IAsyncOperation[str]: ...
    @staticmethod
    def get_first_name_async() -> winsdk.windows.foundation.IAsyncOperation[str]: ...
    @staticmethod
    def get_last_name_async() -> winsdk.windows.foundation.IAsyncOperation[str]: ...
    @staticmethod
    def get_principal_name_async() -> winsdk.windows.foundation.IAsyncOperation[str]: ...
    @staticmethod
    def get_session_initiation_protocol_uri_async() -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.foundation.Uri]: ...
    @staticmethod
    def set_account_picture_async(image: typing.Optional[winsdk.windows.storage.IStorageFile]) -> winsdk.windows.foundation.IAsyncOperation[SetAccountPictureResult]: ...
    @staticmethod
    def set_account_picture_from_stream_async(image: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream]) -> winsdk.windows.foundation.IAsyncOperation[SetAccountPictureResult]: ...
    @staticmethod
    def set_account_pictures_async(small_image: typing.Optional[winsdk.windows.storage.IStorageFile], large_image: typing.Optional[winsdk.windows.storage.IStorageFile], video: typing.Optional[winsdk.windows.storage.IStorageFile]) -> winsdk.windows.foundation.IAsyncOperation[SetAccountPictureResult]: ...
    @staticmethod
    def set_account_pictures_from_streams_async(small_image: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream], large_image: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream], video: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream]) -> winsdk.windows.foundation.IAsyncOperation[SetAccountPictureResult]: ...
    @staticmethod
    def add_account_picture_changed(change_handler: winsdk.windows.foundation.EventHandler[_winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @staticmethod
    def remove_account_picture_changed(token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class UserProfilePersonalizationSettings(_winrt.Object):
    current: typing.Optional[UserProfilePersonalizationSettings]
    @staticmethod
    def _from(obj: _winrt.Object) -> UserProfilePersonalizationSettings: ...
    @staticmethod
    def is_supported() -> _winrt.Boolean: ...
    def try_set_lock_screen_image_async(self, image_file: typing.Optional[winsdk.windows.storage.StorageFile]) -> winsdk.windows.foundation.IAsyncOperation[_winrt.Boolean]: ...
    def try_set_wallpaper_image_async(self, image_file: typing.Optional[winsdk.windows.storage.StorageFile]) -> winsdk.windows.foundation.IAsyncOperation[_winrt.Boolean]: ...

