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

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.storage
import winsdk.windows.storage.streams
import winsdk.windows.ui

class ResourceCandidateKind(enum.IntEnum):
    STRING = 0
    FILE = 1
    EMBEDDED_DATA = 2

class ResourceQualifierPersistence(enum.IntEnum):
    NONE = 0
    LOCAL_MACHINE = 1

Self = typing.TypeVar('Self')

class ResourceLayoutInfo:
    major_version: winsdk.system.UInt32
    minor_version: winsdk.system.UInt32
    resource_subtree_count: winsdk.system.UInt32
    named_resource_count: winsdk.system.UInt32
    checksum: winsdk.system.Int32
    def __new__(cls: typing.Type[ResourceLayoutInfo], major_version: winsdk.system.UInt32, minor_version: winsdk.system.UInt32, resource_subtree_count: winsdk.system.UInt32, named_resource_count: winsdk.system.UInt32, checksum: winsdk.system.Int32) -> ResourceLayoutInfo: ...

class NamedResource(winsdk.system.Object):
    candidates: typing.Optional[winsdk.windows.foundation.collections.IVectorView[ResourceCandidate]]
    uri: typing.Optional[winsdk.windows.foundation.Uri]
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> NamedResource: ...
    @typing.overload
    def resolve(self) -> typing.Optional[ResourceCandidate]: ...
    @typing.overload
    def resolve(self, resource_context: typing.Optional[ResourceContext], /) -> typing.Optional[ResourceCandidate]: ...
    @typing.overload
    def resolve_all(self) -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[ResourceCandidate]]: ...
    @typing.overload
    def resolve_all(self, resource_context: typing.Optional[ResourceContext], /) -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[ResourceCandidate]]: ...

class ResourceCandidate(winsdk.system.Object):
    is_default: winsdk.system.Boolean
    is_match: winsdk.system.Boolean
    is_match_as_default: winsdk.system.Boolean
    qualifiers: typing.Optional[winsdk.windows.foundation.collections.IVectorView[ResourceQualifier]]
    value_as_string: str
    kind: ResourceCandidateKind
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> ResourceCandidate: ...
    def get_qualifier_value(self, qualifier_name: str, /) -> str: ...
    def get_value_as_file_async(self) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.storage.StorageFile]: ...
    def get_value_as_stream_async(self) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.storage.streams.IRandomAccessStream]: ...

class ResourceCandidateVectorView(winsdk.system.Object, typing.Sequence[ResourceCandidate]):
    size: winsdk.system.UInt32
    def __len__(self) -> int: ...
    @typing.overload
    def __getitem__(self, index: int) -> ResourceCandidate: ...
    @typing.overload
    def __getitem__(self, index: slice) -> winsdk.system.Array[ResourceCandidate]: ...
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> ResourceCandidateVectorView: ...
    def first(self) -> typing.Optional[winsdk.windows.foundation.collections.IIterator[ResourceCandidate]]: ...
    def get_at(self, index: winsdk.system.UInt32, /) -> typing.Optional[ResourceCandidate]: ...
    def get_many(self, start_index: winsdk.system.UInt32, items: winsdk.system.Array[ResourceCandidate], /) -> winsdk.system.UInt32: ...
    def index_of(self, value: typing.Optional[ResourceCandidate], /) -> typing.Tuple[winsdk.system.Boolean, winsdk.system.UInt32]: ...

class ResourceContext(winsdk.system.Object):
    languages: typing.Optional[winsdk.windows.foundation.collections.IVectorView[str]]
    qualifier_values: typing.Optional[winsdk.windows.foundation.collections.IObservableMap[str, str]]
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> ResourceContext: ...
    def __new__(cls: typing.Type[ResourceContext]) -> ResourceContext:...
    def clone(self) -> typing.Optional[ResourceContext]: ...
    @staticmethod
    def create_matching_context(result: typing.Iterable[ResourceQualifier], /) -> typing.Optional[ResourceContext]: ...
    @staticmethod
    def get_for_current_view() -> typing.Optional[ResourceContext]: ...
    @staticmethod
    def get_for_u_i_context(context: typing.Optional[winsdk.windows.ui.UIContext], /) -> typing.Optional[ResourceContext]: ...
    @staticmethod
    def get_for_view_independent_use() -> typing.Optional[ResourceContext]: ...
    def override_to_match(self, result: typing.Iterable[ResourceQualifier], /) -> None: ...
    @typing.overload
    def reset(self) -> None: ...
    @typing.overload
    def reset(self, qualifier_names: typing.Iterable[str], /) -> None: ...
    @typing.overload
    @staticmethod
    def reset_global_qualifier_values() -> None: ...
    @typing.overload
    @staticmethod
    def reset_global_qualifier_values(qualifier_names: typing.Iterable[str], /) -> None: ...
    @typing.overload
    @staticmethod
    def set_global_qualifier_value(key: str, value: str, /) -> None: ...
    @typing.overload
    @staticmethod
    def set_global_qualifier_value(key: str, value: str, persistence: ResourceQualifierPersistence, /) -> None: ...

class ResourceContextLanguagesVectorView(winsdk.system.Object, typing.Sequence[str]):
    size: winsdk.system.UInt32
    def __len__(self) -> int: ...
    @typing.overload
    def __getitem__(self, index: int) -> str: ...
    @typing.overload
    def __getitem__(self, index: slice) -> winsdk.system.Array[str]: ...
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> ResourceContextLanguagesVectorView: ...
    def first(self) -> typing.Optional[winsdk.windows.foundation.collections.IIterator[str]]: ...
    def get_at(self, index: winsdk.system.UInt32, /) -> str: ...
    def get_many(self, start_index: winsdk.system.UInt32, items: winsdk.system.Array[str], /) -> winsdk.system.UInt32: ...
    def index_of(self, value: str, /) -> typing.Tuple[winsdk.system.Boolean, winsdk.system.UInt32]: ...

class ResourceManager(winsdk.system.Object):
    all_resource_maps: typing.Optional[winsdk.windows.foundation.collections.IMapView[str, ResourceMap]]
    default_context: typing.Optional[ResourceContext]
    main_resource_map: typing.Optional[ResourceMap]
    current: typing.ClassVar[typing.Optional[ResourceManager]]
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> ResourceManager: ...
    def get_all_named_resources_for_package(self, package_name: str, resource_layout_info: ResourceLayoutInfo, /) -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[NamedResource]]: ...
    def get_all_subtrees_for_package(self, package_name: str, resource_layout_info: ResourceLayoutInfo, /) -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[ResourceMap]]: ...
    @staticmethod
    def is_resource_reference(resource_reference: str, /) -> winsdk.system.Boolean: ...
    def load_pri_files(self, files: typing.Iterable[winsdk.windows.storage.IStorageFile], /) -> None: ...
    def unload_pri_files(self, files: typing.Iterable[winsdk.windows.storage.IStorageFile], /) -> None: ...

class ResourceMap(winsdk.system.Object, typing.Mapping[str, NamedResource]):
    uri: typing.Optional[winsdk.windows.foundation.Uri]
    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) -> NamedResource: ...
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> ResourceMap: ...
    def first(self) -> typing.Optional[winsdk.windows.foundation.collections.IIterator[winsdk.windows.foundation.collections.IKeyValuePair[str, NamedResource]]]: ...
    def get_subtree(self, reference: str, /) -> typing.Optional[ResourceMap]: ...
    @typing.overload
    def get_value(self, resource: str, /) -> typing.Optional[ResourceCandidate]: ...
    @typing.overload
    def get_value(self, resource: str, context: typing.Optional[ResourceContext], /) -> typing.Optional[ResourceCandidate]: ...
    def has_key(self, key: str, /) -> winsdk.system.Boolean: ...
    def lookup(self, key: str, /) -> typing.Optional[NamedResource]: ...
    def split(self) -> typing.Tuple[typing.Optional[winsdk.windows.foundation.collections.IMapView[str, NamedResource]], typing.Optional[winsdk.windows.foundation.collections.IMapView[str, NamedResource]]]: ...

class ResourceMapIterator(winsdk.system.Object):
    current: typing.Optional[winsdk.windows.foundation.collections.IKeyValuePair[str, NamedResource]]
    has_current: winsdk.system.Boolean
    def __iter__(self: Self) -> Self: ...
    def __next__(self) -> winsdk.windows.foundation.collections.IKeyValuePair[str, NamedResource]: ...
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> ResourceMapIterator: ...
    def get_many(self, items: winsdk.system.Array[winsdk.windows.foundation.collections.IKeyValuePair[str, NamedResource]], /) -> winsdk.system.UInt32: ...
    def move_next(self) -> winsdk.system.Boolean: ...

class ResourceMapMapView(winsdk.system.Object, typing.Mapping[str, ResourceMap]):
    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) -> ResourceMap: ...
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> ResourceMapMapView: ...
    def first(self) -> typing.Optional[winsdk.windows.foundation.collections.IIterator[winsdk.windows.foundation.collections.IKeyValuePair[str, ResourceMap]]]: ...
    def has_key(self, key: str, /) -> winsdk.system.Boolean: ...
    def lookup(self, key: str, /) -> typing.Optional[ResourceMap]: ...
    def split(self) -> typing.Tuple[typing.Optional[winsdk.windows.foundation.collections.IMapView[str, ResourceMap]], typing.Optional[winsdk.windows.foundation.collections.IMapView[str, ResourceMap]]]: ...

class ResourceMapMapViewIterator(winsdk.system.Object):
    current: typing.Optional[winsdk.windows.foundation.collections.IKeyValuePair[str, ResourceMap]]
    has_current: winsdk.system.Boolean
    def __iter__(self: Self) -> Self: ...
    def __next__(self) -> winsdk.windows.foundation.collections.IKeyValuePair[str, ResourceMap]: ...
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> ResourceMapMapViewIterator: ...
    def get_many(self, items: winsdk.system.Array[winsdk.windows.foundation.collections.IKeyValuePair[str, ResourceMap]], /) -> winsdk.system.UInt32: ...
    def move_next(self) -> winsdk.system.Boolean: ...

class ResourceQualifier(winsdk.system.Object):
    is_default: winsdk.system.Boolean
    is_match: winsdk.system.Boolean
    qualifier_name: str
    qualifier_value: str
    score: winsdk.system.Double
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> ResourceQualifier: ...

class ResourceQualifierMapView(winsdk.system.Object, typing.Mapping[str, str]):
    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) -> str: ...
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> ResourceQualifierMapView: ...
    def first(self) -> typing.Optional[winsdk.windows.foundation.collections.IIterator[winsdk.windows.foundation.collections.IKeyValuePair[str, str]]]: ...
    def has_key(self, key: str, /) -> winsdk.system.Boolean: ...
    def lookup(self, key: str, /) -> str: ...
    def split(self) -> typing.Tuple[typing.Optional[winsdk.windows.foundation.collections.IMapView[str, str]], typing.Optional[winsdk.windows.foundation.collections.IMapView[str, str]]]: ...

class ResourceQualifierObservableMap(winsdk.system.Object, typing.MutableMapping[str, str]):
    size: winsdk.system.UInt32
    def __len__(self) -> int: ...
    def __iter__(self) -> typing.Iterator[str]: ...
    def __contains__(self, key: object) -> bool:...
    def __setitem__(self, key: str, value: str) -> None: ...
    def __getitem__(self, key: str) -> str: ...
    def __delitem__(self, key: str) -> None: ...
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> ResourceQualifierObservableMap: ...
    def clear(self) -> None: ...
    def first(self) -> typing.Optional[winsdk.windows.foundation.collections.IIterator[winsdk.windows.foundation.collections.IKeyValuePair[str, str]]]: ...
    def get_view(self) -> typing.Optional[winsdk.windows.foundation.collections.IMapView[str, str]]: ...
    def has_key(self, key: str, /) -> winsdk.system.Boolean: ...
    def insert(self, key: str, value: str, /) -> winsdk.system.Boolean: ...
    def lookup(self, key: str, /) -> str: ...
    def remove(self, key: str, /) -> None: ...
    def add_map_changed(self, vhnd: winsdk.windows.foundation.collections.MapChangedEventHandler[str, str], /) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_map_changed(self, token: winsdk.windows.foundation.EventRegistrationToken, /) -> None: ...

class ResourceQualifierVectorView(winsdk.system.Object, typing.Sequence[ResourceQualifier]):
    size: winsdk.system.UInt32
    def __len__(self) -> int: ...
    @typing.overload
    def __getitem__(self, index: int) -> ResourceQualifier: ...
    @typing.overload
    def __getitem__(self, index: slice) -> winsdk.system.Array[ResourceQualifier]: ...
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> ResourceQualifierVectorView: ...
    def first(self) -> typing.Optional[winsdk.windows.foundation.collections.IIterator[ResourceQualifier]]: ...
    def get_at(self, index: winsdk.system.UInt32, /) -> typing.Optional[ResourceQualifier]: ...
    def get_many(self, start_index: winsdk.system.UInt32, items: winsdk.system.Array[ResourceQualifier], /) -> winsdk.system.UInt32: ...
    def index_of(self, value: typing.Optional[ResourceQualifier], /) -> typing.Tuple[winsdk.system.Boolean, winsdk.system.UInt32]: ...

