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

import enum

import winsdk.system

_ns_module = winsdk.system._import_ns_module("Windows.Management.Update")

try:
    import winsdk.windows.foundation
except ImportError:
    pass

try:
    import winsdk.windows.foundation.collections
except ImportError:
    pass

class WindowsUpdateAdministratorOptions(enum.IntFlag):
    NONE = 0
    REQUIRE_ADMINISTRATOR_APPROVAL_FOR_SCANS = 0x1
    REQUIRE_ADMINISTRATOR_APPROVAL_FOR_UPDATES = 0x2
    REQUIRE_ADMINISTRATOR_APPROVAL_FOR_ACTIONS = 0x4

class WindowsUpdateAdministratorStatus(enum.IntEnum):
    SUCCEEDED = 0
    NO_ADMINISTRATOR_REGISTERED = 1
    OTHER_ADMINISTRATOR_IS_REGISTERED = 2

class WindowsUpdateAttentionRequiredReason(enum.IntEnum):
    NONE = 0
    SEEKER_UPDATE = 1
    READY_TO_REBOOT = 2
    NEED_NON_METERED_NETWORK = 3
    NEED_USER_AGREEMENT_FOR_METERED_NETWORK = 4
    NEED_NETWORK = 5
    NEED_MORE_SPACE = 6
    BATTERY_SAVER_ENABLED = 7
    NEED_USER_INTERACTION = 8
    NEED_USER_AGREEMENT_FOR_POLICY = 9
    COMPATIBILITY_ERROR = 10
    NEED_USER_INTERACTION_FOR_EULA = 11
    NEED_USER_INTERACTION_FOR_CTA = 12
    REGULATED = 13
    EXTERNAL_REBOOT = 14
    OTHER_UPDATE = 15
    BLOCKED_BY_PROVIDER = 16
    BLOCKED_BY_POST_REBOOT_FAILURE = 17
    USER_ENGAGED = 18
    BLOCKED_BY_BATTERY = 19
    EXCLUSIVITY = 20
    BLOCKED_BY_SERIALIZATION = 21
    CONFLICT_CLASS = 22
    BLOCKED_BY_ADMIN_APPROVAL = 23
    BLOCKED_BY_TOO_MANY_ATTEMPTS = 24
    BLOCKED_BY_FAILURE = 25
    DEMOTION = 26
    BLOCKED_BY_ACTIVE_HOURS = 27
    SCHEDULED_FOR_MAINTENANCE = 28
    POLICY_SCHEDULED_INSTALL_TIME = 29
    BLOCKED_BY_OOBE = 30
    DEFERRED_DURING_OOBE = 31
    DEFERRED_FOR_SUSTAINABLE_TIME = 32

_ns_module._register_WindowsUpdateAdministratorOptions(WindowsUpdateAdministratorOptions)
_ns_module._register_WindowsUpdateAdministratorStatus(WindowsUpdateAdministratorStatus)
_ns_module._register_WindowsUpdateAttentionRequiredReason(WindowsUpdateAttentionRequiredReason)

PreviewBuildsManager = _ns_module.PreviewBuildsManager
PreviewBuildsState = _ns_module.PreviewBuildsState
WindowsUpdate = _ns_module.WindowsUpdate
WindowsUpdateActionCompletedEventArgs = _ns_module.WindowsUpdateActionCompletedEventArgs
WindowsUpdateActionProgress = _ns_module.WindowsUpdateActionProgress
WindowsUpdateActionResult = _ns_module.WindowsUpdateActionResult
WindowsUpdateAdministrator = _ns_module.WindowsUpdateAdministrator
WindowsUpdateApprovalData = _ns_module.WindowsUpdateApprovalData
WindowsUpdateAttentionRequiredInfo = _ns_module.WindowsUpdateAttentionRequiredInfo
WindowsUpdateAttentionRequiredReasonChangedEventArgs = _ns_module.WindowsUpdateAttentionRequiredReasonChangedEventArgs
WindowsUpdateGetAdministratorResult = _ns_module.WindowsUpdateGetAdministratorResult
WindowsUpdateItem = _ns_module.WindowsUpdateItem
WindowsUpdateManager = _ns_module.WindowsUpdateManager
WindowsUpdateProgressChangedEventArgs = _ns_module.WindowsUpdateProgressChangedEventArgs
WindowsUpdateRestartRequestOptions = _ns_module.WindowsUpdateRestartRequestOptions
WindowsUpdateScanCompletedEventArgs = _ns_module.WindowsUpdateScanCompletedEventArgs
