# WARNING: Please don't edit this file. It was generated by Python/WinRT v3.2.1

import datetime
import sys
import types
import typing
import uuid as _uuid
from builtins import property as _property

import winrt._winrt
import winrt.system
import winrt.windows.applicationmodel as windows_applicationmodel
import winrt.windows.foundation as windows_foundation
import winrt.windows.foundation.collections as windows_foundation_collections
import winui3.microsoft.windows.applicationmodel.dynamicdependency as microsoft_windows_applicationmodel_dynamicdependency

from winui3.microsoft.windows.management.deployment import PackageDeploymentFeature, PackageDeploymentProgressStatus, PackageDeploymentStatus, PackageReadyOrNewerAvailableStatus, StubPackageOption

Self = typing.TypeVar('Self')

@typing.final
class PackageDeploymentProgress:
    @_property
    def status(self) -> PackageDeploymentProgressStatus: ...
    @_property
    def progress(self) -> winrt.system.Double: ...
    def __new__(cls, status: PackageDeploymentProgressStatus = PackageDeploymentProgressStatus(0), progress: winrt.system.Double = 0) -> PackageDeploymentProgress: ...
    def __replace__(self, /, **changes: typing.Any) -> PackageDeploymentProgress: ...
    def unpack(self) -> typing.Tuple[PackageDeploymentProgressStatus, winrt.system.Double]: ...

@typing.final
class AddPackageOptions(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Microsoft.Windows.Management.Deployment.PackageVolume Microsoft.Windows.Management.Deployment.AddPackageOptions::get_TargetVolume()
    @_property
    def target_volume(self) -> PackageVolume: ...
    # System.Void Microsoft.Windows.Management.Deployment.AddPackageOptions::put_TargetVolume(Microsoft.Windows.Management.Deployment.PackageVolume)
    @target_volume.setter
    def target_volume(self, value: PackageVolume) -> None: ...
    # Microsoft.Windows.Management.Deployment.StubPackageOption Microsoft.Windows.Management.Deployment.AddPackageOptions::get_StubPackageOption()
    @_property
    def stub_package_option(self) -> StubPackageOption: ...
    # System.Void Microsoft.Windows.Management.Deployment.AddPackageOptions::put_StubPackageOption(Microsoft.Windows.Management.Deployment.StubPackageOption)
    @stub_package_option.setter
    def stub_package_option(self, value: StubPackageOption) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.AddPackageOptions::get_StageInPlace()
    @_property
    def stage_in_place(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.AddPackageOptions::put_StageInPlace(System.Boolean)
    @stage_in_place.setter
    def stage_in_place(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.AddPackageOptions::get_RetainFilesOnFailure()
    @_property
    def retain_files_on_failure(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.AddPackageOptions::put_RetainFilesOnFailure(System.Boolean)
    @retain_files_on_failure.setter
    def retain_files_on_failure(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.AddPackageOptions::get_RequiredContentGroupOnly()
    @_property
    def required_content_group_only(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.AddPackageOptions::put_RequiredContentGroupOnly(System.Boolean)
    @required_content_group_only.setter
    def required_content_group_only(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.AddPackageOptions::get_LimitToExistingPackages()
    @_property
    def limit_to_existing_packages(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.AddPackageOptions::put_LimitToExistingPackages(System.Boolean)
    @limit_to_existing_packages.setter
    def limit_to_existing_packages(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.AddPackageOptions::get_InstallAllResources()
    @_property
    def install_all_resources(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.AddPackageOptions::put_InstallAllResources(System.Boolean)
    @install_all_resources.setter
    def install_all_resources(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.AddPackageOptions::get_ForceUpdateFromAnyVersion()
    @_property
    def force_update_from_any_version(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.AddPackageOptions::put_ForceUpdateFromAnyVersion(System.Boolean)
    @force_update_from_any_version.setter
    def force_update_from_any_version(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.AddPackageOptions::get_ForceTargetAppShutdown()
    @_property
    def force_target_app_shutdown(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.AddPackageOptions::put_ForceTargetAppShutdown(System.Boolean)
    @force_target_app_shutdown.setter
    def force_target_app_shutdown(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.AddPackageOptions::get_ForceAppShutdown()
    @_property
    def force_app_shutdown(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.AddPackageOptions::put_ForceAppShutdown(System.Boolean)
    @force_app_shutdown.setter
    def force_app_shutdown(self, value: bool) -> None: ...
    # Windows.Foundation.Uri Microsoft.Windows.Management.Deployment.AddPackageOptions::get_ExternalLocationUri()
    @_property
    def external_location_uri(self) -> windows_foundation.Uri: ...
    # System.Void Microsoft.Windows.Management.Deployment.AddPackageOptions::put_ExternalLocationUri(Windows.Foundation.Uri)
    @external_location_uri.setter
    def external_location_uri(self, value: windows_foundation.Uri) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.AddPackageOptions::get_DeveloperMode()
    @_property
    def developer_mode(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.AddPackageOptions::put_DeveloperMode(System.Boolean)
    @developer_mode.setter
    def developer_mode(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.AddPackageOptions::get_DeferRegistrationWhenPackagesAreInUse()
    @_property
    def defer_registration_when_packages_are_in_use(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.AddPackageOptions::put_DeferRegistrationWhenPackagesAreInUse(System.Boolean)
    @defer_registration_when_packages_are_in_use.setter
    def defer_registration_when_packages_are_in_use(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.AddPackageOptions::get_AllowUnsigned()
    @_property
    def allow_unsigned(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.AddPackageOptions::put_AllowUnsigned(System.Boolean)
    @allow_unsigned.setter
    def allow_unsigned(self, value: bool) -> None: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Foundation.Uri> Microsoft.Windows.Management.Deployment.AddPackageOptions::get_DependencyPackageUris()
    @_property
    def dependency_package_uris(self) -> typing.MutableSequence[windows_foundation.Uri]: ...
    # Windows.Foundation.Collections.IMap`2<Windows.Foundation.Uri,System.String> Microsoft.Windows.Management.Deployment.AddPackageOptions::get_ExpectedDigests()
    @_property
    def expected_digests(self) -> typing.MutableMapping[windows_foundation.Uri, str]: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.AddPackageOptions::get_IsExpectedDigestsSupported()
    @_property
    def is_expected_digests_supported(self) -> bool: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.AddPackageOptions::get_IsLimitToExistingPackagesSupported()
    @_property
    def is_limit_to_existing_packages_supported(self) -> bool: ...
    # Windows.Foundation.Collections.IVector`1<System.String> Microsoft.Windows.Management.Deployment.AddPackageOptions::get_OptionalPackageFamilyNames()
    @_property
    def optional_package_family_names(self) -> typing.MutableSequence[str]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Foundation.Uri> Microsoft.Windows.Management.Deployment.AddPackageOptions::get_OptionalPackageUris()
    @_property
    def optional_package_uris(self) -> typing.MutableSequence[windows_foundation.Uri]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Foundation.Uri> Microsoft.Windows.Management.Deployment.AddPackageOptions::get_RelatedPackageUris()
    @_property
    def related_package_uris(self) -> typing.MutableSequence[windows_foundation.Uri]: ...

@typing.final
class EnsureReadyOptions(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Microsoft.Windows.Management.Deployment.AddPackageOptions Microsoft.Windows.Management.Deployment.EnsureReadyOptions::get_AddPackageOptions()
    @_property
    def add_package_options(self) -> AddPackageOptions: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.EnsureReadyOptions::get_RegisterNewerIfAvailable()
    @_property
    def register_newer_if_available(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.EnsureReadyOptions::put_RegisterNewerIfAvailable(System.Boolean)
    @register_newer_if_available.setter
    def register_newer_if_available(self, value: bool) -> None: ...

@typing.final
class PackageDeploymentManager_Static(winrt._winrt.IInspectable_Static):
    # Microsoft.Windows.Management.Deployment.PackageDeploymentManager Microsoft.Windows.Management.Deployment.PackageDeploymentManager::GetDefault()
    def get_default(cls) -> PackageDeploymentManager: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.PackageDeploymentManager::IsPackageDeploymentFeatureSupported(Microsoft.Windows.Management.Deployment.PackageDeploymentFeature)
    def is_package_deployment_feature_supported(cls, feature: PackageDeploymentFeature, /) -> bool: ...

@typing.final
class PackageDeploymentManager(winrt.system.Object, metaclass=PackageDeploymentManager_Static):
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::AddPackageAsync(System.String,Microsoft.Windows.Management.Deployment.AddPackageOptions)
    def add_package_async(self, package: str, options: AddPackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::AddPackageByUriAsync(Windows.Foundation.Uri,Microsoft.Windows.Management.Deployment.AddPackageOptions)
    def add_package_by_uri_async(self, package_uri: windows_foundation.Uri, options: AddPackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::AddPackageSetAsync(Microsoft.Windows.Management.Deployment.PackageSet,Microsoft.Windows.Management.Deployment.AddPackageOptions)
    def add_package_set_async(self, package_set: PackageSet, options: AddPackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::DeprovisionPackageAsync(System.String)
    def deprovision_package_async(self, package: str, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::DeprovisionPackageByUriAsync(Windows.Foundation.Uri)
    def deprovision_package_by_uri_async(self, package_uri: windows_foundation.Uri, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::DeprovisionPackageSetAsync(Microsoft.Windows.Management.Deployment.PackageSet)
    def deprovision_package_set_async(self, package_set: PackageSet, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::EnsurePackageReadyAsync(System.String,Microsoft.Windows.Management.Deployment.EnsureReadyOptions)
    def ensure_package_ready_async(self, package: str, options: EnsureReadyOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::EnsurePackageReadyByUriAsync(Windows.Foundation.Uri,Microsoft.Windows.Management.Deployment.EnsureReadyOptions)
    def ensure_package_ready_by_uri_async(self, package_uri: windows_foundation.Uri, options: EnsureReadyOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::EnsurePackageSetReadyAsync(Microsoft.Windows.Management.Deployment.PackageSet,Microsoft.Windows.Management.Deployment.EnsureReadyOptions)
    def ensure_package_set_ready_async(self, package_set: PackageSet, options: EnsureReadyOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.PackageDeploymentManager::IsPackageProvisioned(System.String)
    def is_package_provisioned(self, package: str, /) -> bool: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.PackageDeploymentManager::IsPackageProvisionedByUri(Windows.Foundation.Uri)
    def is_package_provisioned_by_uri(self, package_uri: windows_foundation.Uri, /) -> bool: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.PackageDeploymentManager::IsPackageReady(System.String)
    def is_package_ready(self, package: str, /) -> bool: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.PackageDeploymentManager::IsPackageReadyByUri(Windows.Foundation.Uri)
    def is_package_ready_by_uri(self, package_uri: windows_foundation.Uri, /) -> bool: ...
    # Microsoft.Windows.Management.Deployment.PackageReadyOrNewerAvailableStatus Microsoft.Windows.Management.Deployment.PackageDeploymentManager::IsPackageReadyOrNewerAvailable(System.String)
    def is_package_ready_or_newer_available(self, package: str, /) -> PackageReadyOrNewerAvailableStatus: ...
    # Microsoft.Windows.Management.Deployment.PackageReadyOrNewerAvailableStatus Microsoft.Windows.Management.Deployment.PackageDeploymentManager::IsPackageReadyOrNewerAvailableByUri(Windows.Foundation.Uri)
    def is_package_ready_or_newer_available_by_uri(self, package_uri: windows_foundation.Uri, /) -> PackageReadyOrNewerAvailableStatus: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.PackageDeploymentManager::IsPackageRegistrationPending(System.String)
    def is_package_registration_pending(self, package_family_name: str, /) -> bool: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.PackageDeploymentManager::IsPackageRegistrationPendingForUser(System.String,System.String)
    def is_package_registration_pending_for_user(self, user_security_id: str, package_family_name: str, /) -> bool: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.PackageDeploymentManager::IsPackageSetProvisioned(Microsoft.Windows.Management.Deployment.PackageSet)
    def is_package_set_provisioned(self, package_set: PackageSet, /) -> bool: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.PackageDeploymentManager::IsPackageSetReady(Microsoft.Windows.Management.Deployment.PackageSet)
    def is_package_set_ready(self, package_set: PackageSet, /) -> bool: ...
    # Microsoft.Windows.Management.Deployment.PackageReadyOrNewerAvailableStatus Microsoft.Windows.Management.Deployment.PackageDeploymentManager::IsPackageSetReadyOrNewerAvailable(Microsoft.Windows.Management.Deployment.PackageSet)
    def is_package_set_ready_or_newer_available(self, package_set: PackageSet, /) -> PackageReadyOrNewerAvailableStatus: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::ProvisionPackageAsync(System.String,Microsoft.Windows.Management.Deployment.ProvisionPackageOptions)
    def provision_package_async(self, package: str, options: ProvisionPackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::ProvisionPackageByUriAsync(Windows.Foundation.Uri,Microsoft.Windows.Management.Deployment.ProvisionPackageOptions)
    def provision_package_by_uri_async(self, package_uri: windows_foundation.Uri, options: ProvisionPackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::ProvisionPackageSetAsync(Microsoft.Windows.Management.Deployment.PackageSet,Microsoft.Windows.Management.Deployment.ProvisionPackageOptions)
    def provision_package_set_async(self, package_set: PackageSet, options: ProvisionPackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::RegisterPackageAsync(System.String,Microsoft.Windows.Management.Deployment.RegisterPackageOptions)
    def register_package_async(self, package: str, options: RegisterPackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::RegisterPackageByUriAsync(Windows.Foundation.Uri,Microsoft.Windows.Management.Deployment.RegisterPackageOptions)
    def register_package_by_uri_async(self, package_uri: windows_foundation.Uri, options: RegisterPackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::RegisterPackageSetAsync(Microsoft.Windows.Management.Deployment.PackageSet,Microsoft.Windows.Management.Deployment.RegisterPackageOptions)
    def register_package_set_async(self, package_set: PackageSet, options: RegisterPackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::RemovePackageAsync(System.String,Microsoft.Windows.Management.Deployment.RemovePackageOptions)
    def remove_package_async(self, package: str, options: RemovePackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::RemovePackageByFamilyNameAsync(System.String,Microsoft.Windows.Management.Deployment.RemovePackageOptions)
    def remove_package_by_family_name_async(self, package_family_name: str, options: RemovePackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::RemovePackageByFullNameAsync(System.String,Microsoft.Windows.Management.Deployment.RemovePackageOptions)
    def remove_package_by_full_name_async(self, package_full_name: str, options: RemovePackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::RemovePackageByUriAsync(Windows.Foundation.Uri,Microsoft.Windows.Management.Deployment.RemovePackageOptions)
    def remove_package_by_uri_async(self, package_uri: windows_foundation.Uri, options: RemovePackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::RemovePackageSetAsync(Microsoft.Windows.Management.Deployment.PackageSet,Microsoft.Windows.Management.Deployment.RemovePackageOptions)
    def remove_package_set_async(self, package_set: PackageSet, options: RemovePackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::RepairPackageAsync(System.String)
    def repair_package_async(self, package: str, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::RepairPackageByUriAsync(Windows.Foundation.Uri)
    def repair_package_by_uri_async(self, package_uri: windows_foundation.Uri, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::RepairPackageSetAsync(Microsoft.Windows.Management.Deployment.PackageSet)
    def repair_package_set_async(self, package_set: PackageSet, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::ResetPackageAsync(System.String)
    def reset_package_async(self, package: str, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::ResetPackageByUriAsync(Windows.Foundation.Uri)
    def reset_package_by_uri_async(self, package_uri: windows_foundation.Uri, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::ResetPackageSetAsync(Microsoft.Windows.Management.Deployment.PackageSet)
    def reset_package_set_async(self, package_set: PackageSet, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::StagePackageAsync(System.String,Microsoft.Windows.Management.Deployment.StagePackageOptions)
    def stage_package_async(self, package: str, options: StagePackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::StagePackageByUriAsync(Windows.Foundation.Uri,Microsoft.Windows.Management.Deployment.StagePackageOptions)
    def stage_package_by_uri_async(self, package_uri: windows_foundation.Uri, options: StagePackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> Microsoft.Windows.Management.Deployment.PackageDeploymentManager::StagePackageSetAsync(Microsoft.Windows.Management.Deployment.PackageSet,Microsoft.Windows.Management.Deployment.StagePackageOptions)
    def stage_package_set_async(self, package_set: PackageSet, options: StagePackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[PackageDeploymentResult, PackageDeploymentProgress]: ...

@typing.final
class PackageDeploymentResult(winrt.system.Object):
    # System.Guid Microsoft.Windows.Management.Deployment.PackageDeploymentResult::get_ActivityId()
    @_property
    def activity_id(self) -> _uuid.UUID: ...
    # Windows.Foundation.HResult Microsoft.Windows.Management.Deployment.PackageDeploymentResult::get_Error()
    @_property
    def error(self) -> windows_foundation.HResult: ...
    # System.String Microsoft.Windows.Management.Deployment.PackageDeploymentResult::get_ErrorText()
    @_property
    def error_text(self) -> str: ...
    # Windows.Foundation.HResult Microsoft.Windows.Management.Deployment.PackageDeploymentResult::get_ExtendedError()
    @_property
    def extended_error(self) -> windows_foundation.HResult: ...
    # Microsoft.Windows.Management.Deployment.PackageDeploymentStatus Microsoft.Windows.Management.Deployment.PackageDeploymentResult::get_Status()
    @_property
    def status(self) -> PackageDeploymentStatus: ...

@typing.final
class PackageRuntimeManager_Static(winrt._winrt.IInspectable_Static):
    # Microsoft.Windows.Management.Deployment.PackageRuntimeManager Microsoft.Windows.Management.Deployment.PackageRuntimeManager::GetDefault()
    def get_default(cls) -> PackageRuntimeManager: ...

@typing.final
class PackageRuntimeManager(winrt.system.Object, metaclass=PackageRuntimeManager_Static):
    # Microsoft.Windows.Management.Deployment.PackageSetRuntimeDisposition Microsoft.Windows.Management.Deployment.PackageRuntimeManager::AddPackageSet(Microsoft.Windows.Management.Deployment.PackageSet)
    def add_package_set(self, package_set: PackageSet, /) -> PackageSetRuntimeDisposition: ...
    # Microsoft.Windows.Management.Deployment.PackageSetRuntimeDisposition Microsoft.Windows.Management.Deployment.PackageRuntimeManager::AddPackageSet(Microsoft.Windows.Management.Deployment.PackageSet,Microsoft.Windows.ApplicationModel.DynamicDependency.CreatePackageDependencyOptions,Microsoft.Windows.ApplicationModel.DynamicDependency.AddPackageDependencyOptions)
    def add_package_set_with_options(self, package_set: PackageSet, create_options: microsoft_windows_applicationmodel_dynamicdependency.CreatePackageDependencyOptions, add_options: microsoft_windows_applicationmodel_dynamicdependency.AddPackageDependencyOptions, /) -> PackageSetRuntimeDisposition: ...
    # System.Void Microsoft.Windows.Management.Deployment.PackageRuntimeManager::RemovePackageSet(Microsoft.Windows.Management.Deployment.PackageSetRuntimeDisposition)
    def remove_package_set(self, package_set_runtime_disposition: PackageSetRuntimeDisposition, /) -> None: ...

@typing.final
class PackageSet(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Foundation.Uri Microsoft.Windows.Management.Deployment.PackageSet::get_PackageUri()
    @_property
    def package_uri(self) -> windows_foundation.Uri: ...
    # System.Void Microsoft.Windows.Management.Deployment.PackageSet::put_PackageUri(Windows.Foundation.Uri)
    @package_uri.setter
    def package_uri(self, value: windows_foundation.Uri) -> None: ...
    # System.String Microsoft.Windows.Management.Deployment.PackageSet::get_Id()
    @_property
    def id(self) -> str: ...
    # System.Void Microsoft.Windows.Management.Deployment.PackageSet::put_Id(System.String)
    @id.setter
    def id(self, value: str) -> None: ...
    # Windows.Foundation.Collections.IVector`1<Microsoft.Windows.Management.Deployment.PackageSetItem> Microsoft.Windows.Management.Deployment.PackageSet::get_Items()
    @_property
    def items(self) -> typing.MutableSequence[PackageSetItem]: ...

@typing.final
class PackageSetItem(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Microsoft.Windows.ApplicationModel.DynamicDependency.PackageDependencyProcessorArchitectures Microsoft.Windows.Management.Deployment.PackageSetItem::get_ProcessorArchitectureFilter()
    @_property
    def processor_architecture_filter(self) -> microsoft_windows_applicationmodel_dynamicdependency.PackageDependencyProcessorArchitectures: ...
    # System.Void Microsoft.Windows.Management.Deployment.PackageSetItem::put_ProcessorArchitectureFilter(Microsoft.Windows.ApplicationModel.DynamicDependency.PackageDependencyProcessorArchitectures)
    @processor_architecture_filter.setter
    def processor_architecture_filter(self, value: microsoft_windows_applicationmodel_dynamicdependency.PackageDependencyProcessorArchitectures) -> None: ...
    # Windows.Foundation.Uri Microsoft.Windows.Management.Deployment.PackageSetItem::get_PackageUri()
    @_property
    def package_uri(self) -> windows_foundation.Uri: ...
    # System.Void Microsoft.Windows.Management.Deployment.PackageSetItem::put_PackageUri(Windows.Foundation.Uri)
    @package_uri.setter
    def package_uri(self, value: windows_foundation.Uri) -> None: ...
    # System.String Microsoft.Windows.Management.Deployment.PackageSetItem::get_PackageFamilyName()
    @_property
    def package_family_name(self) -> str: ...
    # System.Void Microsoft.Windows.Management.Deployment.PackageSetItem::put_PackageFamilyName(System.String)
    @package_family_name.setter
    def package_family_name(self, value: str) -> None: ...
    # Windows.ApplicationModel.PackageVersion Microsoft.Windows.Management.Deployment.PackageSetItem::get_MinVersion()
    @_property
    def min_version(self) -> windows_applicationmodel.PackageVersion: ...
    # System.Void Microsoft.Windows.Management.Deployment.PackageSetItem::put_MinVersion(Windows.ApplicationModel.PackageVersion)
    @min_version.setter
    def min_version(self, value: typing.Union[windows_applicationmodel.PackageVersion, typing.Tuple[winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16]]) -> None: ...
    # System.String Microsoft.Windows.Management.Deployment.PackageSetItem::get_Id()
    @_property
    def id(self) -> str: ...
    # System.Void Microsoft.Windows.Management.Deployment.PackageSetItem::put_Id(System.String)
    @id.setter
    def id(self, value: str) -> None: ...

@typing.final
class PackageSetItemRuntimeDisposition(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Microsoft.Windows.ApplicationModel.DynamicDependency.PackageDependencyContextId Microsoft.Windows.Management.Deployment.PackageSetItemRuntimeDisposition::get_PackageDependencyContextId()
    @_property
    def package_dependency_context_id(self) -> microsoft_windows_applicationmodel_dynamicdependency.PackageDependencyContextId: ...
    # System.String Microsoft.Windows.Management.Deployment.PackageSetItemRuntimeDisposition::get_PackageDependencyId()
    @_property
    def package_dependency_id(self) -> str: ...
    # System.String Microsoft.Windows.Management.Deployment.PackageSetItemRuntimeDisposition::get_PackageFullName()
    @_property
    def package_full_name(self) -> str: ...
    # System.String Microsoft.Windows.Management.Deployment.PackageSetItemRuntimeDisposition::get_PackageSetItemId()
    @_property
    def package_set_item_id(self) -> str: ...

@typing.final
class PackageSetRuntimeDisposition(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.String Microsoft.Windows.Management.Deployment.PackageSetRuntimeDisposition::get_PackageSetId()
    @_property
    def package_set_id(self) -> str: ...
    # System.Void Microsoft.Windows.Management.Deployment.PackageSetRuntimeDisposition::put_PackageSetId(System.String)
    @package_set_id.setter
    def package_set_id(self, value: str) -> None: ...
    # Windows.Foundation.Collections.IVector`1<Microsoft.Windows.Management.Deployment.PackageSetItemRuntimeDisposition> Microsoft.Windows.Management.Deployment.PackageSetRuntimeDisposition::get_PackageSetItemRuntimeDispositions()
    @_property
    def package_set_item_runtime_dispositions(self) -> typing.MutableSequence[PackageSetItemRuntimeDisposition]: ...

@typing.final
class PackageVolume_Static(winrt._winrt.IInspectable_Static):
    # Microsoft.Windows.Management.Deployment.PackageVolume Microsoft.Windows.Management.Deployment.PackageVolume::FindPackageVolumeByName(System.String)
    def find_package_volume_by_name(cls, name: str, /) -> PackageVolume: ...
    # Microsoft.Windows.Management.Deployment.PackageVolume Microsoft.Windows.Management.Deployment.PackageVolume::FindPackageVolumeByPath(System.String)
    def find_package_volume_by_path(cls, package_store_path: str, /) -> PackageVolume: ...
    # Windows.Foundation.Collections.IVector`1<Microsoft.Windows.Management.Deployment.PackageVolume> Microsoft.Windows.Management.Deployment.PackageVolume::FindPackageVolumes()
    def find_package_volumes(cls) -> typing.MutableSequence[PackageVolume]: ...

@typing.final
class PackageVolume(winrt.system.Object, metaclass=PackageVolume_Static):
    # System.Boolean Microsoft.Windows.Management.Deployment.PackageVolume::IsRepairNeeded()
    def is_repair_needed(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.PackageVolume::Repair()
    def repair(self) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.PackageVolume::get_IsAppxInstallSupported()
    @_property
    def is_appx_install_supported(self) -> bool: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.PackageVolume::get_IsFullTrustPackageSupported()
    @_property
    def is_full_trust_package_supported(self) -> bool: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.PackageVolume::get_IsSystemVolume()
    @_property
    def is_system_volume(self) -> bool: ...
    # System.String Microsoft.Windows.Management.Deployment.PackageVolume::get_MountPoint()
    @_property
    def mount_point(self) -> str: ...
    # System.String Microsoft.Windows.Management.Deployment.PackageVolume::get_Name()
    @_property
    def name(self) -> str: ...
    # System.String Microsoft.Windows.Management.Deployment.PackageVolume::get_PackageStorePath()
    @_property
    def package_store_path(self) -> str: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.PackageVolume::get_SupportsHardLinks()
    @_property
    def supports_hard_links(self) -> bool: ...

@typing.final
class ProvisionPackageOptions(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.ProvisionPackageOptions::get_IsOptionalPackageFamilyNamesSupported()
    @_property
    def is_optional_package_family_names_supported(self) -> bool: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.ProvisionPackageOptions::get_IsProjectionOrderPackageFamilyNamesSupported()
    @_property
    def is_projection_order_package_family_names_supported(self) -> bool: ...
    # Windows.Foundation.Collections.IVector`1<System.String> Microsoft.Windows.Management.Deployment.ProvisionPackageOptions::get_OptionalPackageFamilyNames()
    @_property
    def optional_package_family_names(self) -> typing.MutableSequence[str]: ...
    # Windows.Foundation.Collections.IVector`1<System.String> Microsoft.Windows.Management.Deployment.ProvisionPackageOptions::get_ProjectionOrderPackageFamilyNames()
    @_property
    def projection_order_package_family_names(self) -> typing.MutableSequence[str]: ...

@typing.final
class RegisterPackageOptions(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.RegisterPackageOptions::get_StageInPlace()
    @_property
    def stage_in_place(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.RegisterPackageOptions::put_StageInPlace(System.Boolean)
    @stage_in_place.setter
    def stage_in_place(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.RegisterPackageOptions::get_InstallAllResources()
    @_property
    def install_all_resources(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.RegisterPackageOptions::put_InstallAllResources(System.Boolean)
    @install_all_resources.setter
    def install_all_resources(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.RegisterPackageOptions::get_ForceUpdateFromAnyVersion()
    @_property
    def force_update_from_any_version(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.RegisterPackageOptions::put_ForceUpdateFromAnyVersion(System.Boolean)
    @force_update_from_any_version.setter
    def force_update_from_any_version(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.RegisterPackageOptions::get_ForceTargetAppShutdown()
    @_property
    def force_target_app_shutdown(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.RegisterPackageOptions::put_ForceTargetAppShutdown(System.Boolean)
    @force_target_app_shutdown.setter
    def force_target_app_shutdown(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.RegisterPackageOptions::get_ForceAppShutdown()
    @_property
    def force_app_shutdown(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.RegisterPackageOptions::put_ForceAppShutdown(System.Boolean)
    @force_app_shutdown.setter
    def force_app_shutdown(self, value: bool) -> None: ...
    # Windows.Foundation.Uri Microsoft.Windows.Management.Deployment.RegisterPackageOptions::get_ExternalLocationUri()
    @_property
    def external_location_uri(self) -> windows_foundation.Uri: ...
    # System.Void Microsoft.Windows.Management.Deployment.RegisterPackageOptions::put_ExternalLocationUri(Windows.Foundation.Uri)
    @external_location_uri.setter
    def external_location_uri(self, value: windows_foundation.Uri) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.RegisterPackageOptions::get_DeveloperMode()
    @_property
    def developer_mode(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.RegisterPackageOptions::put_DeveloperMode(System.Boolean)
    @developer_mode.setter
    def developer_mode(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.RegisterPackageOptions::get_DeferRegistrationWhenPackagesAreInUse()
    @_property
    def defer_registration_when_packages_are_in_use(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.RegisterPackageOptions::put_DeferRegistrationWhenPackagesAreInUse(System.Boolean)
    @defer_registration_when_packages_are_in_use.setter
    def defer_registration_when_packages_are_in_use(self, value: bool) -> None: ...
    # Microsoft.Windows.Management.Deployment.PackageVolume Microsoft.Windows.Management.Deployment.RegisterPackageOptions::get_AppDataVolume()
    @_property
    def app_data_volume(self) -> PackageVolume: ...
    # System.Void Microsoft.Windows.Management.Deployment.RegisterPackageOptions::put_AppDataVolume(Microsoft.Windows.Management.Deployment.PackageVolume)
    @app_data_volume.setter
    def app_data_volume(self, value: PackageVolume) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.RegisterPackageOptions::get_AllowUnsigned()
    @_property
    def allow_unsigned(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.RegisterPackageOptions::put_AllowUnsigned(System.Boolean)
    @allow_unsigned.setter
    def allow_unsigned(self, value: bool) -> None: ...
    # Windows.Foundation.Collections.IVector`1<System.String> Microsoft.Windows.Management.Deployment.RegisterPackageOptions::get_DependencyPackageFamilyNames()
    @_property
    def dependency_package_family_names(self) -> typing.MutableSequence[str]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Foundation.Uri> Microsoft.Windows.Management.Deployment.RegisterPackageOptions::get_DependencyPackageUris()
    @_property
    def dependency_package_uris(self) -> typing.MutableSequence[windows_foundation.Uri]: ...
    # Windows.Foundation.Collections.IMap`2<Windows.Foundation.Uri,System.String> Microsoft.Windows.Management.Deployment.RegisterPackageOptions::get_ExpectedDigests()
    @_property
    def expected_digests(self) -> typing.MutableMapping[windows_foundation.Uri, str]: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.RegisterPackageOptions::get_IsExpectedDigestsSupported()
    @_property
    def is_expected_digests_supported(self) -> bool: ...
    # Windows.Foundation.Collections.IVector`1<System.String> Microsoft.Windows.Management.Deployment.RegisterPackageOptions::get_OptionalPackageFamilyNames()
    @_property
    def optional_package_family_names(self) -> typing.MutableSequence[str]: ...

@typing.final
class RemovePackageOptions(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.RemovePackageOptions::get_RemoveForAllUsers()
    @_property
    def remove_for_all_users(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.RemovePackageOptions::put_RemoveForAllUsers(System.Boolean)
    @remove_for_all_users.setter
    def remove_for_all_users(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.RemovePackageOptions::get_PreserveRoamableApplicationData()
    @_property
    def preserve_roamable_application_data(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.RemovePackageOptions::put_PreserveRoamableApplicationData(System.Boolean)
    @preserve_roamable_application_data.setter
    def preserve_roamable_application_data(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.RemovePackageOptions::get_PreserveApplicationData()
    @_property
    def preserve_application_data(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.RemovePackageOptions::put_PreserveApplicationData(System.Boolean)
    @preserve_application_data.setter
    def preserve_application_data(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.RemovePackageOptions::get_FailIfNotFound()
    @_property
    def fail_if_not_found(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.RemovePackageOptions::put_FailIfNotFound(System.Boolean)
    @fail_if_not_found.setter
    def fail_if_not_found(self, value: bool) -> None: ...

@typing.final
class StagePackageOptions(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Microsoft.Windows.Management.Deployment.PackageVolume Microsoft.Windows.Management.Deployment.StagePackageOptions::get_TargetVolume()
    @_property
    def target_volume(self) -> PackageVolume: ...
    # System.Void Microsoft.Windows.Management.Deployment.StagePackageOptions::put_TargetVolume(Microsoft.Windows.Management.Deployment.PackageVolume)
    @target_volume.setter
    def target_volume(self, value: PackageVolume) -> None: ...
    # Microsoft.Windows.Management.Deployment.StubPackageOption Microsoft.Windows.Management.Deployment.StagePackageOptions::get_StubPackageOption()
    @_property
    def stub_package_option(self) -> StubPackageOption: ...
    # System.Void Microsoft.Windows.Management.Deployment.StagePackageOptions::put_StubPackageOption(Microsoft.Windows.Management.Deployment.StubPackageOption)
    @stub_package_option.setter
    def stub_package_option(self, value: StubPackageOption) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.StagePackageOptions::get_StageInPlace()
    @_property
    def stage_in_place(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.StagePackageOptions::put_StageInPlace(System.Boolean)
    @stage_in_place.setter
    def stage_in_place(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.StagePackageOptions::get_RequiredContentGroupOnly()
    @_property
    def required_content_group_only(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.StagePackageOptions::put_RequiredContentGroupOnly(System.Boolean)
    @required_content_group_only.setter
    def required_content_group_only(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.StagePackageOptions::get_InstallAllResources()
    @_property
    def install_all_resources(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.StagePackageOptions::put_InstallAllResources(System.Boolean)
    @install_all_resources.setter
    def install_all_resources(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.StagePackageOptions::get_ForceUpdateFromAnyVersion()
    @_property
    def force_update_from_any_version(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.StagePackageOptions::put_ForceUpdateFromAnyVersion(System.Boolean)
    @force_update_from_any_version.setter
    def force_update_from_any_version(self, value: bool) -> None: ...
    # Windows.Foundation.Uri Microsoft.Windows.Management.Deployment.StagePackageOptions::get_ExternalLocationUri()
    @_property
    def external_location_uri(self) -> windows_foundation.Uri: ...
    # System.Void Microsoft.Windows.Management.Deployment.StagePackageOptions::put_ExternalLocationUri(Windows.Foundation.Uri)
    @external_location_uri.setter
    def external_location_uri(self, value: windows_foundation.Uri) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.StagePackageOptions::get_DeveloperMode()
    @_property
    def developer_mode(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.StagePackageOptions::put_DeveloperMode(System.Boolean)
    @developer_mode.setter
    def developer_mode(self, value: bool) -> None: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.StagePackageOptions::get_AllowUnsigned()
    @_property
    def allow_unsigned(self) -> bool: ...
    # System.Void Microsoft.Windows.Management.Deployment.StagePackageOptions::put_AllowUnsigned(System.Boolean)
    @allow_unsigned.setter
    def allow_unsigned(self, value: bool) -> None: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Foundation.Uri> Microsoft.Windows.Management.Deployment.StagePackageOptions::get_DependencyPackageUris()
    @_property
    def dependency_package_uris(self) -> typing.MutableSequence[windows_foundation.Uri]: ...
    # Windows.Foundation.Collections.IMap`2<Windows.Foundation.Uri,System.String> Microsoft.Windows.Management.Deployment.StagePackageOptions::get_ExpectedDigests()
    @_property
    def expected_digests(self) -> typing.MutableMapping[windows_foundation.Uri, str]: ...
    # System.Boolean Microsoft.Windows.Management.Deployment.StagePackageOptions::get_IsExpectedDigestsSupported()
    @_property
    def is_expected_digests_supported(self) -> bool: ...
    # Windows.Foundation.Collections.IVector`1<System.String> Microsoft.Windows.Management.Deployment.StagePackageOptions::get_OptionalPackageFamilyNames()
    @_property
    def optional_package_family_names(self) -> typing.MutableSequence[str]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Foundation.Uri> Microsoft.Windows.Management.Deployment.StagePackageOptions::get_OptionalPackageUris()
    @_property
    def optional_package_uris(self) -> typing.MutableSequence[windows_foundation.Uri]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Foundation.Uri> Microsoft.Windows.Management.Deployment.StagePackageOptions::get_RelatedPackageUris()
    @_property
    def related_package_uris(self) -> typing.MutableSequence[windows_foundation.Uri]: ...

