# 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.streams

class LicenseRefreshOption(enum.IntEnum):
    RUNNING_LICENSES = 0
    ALL_LICENSES = 1

Self = typing.TypeVar('Self')

class LicenseManager(winsdk.system.Object):
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> LicenseManager: ...
    @staticmethod
    def add_license_async(license: typing.Optional[winsdk.windows.storage.streams.IBuffer], /) -> winsdk.windows.foundation.IAsyncAction: ...
    @staticmethod
    def get_satisfaction_infos_async(content_ids: typing.Iterable[str], key_ids: typing.Iterable[str], /) -> winsdk.windows.foundation.IAsyncOperation[LicenseSatisfactionResult]: ...
    @staticmethod
    def refresh_licenses_async(refresh_option: LicenseRefreshOption, /) -> winsdk.windows.foundation.IAsyncAction: ...

class LicenseSatisfactionInfo(winsdk.system.Object):
    is_satisfied: winsdk.system.Boolean
    satisfied_by_device: winsdk.system.Boolean
    satisfied_by_install_media: winsdk.system.Boolean
    satisfied_by_open_license: winsdk.system.Boolean
    satisfied_by_pass: winsdk.system.Boolean
    satisfied_by_signed_in_user: winsdk.system.Boolean
    satisfied_by_trial: winsdk.system.Boolean
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> LicenseSatisfactionInfo: ...

class LicenseSatisfactionResult(winsdk.system.Object):
    extended_error: winsdk.windows.foundation.HResult
    license_satisfaction_infos: typing.Optional[winsdk.windows.foundation.collections.IMapView[str, LicenseSatisfactionInfo]]
    @staticmethod
    def _from(obj: winsdk.system.Object, /) -> LicenseSatisfactionResult: ...

