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

import enum
import datetime
import sys
import types
import typing

import winsdk.system
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(winsdk.system.Object):
    advertising_id: typing.ClassVar[str]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> AdvertisingManager: ...
    @staticmethod
    def get_for_user(user: typing.Optional[winsdk.windows.system.User]) -> typing.Optional[AdvertisingManagerForUser]: ...

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

class AssignedAccessSettings(winsdk.system.Object):
    is_enabled: winsdk.system.Boolean
    is_single_app_kiosk_mode: winsdk.system.Boolean
    user: typing.Optional[winsdk.windows.system.User]
    @staticmethod
    def _from(obj: winsdk.system.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(winsdk.system.Object):
    can_use_diagnostics_to_tailor_experiences: winsdk.system.Boolean
    user: typing.Optional[winsdk.windows.system.User]
    @staticmethod
    def _from(obj: winsdk.system.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(winsdk.system.Object, typing.Mapping[str, winsdk.system.Object]):
    size: winsdk.system.UInt32
    def __len__(self) -> int: ...
    def __iter__(self) -> typing.Iterator[str]: ...
    def __contains__(self, key: object) -> bool:...
    def __getitem__(self, key: str) -> winsdk.system.Object: ...
    @staticmethod
    def _from(obj: winsdk.system.Object) -> FirstSignInSettings: ...
    def first(self) -> typing.Optional[winsdk.windows.foundation.collections.IIterator[winsdk.windows.foundation.collections.IKeyValuePair[str, winsdk.system.Object]]]: ...
    @staticmethod
    def get_default() -> typing.Optional[FirstSignInSettings]: ...
    def has_key(self, key: str) -> winsdk.system.Boolean: ...
    def lookup(self, key: str) -> typing.Optional[winsdk.system.Object]: ...
    def split(self) -> typing.Tuple[typing.Optional[winsdk.windows.foundation.collections.IMapView[str, winsdk.system.Object]], typing.Optional[winsdk.windows.foundation.collections.IMapView[str, winsdk.system.Object]]]: ...

class GlobalizationPreferences(winsdk.system.Object):
    calendars: typing.ClassVar[typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]]
    clocks: typing.ClassVar[typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]]
    currencies: typing.ClassVar[typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]]
    home_geographic_region: typing.ClassVar[str]
    languages: typing.ClassVar[typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]]
    week_starts_on: typing.ClassVar[winsdk.windows.globalization.DayOfWeek]
    @staticmethod
    def _from(obj: winsdk.system.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) -> winsdk.system.Boolean: ...
    @staticmethod
    def try_set_languages(language_tags: typing.Iterable[str]) -> winsdk.system.Boolean: ...

class GlobalizationPreferencesForUser(winsdk.system.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: winsdk.system.Object) -> GlobalizationPreferencesForUser: ...

class LockScreen(winsdk.system.Object):
    original_image_file: typing.ClassVar[typing.Optional[winsdk.windows.foundation.Uri]]
    @staticmethod
    def _from(obj: winsdk.system.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]) -> winsdk.windows.foundation.IAsyncAction: ...
    @staticmethod
    def set_image_stream_async(value: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream]) -> winsdk.windows.foundation.IAsyncAction: ...
    @staticmethod
    def try_remove_image_feed() -> winsdk.system.Boolean: ...

class UserInformation(winsdk.system.Object):
    account_picture_change_enabled: typing.ClassVar[winsdk.system.Boolean]
    name_access_allowed: typing.ClassVar[winsdk.system.Boolean]
    @staticmethod
    def _from(obj: winsdk.system.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[winsdk.system.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @staticmethod
    def remove_account_picture_changed(token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

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

