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

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

from winrt.windows.management.deployment import AddPackageByAppInstallerOptions, DeploymentOptions, DeploymentProgressState, PackageInstallState, PackageState, PackageStatus, PackageStubPreference, PackageTypes, RemovalOptions, SharedPackageContainerCreationCollisionOptions, SharedPackageContainerOperationStatus, StubPackageOption

Self = typing.TypeVar('Self')

@typing.final
class DeploymentProgress:
    @_property
    def state(self) -> DeploymentProgressState: ...
    @_property
    def percentage(self) -> winrt.system.UInt32: ...
    def __new__(cls, state: DeploymentProgressState = DeploymentProgressState(0), percentage: winrt.system.UInt32 = 0) -> DeploymentProgress: ...
    def __replace__(self, /, **changes: typing.Any) -> DeploymentProgress: ...
    def unpack(self) -> typing.Tuple[DeploymentProgressState, winrt.system.UInt32]: ...

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

@typing.final
class AppInstallerManager_Static(winrt._winrt.IInspectable_Static):
    # Windows.Management.Deployment.AppInstallerManager Windows.Management.Deployment.AppInstallerManager::GetDefault()
    def get_default(cls) -> AppInstallerManager: ...
    # Windows.Management.Deployment.AppInstallerManager Windows.Management.Deployment.AppInstallerManager::GetForSystem()
    def get_for_system(cls) -> AppInstallerManager: ...

@typing.final
class AppInstallerManager(winrt.system.Object, metaclass=AppInstallerManager_Static):
    # System.Void Windows.Management.Deployment.AppInstallerManager::ClearAutoUpdateSettings(System.String)
    def clear_auto_update_settings(self, package_family_name: str, /) -> None: ...
    # System.Void Windows.Management.Deployment.AppInstallerManager::PauseAutoUpdatesUntil(System.String,Windows.Foundation.DateTime)
    def pause_auto_updates_until(self, package_family_name: str, date_time: datetime.datetime, /) -> None: ...
    # System.Void Windows.Management.Deployment.AppInstallerManager::SetAutoUpdateSettings(System.String,Windows.Management.Deployment.AutoUpdateSettingsOptions)
    def set_auto_update_settings(self, package_family_name: str, app_installer_info: AutoUpdateSettingsOptions, /) -> None: ...

@typing.final
class AutoUpdateSettingsOptions_Static(winrt._winrt.IInspectable_Static):
    # Windows.Management.Deployment.AutoUpdateSettingsOptions Windows.Management.Deployment.AutoUpdateSettingsOptions::CreateFromAppInstallerInfo(Windows.ApplicationModel.AppInstallerInfo)
    def create_from_app_installer_info(cls, app_installer_info: windows_applicationmodel.AppInstallerInfo, /) -> AutoUpdateSettingsOptions: ...

@typing.final
class AutoUpdateSettingsOptions(winrt.system.Object, metaclass=AutoUpdateSettingsOptions_Static):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.ApplicationModel.PackageVersion Windows.Management.Deployment.AutoUpdateSettingsOptions::get_Version()
    @_property
    def version(self) -> windows_applicationmodel.PackageVersion: ...
    # System.Void Windows.Management.Deployment.AutoUpdateSettingsOptions::put_Version(Windows.ApplicationModel.PackageVersion)
    @version.setter
    def version(self, value: typing.Union[windows_applicationmodel.PackageVersion, typing.Tuple[winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16, winrt.system.UInt16]]) -> None: ...
    # System.Boolean Windows.Management.Deployment.AutoUpdateSettingsOptions::get_UpdateBlocksActivation()
    @_property
    def update_blocks_activation(self) -> bool: ...
    # System.Void Windows.Management.Deployment.AutoUpdateSettingsOptions::put_UpdateBlocksActivation(System.Boolean)
    @update_blocks_activation.setter
    def update_blocks_activation(self, value: bool) -> None: ...
    # System.Boolean Windows.Management.Deployment.AutoUpdateSettingsOptions::get_ShowPrompt()
    @_property
    def show_prompt(self) -> bool: ...
    # System.Void Windows.Management.Deployment.AutoUpdateSettingsOptions::put_ShowPrompt(System.Boolean)
    @show_prompt.setter
    def show_prompt(self, value: bool) -> None: ...
    # System.Boolean Windows.Management.Deployment.AutoUpdateSettingsOptions::get_OnLaunch()
    @_property
    def on_launch(self) -> bool: ...
    # System.Void Windows.Management.Deployment.AutoUpdateSettingsOptions::put_OnLaunch(System.Boolean)
    @on_launch.setter
    def on_launch(self, value: bool) -> None: ...
    # System.Boolean Windows.Management.Deployment.AutoUpdateSettingsOptions::get_IsAutoRepairEnabled()
    @_property
    def is_auto_repair_enabled(self) -> bool: ...
    # System.Void Windows.Management.Deployment.AutoUpdateSettingsOptions::put_IsAutoRepairEnabled(System.Boolean)
    @is_auto_repair_enabled.setter
    def is_auto_repair_enabled(self, value: bool) -> None: ...
    # System.UInt32 Windows.Management.Deployment.AutoUpdateSettingsOptions::get_HoursBetweenUpdateChecks()
    @_property
    def hours_between_update_checks(self) -> winrt.system.UInt32: ...
    # System.Void Windows.Management.Deployment.AutoUpdateSettingsOptions::put_HoursBetweenUpdateChecks(System.UInt32)
    @hours_between_update_checks.setter
    def hours_between_update_checks(self, value: winrt.system.UInt32) -> None: ...
    # System.Boolean Windows.Management.Deployment.AutoUpdateSettingsOptions::get_ForceUpdateFromAnyVersion()
    @_property
    def force_update_from_any_version(self) -> bool: ...
    # System.Void Windows.Management.Deployment.AutoUpdateSettingsOptions::put_ForceUpdateFromAnyVersion(System.Boolean)
    @force_update_from_any_version.setter
    def force_update_from_any_version(self, value: bool) -> None: ...
    # System.Boolean Windows.Management.Deployment.AutoUpdateSettingsOptions::get_AutomaticBackgroundTask()
    @_property
    def automatic_background_task(self) -> bool: ...
    # System.Void Windows.Management.Deployment.AutoUpdateSettingsOptions::put_AutomaticBackgroundTask(System.Boolean)
    @automatic_background_task.setter
    def automatic_background_task(self, value: bool) -> None: ...
    # Windows.Foundation.Uri Windows.Management.Deployment.AutoUpdateSettingsOptions::get_AppInstallerUri()
    @_property
    def app_installer_uri(self) -> windows_foundation.Uri: ...
    # System.Void Windows.Management.Deployment.AutoUpdateSettingsOptions::put_AppInstallerUri(Windows.Foundation.Uri)
    @app_installer_uri.setter
    def app_installer_uri(self, value: windows_foundation.Uri) -> None: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Foundation.Uri> Windows.Management.Deployment.AutoUpdateSettingsOptions::get_DependencyPackageUris()
    @_property
    def dependency_package_uris(self) -> typing.MutableSequence[windows_foundation.Uri]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Foundation.Uri> Windows.Management.Deployment.AutoUpdateSettingsOptions::get_OptionalPackageUris()
    @_property
    def optional_package_uris(self) -> typing.MutableSequence[windows_foundation.Uri]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Foundation.Uri> Windows.Management.Deployment.AutoUpdateSettingsOptions::get_RepairUris()
    @_property
    def repair_uris(self) -> typing.MutableSequence[windows_foundation.Uri]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Foundation.Uri> Windows.Management.Deployment.AutoUpdateSettingsOptions::get_UpdateUris()
    @_property
    def update_uris(self) -> typing.MutableSequence[windows_foundation.Uri]: ...

@typing.final
class CreateSharedPackageContainerOptions(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Boolean Windows.Management.Deployment.CreateSharedPackageContainerOptions::get_ForceAppShutdown()
    @_property
    def force_app_shutdown(self) -> bool: ...
    # System.Void Windows.Management.Deployment.CreateSharedPackageContainerOptions::put_ForceAppShutdown(System.Boolean)
    @force_app_shutdown.setter
    def force_app_shutdown(self, value: bool) -> None: ...
    # Windows.Management.Deployment.SharedPackageContainerCreationCollisionOptions Windows.Management.Deployment.CreateSharedPackageContainerOptions::get_CreateCollisionOption()
    @_property
    def create_collision_option(self) -> SharedPackageContainerCreationCollisionOptions: ...
    # System.Void Windows.Management.Deployment.CreateSharedPackageContainerOptions::put_CreateCollisionOption(Windows.Management.Deployment.SharedPackageContainerCreationCollisionOptions)
    @create_collision_option.setter
    def create_collision_option(self, value: SharedPackageContainerCreationCollisionOptions) -> None: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Management.Deployment.SharedPackageContainerMember> Windows.Management.Deployment.CreateSharedPackageContainerOptions::get_Members()
    @_property
    def members(self) -> typing.MutableSequence[SharedPackageContainerMember]: ...

@typing.final
class CreateSharedPackageContainerResult(winrt.system.Object):
    # Windows.Management.Deployment.SharedPackageContainer Windows.Management.Deployment.CreateSharedPackageContainerResult::get_Container()
    @_property
    def container(self) -> SharedPackageContainer: ...
    # Windows.Foundation.HResult Windows.Management.Deployment.CreateSharedPackageContainerResult::get_ExtendedError()
    @_property
    def extended_error(self) -> windows_foundation.HResult: ...
    # Windows.Management.Deployment.SharedPackageContainerOperationStatus Windows.Management.Deployment.CreateSharedPackageContainerResult::get_Status()
    @_property
    def status(self) -> SharedPackageContainerOperationStatus: ...

@typing.final
class DeleteSharedPackageContainerOptions(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Boolean Windows.Management.Deployment.DeleteSharedPackageContainerOptions::get_ForceAppShutdown()
    @_property
    def force_app_shutdown(self) -> bool: ...
    # System.Void Windows.Management.Deployment.DeleteSharedPackageContainerOptions::put_ForceAppShutdown(System.Boolean)
    @force_app_shutdown.setter
    def force_app_shutdown(self, value: bool) -> None: ...
    # System.Boolean Windows.Management.Deployment.DeleteSharedPackageContainerOptions::get_AllUsers()
    @_property
    def all_users(self) -> bool: ...
    # System.Void Windows.Management.Deployment.DeleteSharedPackageContainerOptions::put_AllUsers(System.Boolean)
    @all_users.setter
    def all_users(self, value: bool) -> None: ...

@typing.final
class DeleteSharedPackageContainerResult(winrt.system.Object):
    # Windows.Foundation.HResult Windows.Management.Deployment.DeleteSharedPackageContainerResult::get_ExtendedError()
    @_property
    def extended_error(self) -> windows_foundation.HResult: ...
    # Windows.Management.Deployment.SharedPackageContainerOperationStatus Windows.Management.Deployment.DeleteSharedPackageContainerResult::get_Status()
    @_property
    def status(self) -> SharedPackageContainerOperationStatus: ...

@typing.final
class DeploymentResult(winrt.system.Object):
    # System.Guid Windows.Management.Deployment.DeploymentResult::get_ActivityId()
    @_property
    def activity_id(self) -> _uuid.UUID: ...
    # System.String Windows.Management.Deployment.DeploymentResult::get_ErrorText()
    @_property
    def error_text(self) -> str: ...
    # Windows.Foundation.HResult Windows.Management.Deployment.DeploymentResult::get_ExtendedErrorCode()
    @_property
    def extended_error_code(self) -> windows_foundation.HResult: ...
    # System.Boolean Windows.Management.Deployment.DeploymentResult::get_IsRegistered()
    @_property
    def is_registered(self) -> bool: ...

@typing.final
class FindSharedPackageContainerOptions(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.String Windows.Management.Deployment.FindSharedPackageContainerOptions::get_PackageFamilyName()
    @_property
    def package_family_name(self) -> str: ...
    # System.Void Windows.Management.Deployment.FindSharedPackageContainerOptions::put_PackageFamilyName(System.String)
    @package_family_name.setter
    def package_family_name(self, value: str) -> None: ...
    # System.String Windows.Management.Deployment.FindSharedPackageContainerOptions::get_Name()
    @_property
    def name(self) -> str: ...
    # System.Void Windows.Management.Deployment.FindSharedPackageContainerOptions::put_Name(System.String)
    @name.setter
    def name(self, value: str) -> None: ...

@typing.final
class PackageAllUserProvisioningOptions(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Foundation.Collections.IVector`1<System.String> Windows.Management.Deployment.PackageAllUserProvisioningOptions::get_OptionalPackageFamilyNames()
    @_property
    def optional_package_family_names(self) -> typing.MutableSequence[str]: ...
    # Windows.Foundation.Collections.IVector`1<System.String> Windows.Management.Deployment.PackageAllUserProvisioningOptions::get_ProjectionOrderPackageFamilyNames()
    @_property
    def projection_order_package_family_names(self) -> typing.MutableSequence[str]: ...
    # System.Boolean Windows.Management.Deployment.PackageAllUserProvisioningOptions::get_DeferAutomaticRegistration()
    @_property
    def defer_automatic_registration(self) -> bool: ...
    # System.Void Windows.Management.Deployment.PackageAllUserProvisioningOptions::put_DeferAutomaticRegistration(System.Boolean)
    @defer_automatic_registration.setter
    def defer_automatic_registration(self, value: bool) -> None: ...

@typing.final
class PackageManager(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::AddPackageAsync(Windows.Foundation.Uri,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Management.Deployment.DeploymentOptions)
    def add_package_async(self, package_uri: windows_foundation.Uri, dependency_package_uris: typing.Iterable[windows_foundation.Uri], deployment_options: DeploymentOptions, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::AddPackageByAppInstallerFileAsync(Windows.Foundation.Uri,Windows.Management.Deployment.AddPackageByAppInstallerOptions,Windows.Management.Deployment.PackageVolume)
    def add_package_by_app_installer_file_async(self, app_installer_file_uri: windows_foundation.Uri, options: AddPackageByAppInstallerOptions, target_volume: PackageVolume, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::AddPackageByUriAsync(Windows.Foundation.Uri,Windows.Management.Deployment.AddPackageOptions)
    def add_package_by_uri_async(self, package_uri: windows_foundation.Uri, options: AddPackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::AddPackageAsync(Windows.Foundation.Uri,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Management.Deployment.DeploymentOptions,Windows.Management.Deployment.PackageVolume,Windows.Foundation.Collections.IIterable`1<System.String>,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>)
    def add_package_to_volume_and_optional_packages_async(self, package_uri: windows_foundation.Uri, dependency_package_uris: typing.Iterable[windows_foundation.Uri], deployment_options: DeploymentOptions, target_volume: PackageVolume, optional_package_family_names: typing.Iterable[str], external_package_uris: typing.Iterable[windows_foundation.Uri], /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::AddPackageAsync(Windows.Foundation.Uri,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Management.Deployment.DeploymentOptions,Windows.Management.Deployment.PackageVolume,Windows.Foundation.Collections.IIterable`1<System.String>,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>)
    def add_package_to_volume_and_related_set_async(self, package_uri: windows_foundation.Uri, dependency_package_uris: typing.Iterable[windows_foundation.Uri], options: DeploymentOptions, target_volume: PackageVolume, optional_package_family_names: typing.Iterable[str], package_uris_to_install: typing.Iterable[windows_foundation.Uri], related_package_uris: typing.Iterable[windows_foundation.Uri], /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::AddPackageAsync(Windows.Foundation.Uri,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Management.Deployment.DeploymentOptions,Windows.Management.Deployment.PackageVolume)
    def add_package_to_volume_async(self, package_uri: windows_foundation.Uri, dependency_package_uris: typing.Iterable[windows_foundation.Uri], deployment_options: DeploymentOptions, target_volume: PackageVolume, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Management.Deployment.PackageVolume> Windows.Management.Deployment.PackageManager::AddPackageVolumeAsync(System.String)
    def add_package_volume_async(self, package_store_path: str, /) -> windows_foundation.IAsyncOperation[PackageVolume]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::CleanupPackageForUserAsync(System.String,System.String)
    def cleanup_package_for_user_async(self, package_name: str, user_security_id: str, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # System.Void Windows.Management.Deployment.PackageManager::ClearPackageStatus(System.String,Windows.Management.Deployment.PackageStatus)
    def clear_package_status(self, package_full_name: str, status: PackageStatus, /) -> None: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::DeprovisionPackageForAllUsersAsync(System.String)
    def deprovision_package_for_all_users_async(self, package_family_name: str, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.ApplicationModel.Package Windows.Management.Deployment.PackageManager::FindPackage(System.String)
    def find_package_by_package_full_name(self, package_full_name: str, /) -> windows_applicationmodel.Package: ...
    # Windows.ApplicationModel.Package Windows.Management.Deployment.PackageManager::FindPackageForUser(System.String,System.String)
    def find_package_by_user_security_id_package_full_name(self, user_security_id: str, package_full_name: str, /) -> windows_applicationmodel.Package: ...
    # Windows.Management.Deployment.PackageVolume Windows.Management.Deployment.PackageManager::FindPackageVolume(System.String)
    def find_package_volume_by_name(self, volume_name: str, /) -> PackageVolume: ...
    # Windows.Foundation.Collections.IIterable`1<Windows.Management.Deployment.PackageVolume> Windows.Management.Deployment.PackageManager::FindPackageVolumes()
    def find_package_volumes(self) -> typing.Iterable[PackageVolume]: ...
    # Windows.Foundation.Collections.IIterable`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageManager::FindPackages()
    def find_packages(self) -> typing.Iterable[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IIterable`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageManager::FindPackages(System.String,System.String)
    def find_packages_by_name_publisher(self, package_name: str, package_publisher: str, /) -> typing.Iterable[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IIterable`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageManager::FindPackagesWithPackageTypes(System.String,System.String,Windows.Management.Deployment.PackageTypes)
    def find_packages_by_name_publisher_with_package_types(self, package_name: str, package_publisher: str, package_types: PackageTypes, /) -> typing.Iterable[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IIterable`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageManager::FindPackages(System.String)
    def find_packages_by_package_family_name(self, package_family_name: str, /) -> typing.Iterable[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IIterable`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageManager::FindPackagesWithPackageTypes(System.String,Windows.Management.Deployment.PackageTypes)
    def find_packages_by_package_family_name_with_package_types(self, package_family_name: str, package_types: PackageTypes, /) -> typing.Iterable[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IIterable`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageManager::FindPackagesForUser(System.String)
    def find_packages_by_user_security_id(self, user_security_id: str, /) -> typing.Iterable[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IIterable`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageManager::FindPackagesForUser(System.String,System.String,System.String)
    def find_packages_by_user_security_id_name_publisher(self, user_security_id: str, package_name: str, package_publisher: str, /) -> typing.Iterable[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IIterable`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageManager::FindPackagesForUserWithPackageTypes(System.String,System.String,System.String,Windows.Management.Deployment.PackageTypes)
    def find_packages_by_user_security_id_name_publisher_with_package_types(self, user_security_id: str, package_name: str, package_publisher: str, package_types: PackageTypes, /) -> typing.Iterable[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IIterable`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageManager::FindPackagesForUser(System.String,System.String)
    def find_packages_by_user_security_id_package_family_name(self, user_security_id: str, package_family_name: str, /) -> typing.Iterable[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IIterable`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageManager::FindPackagesForUserWithPackageTypes(System.String,System.String,Windows.Management.Deployment.PackageTypes)
    def find_packages_by_user_security_id_package_family_name_with_package_types(self, user_security_id: str, package_family_name: str, package_types: PackageTypes, /) -> typing.Iterable[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IIterable`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageManager::FindPackagesForUserWithPackageTypes(System.String,Windows.Management.Deployment.PackageTypes)
    def find_packages_by_user_security_id_with_package_types(self, user_security_id: str, package_types: PackageTypes, /) -> typing.Iterable[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IIterable`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageManager::FindPackagesWithPackageTypes(Windows.Management.Deployment.PackageTypes)
    def find_packages_with_package_types(self, package_types: PackageTypes, /) -> typing.Iterable[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageManager::FindProvisionedPackages()
    def find_provisioned_packages(self) -> typing.MutableSequence[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IIterable`1<Windows.Management.Deployment.PackageUserInformation> Windows.Management.Deployment.PackageManager::FindUsers(System.String)
    def find_users(self, package_full_name: str, /) -> typing.Iterable[PackageUserInformation]: ...
    # Windows.Management.Deployment.PackageVolume Windows.Management.Deployment.PackageManager::GetDefaultPackageVolume()
    def get_default_package_volume(self) -> PackageVolume: ...
    # Windows.Management.Deployment.PackageStubPreference Windows.Management.Deployment.PackageManager::GetPackageStubPreference(System.String)
    def get_package_stub_preference(self, package_family_name: str, /) -> PackageStubPreference: ...
    # Windows.Foundation.IAsyncOperation`1<Windows.Foundation.Collections.IVectorView`1<Windows.Management.Deployment.PackageVolume>> Windows.Management.Deployment.PackageManager::GetPackageVolumesAsync()
    def get_package_volumes_async(self) -> windows_foundation.IAsyncOperation[typing.Sequence[PackageVolume]]: ...
    # System.Boolean Windows.Management.Deployment.PackageManager::IsPackageRemovalPending(System.String)
    def is_package_removal_pending(self, package_full_name: str, /) -> bool: ...
    # System.Boolean Windows.Management.Deployment.PackageManager::IsPackageRemovalPendingByUri(Windows.Foundation.Uri)
    def is_package_removal_pending_by_uri(self, package_uri: windows_foundation.Uri, /) -> bool: ...
    # System.Boolean Windows.Management.Deployment.PackageManager::IsPackageRemovalPendingByUriForUser(Windows.Foundation.Uri,System.String)
    def is_package_removal_pending_by_uri_for_user(self, package_uri: windows_foundation.Uri, user_security_id: str, /) -> bool: ...
    # System.Boolean Windows.Management.Deployment.PackageManager::IsPackageRemovalPendingForUser(System.String,System.String)
    def is_package_removal_pending_for_user(self, package_full_name: str, user_security_id: str, /) -> bool: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::MovePackageToVolumeAsync(System.String,Windows.Management.Deployment.DeploymentOptions,Windows.Management.Deployment.PackageVolume)
    def move_package_to_volume_async(self, package_full_name: str, deployment_options: DeploymentOptions, target_volume: PackageVolume, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::ProvisionPackageForAllUsersAsync(System.String)
    def provision_package_for_all_users_async(self, package_family_name: str, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::ProvisionPackageForAllUsersAsync(System.String,Windows.Management.Deployment.PackageAllUserProvisioningOptions)
    def provision_package_for_all_users_with_options_async(self, main_package_family_name: str, options: PackageAllUserProvisioningOptions, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::RegisterPackageAsync(Windows.Foundation.Uri,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Management.Deployment.DeploymentOptions)
    def register_package_async(self, manifest_uri: windows_foundation.Uri, dependency_package_uris: typing.Iterable[windows_foundation.Uri], deployment_options: DeploymentOptions, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::RegisterPackageByFamilyNameAsync(System.String,Windows.Foundation.Collections.IIterable`1<System.String>,Windows.Management.Deployment.DeploymentOptions,Windows.Management.Deployment.PackageVolume,Windows.Foundation.Collections.IIterable`1<System.String>)
    def register_package_by_family_name_and_optional_packages_async(self, main_package_family_name: str, dependency_package_family_names: typing.Iterable[str], deployment_options: DeploymentOptions, app_data_volume: PackageVolume, optional_package_family_names: typing.Iterable[str], /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::RegisterPackageByFullNameAsync(System.String,Windows.Foundation.Collections.IIterable`1<System.String>,Windows.Management.Deployment.DeploymentOptions)
    def register_package_by_full_name_async(self, main_package_full_name: str, dependency_package_full_names: typing.Iterable[str], deployment_options: DeploymentOptions, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::RegisterPackageByUriAsync(Windows.Foundation.Uri,Windows.Management.Deployment.RegisterPackageOptions)
    def register_package_by_uri_async(self, manifest_uri: windows_foundation.Uri, options: RegisterPackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::RegisterPackageAsync(Windows.Foundation.Uri,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Management.Deployment.DeploymentOptions,Windows.Management.Deployment.PackageVolume)
    def register_package_with_app_data_volume_async(self, manifest_uri: windows_foundation.Uri, dependency_package_uris: typing.Iterable[windows_foundation.Uri], deployment_options: DeploymentOptions, app_data_volume: PackageVolume, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::RegisterPackagesByFullNameAsync(Windows.Foundation.Collections.IIterable`1<System.String>,Windows.Management.Deployment.RegisterPackageOptions)
    def register_packages_by_full_name_async(self, package_full_names: typing.Iterable[str], options: RegisterPackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::RemovePackageAsync(System.String)
    def remove_package_async(self, package_full_name: str, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::RemovePackageByUriAsync(Windows.Foundation.Uri,Windows.Management.Deployment.RemovePackageOptions)
    def remove_package_by_uri_async(self, package_uri: windows_foundation.Uri, options: RemovePackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::RemovePackageVolumeAsync(Windows.Management.Deployment.PackageVolume)
    def remove_package_volume_async(self, volume: PackageVolume, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::RemovePackageAsync(System.String,Windows.Management.Deployment.RemovalOptions)
    def remove_package_with_options_async(self, package_full_name: str, removal_options: RemovalOptions, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::RequestAddPackageAsync(Windows.Foundation.Uri,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Management.Deployment.DeploymentOptions,Windows.Management.Deployment.PackageVolume,Windows.Foundation.Collections.IIterable`1<System.String>,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>)
    def request_add_package_and_related_set_async(self, package_uri: windows_foundation.Uri, dependency_package_uris: typing.Iterable[windows_foundation.Uri], deployment_options: DeploymentOptions, target_volume: PackageVolume, optional_package_family_names: typing.Iterable[str], related_package_uris: typing.Iterable[windows_foundation.Uri], package_uris_to_install: typing.Iterable[windows_foundation.Uri], /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::RequestAddPackageAsync(Windows.Foundation.Uri,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Management.Deployment.DeploymentOptions,Windows.Management.Deployment.PackageVolume,Windows.Foundation.Collections.IIterable`1<System.String>,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>)
    def request_add_package_async(self, package_uri: windows_foundation.Uri, dependency_package_uris: typing.Iterable[windows_foundation.Uri], deployment_options: DeploymentOptions, target_volume: PackageVolume, optional_package_family_names: typing.Iterable[str], related_package_uris: typing.Iterable[windows_foundation.Uri], /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::RequestAddPackageByAppInstallerFileAsync(Windows.Foundation.Uri,Windows.Management.Deployment.AddPackageByAppInstallerOptions,Windows.Management.Deployment.PackageVolume)
    def request_add_package_by_app_installer_file_async(self, app_installer_file_uri: windows_foundation.Uri, options: AddPackageByAppInstallerOptions, target_volume: PackageVolume, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # System.Void Windows.Management.Deployment.PackageManager::SetDefaultPackageVolume(Windows.Management.Deployment.PackageVolume)
    def set_default_package_volume(self, volume: PackageVolume, /) -> None: ...
    # System.Void Windows.Management.Deployment.PackageManager::SetPackageState(System.String,Windows.Management.Deployment.PackageState)
    def set_package_state(self, package_full_name: str, package_state: PackageState, /) -> None: ...
    # System.Void Windows.Management.Deployment.PackageManager::SetPackageStatus(System.String,Windows.Management.Deployment.PackageStatus)
    def set_package_status(self, package_full_name: str, status: PackageStatus, /) -> None: ...
    # System.Void Windows.Management.Deployment.PackageManager::SetPackageStubPreference(System.String,Windows.Management.Deployment.PackageStubPreference)
    def set_package_stub_preference(self, package_family_name: str, use_stub: PackageStubPreference, /) -> None: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::SetPackageVolumeOfflineAsync(Windows.Management.Deployment.PackageVolume)
    def set_package_volume_offline_async(self, package_volume: PackageVolume, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::SetPackageVolumeOnlineAsync(Windows.Management.Deployment.PackageVolume)
    def set_package_volume_online_async(self, package_volume: PackageVolume, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::StagePackageAsync(Windows.Foundation.Uri,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>)
    def stage_package_async(self, package_uri: windows_foundation.Uri, dependency_package_uris: typing.Iterable[windows_foundation.Uri], /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::StagePackageByUriAsync(Windows.Foundation.Uri,Windows.Management.Deployment.StagePackageOptions)
    def stage_package_by_uri_async(self, package_uri: windows_foundation.Uri, options: StagePackageOptions, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::StagePackageAsync(Windows.Foundation.Uri,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Management.Deployment.DeploymentOptions,Windows.Management.Deployment.PackageVolume,Windows.Foundation.Collections.IIterable`1<System.String>,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>)
    def stage_package_to_volume_and_optional_packages_async(self, package_uri: windows_foundation.Uri, dependency_package_uris: typing.Iterable[windows_foundation.Uri], deployment_options: DeploymentOptions, target_volume: PackageVolume, optional_package_family_names: typing.Iterable[str], external_package_uris: typing.Iterable[windows_foundation.Uri], /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::StagePackageAsync(Windows.Foundation.Uri,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Management.Deployment.DeploymentOptions,Windows.Management.Deployment.PackageVolume,Windows.Foundation.Collections.IIterable`1<System.String>,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>)
    def stage_package_to_volume_and_related_set_async(self, package_uri: windows_foundation.Uri, dependency_package_uris: typing.Iterable[windows_foundation.Uri], options: DeploymentOptions, target_volume: PackageVolume, optional_package_family_names: typing.Iterable[str], package_uris_to_install: typing.Iterable[windows_foundation.Uri], related_package_uris: typing.Iterable[windows_foundation.Uri], /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::StagePackageAsync(Windows.Foundation.Uri,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Management.Deployment.DeploymentOptions,Windows.Management.Deployment.PackageVolume)
    def stage_package_to_volume_async(self, package_uri: windows_foundation.Uri, dependency_package_uris: typing.Iterable[windows_foundation.Uri], deployment_options: DeploymentOptions, target_volume: PackageVolume, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::StagePackageAsync(Windows.Foundation.Uri,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Management.Deployment.DeploymentOptions)
    def stage_package_with_options_async(self, package_uri: windows_foundation.Uri, dependency_package_uris: typing.Iterable[windows_foundation.Uri], deployment_options: DeploymentOptions, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::StageUserDataAsync(System.String)
    def stage_user_data_async(self, package_full_name: str, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::StageUserDataAsync(System.String,Windows.Management.Deployment.DeploymentOptions)
    def stage_user_data_with_options_async(self, package_full_name: str, deployment_options: DeploymentOptions, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Foundation.IAsyncOperationWithProgress`2<Windows.Management.Deployment.DeploymentResult,Windows.Management.Deployment.DeploymentProgress> Windows.Management.Deployment.PackageManager::UpdatePackageAsync(Windows.Foundation.Uri,Windows.Foundation.Collections.IIterable`1<Windows.Foundation.Uri>,Windows.Management.Deployment.DeploymentOptions)
    def update_package_async(self, package_uri: windows_foundation.Uri, dependency_package_uris: typing.Iterable[windows_foundation.Uri], deployment_options: DeploymentOptions, /) -> windows_foundation.IAsyncOperationWithProgress[DeploymentResult, DeploymentProgress]: ...
    # Windows.Management.Deployment.PackageManagerDebugSettings Windows.Management.Deployment.PackageManager::get_DebugSettings()
    @_property
    def debug_settings(self) -> PackageManagerDebugSettings: ...

@typing.final
class PackageManagerDebugSettings(winrt.system.Object):
    # Windows.Foundation.IAsyncAction Windows.Management.Deployment.PackageManagerDebugSettings::SetContentGroupStateAsync(Windows.ApplicationModel.Package,System.String,Windows.ApplicationModel.PackageContentGroupState)
    def set_content_group_state_async(self, package: windows_applicationmodel.Package, content_group_name: str, state: windows_applicationmodel.PackageContentGroupState, /) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.IAsyncAction Windows.Management.Deployment.PackageManagerDebugSettings::SetContentGroupStateAsync(Windows.ApplicationModel.Package,System.String,Windows.ApplicationModel.PackageContentGroupState,System.Double)
    def set_content_group_state_with_percentage_async(self, package: windows_applicationmodel.Package, content_group_name: str, state: windows_applicationmodel.PackageContentGroupState, completion_percentage: winrt.system.Double, /) -> windows_foundation.IAsyncAction: ...

@typing.final
class PackageUserInformation(winrt.system.Object):
    # Windows.Management.Deployment.PackageInstallState Windows.Management.Deployment.PackageUserInformation::get_InstallState()
    @_property
    def install_state(self) -> PackageInstallState: ...
    # System.String Windows.Management.Deployment.PackageUserInformation::get_UserSecurityId()
    @_property
    def user_security_id(self) -> str: ...

@typing.final
class PackageVolume(winrt.system.Object):
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageVolume::FindPackage(System.String)
    def find_package_by_package_full_name(self, package_full_name: str, /) -> typing.MutableSequence[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageVolume::FindPackageForUser(System.String,System.String)
    def find_package_by_user_security_id_package_full_name(self, user_security_id: str, package_full_name: str, /) -> typing.MutableSequence[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageVolume::FindPackages()
    def find_packages(self) -> typing.MutableSequence[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageVolume::FindPackages(System.String,System.String)
    def find_packages_by_name_publisher(self, package_name: str, package_publisher: str, /) -> typing.MutableSequence[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageVolume::FindPackagesWithPackageTypes(Windows.Management.Deployment.PackageTypes,System.String,System.String)
    def find_packages_by_name_publisher_with_packages_types(self, package_types: PackageTypes, package_name: str, package_publisher: str, /) -> typing.MutableSequence[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageVolume::FindPackages(System.String)
    def find_packages_by_package_family_name(self, package_family_name: str, /) -> typing.MutableSequence[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageVolume::FindPackagesWithPackageTypes(Windows.Management.Deployment.PackageTypes,System.String)
    def find_packages_by_package_family_name_with_package_types(self, package_types: PackageTypes, package_family_name: str, /) -> typing.MutableSequence[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageVolume::FindPackagesForUser(System.String)
    def find_packages_by_user_security_id(self, user_security_id: str, /) -> typing.MutableSequence[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageVolume::FindPackagesForUser(System.String,System.String,System.String)
    def find_packages_by_user_security_id_name_publisher(self, user_security_id: str, package_name: str, package_publisher: str, /) -> typing.MutableSequence[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageVolume::FindPackagesForUserWithPackageTypes(System.String,Windows.Management.Deployment.PackageTypes,System.String,System.String)
    def find_packages_by_user_security_id_name_publisher_with_package_types(self, user_security_id: str, package_types: PackageTypes, package_name: str, package_publisher: str, /) -> typing.MutableSequence[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageVolume::FindPackagesForUser(System.String,System.String)
    def find_packages_by_user_security_id_package_family_name(self, user_security_id: str, package_family_name: str, /) -> typing.MutableSequence[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageVolume::FindPackagesForUserWithPackageTypes(System.String,Windows.Management.Deployment.PackageTypes,System.String)
    def find_packages_by_user_security_id_package_family_name_with_packages_types(self, user_security_id: str, package_types: PackageTypes, package_family_name: str, /) -> typing.MutableSequence[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageVolume::FindPackagesForUserWithPackageTypes(System.String,Windows.Management.Deployment.PackageTypes)
    def find_packages_by_user_security_id_with_package_types(self, user_security_id: str, package_types: PackageTypes, /) -> typing.MutableSequence[windows_applicationmodel.Package]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.Package> Windows.Management.Deployment.PackageVolume::FindPackagesWithPackageTypes(Windows.Management.Deployment.PackageTypes)
    def find_packages_with_package_types(self, package_types: PackageTypes, /) -> typing.MutableSequence[windows_applicationmodel.Package]: ...
    # Windows.Foundation.IAsyncOperation`1<System.UInt64> Windows.Management.Deployment.PackageVolume::GetAvailableSpaceAsync()
    def get_available_space_async(self) -> windows_foundation.IAsyncOperation[winrt.system.UInt64]: ...
    # System.Boolean Windows.Management.Deployment.PackageVolume::get_IsOffline()
    @_property
    def is_offline(self) -> bool: ...
    # System.Boolean Windows.Management.Deployment.PackageVolume::get_IsSystemVolume()
    @_property
    def is_system_volume(self) -> bool: ...
    # System.String Windows.Management.Deployment.PackageVolume::get_MountPoint()
    @_property
    def mount_point(self) -> str: ...
    # System.String Windows.Management.Deployment.PackageVolume::get_Name()
    @_property
    def name(self) -> str: ...
    # System.String Windows.Management.Deployment.PackageVolume::get_PackageStorePath()
    @_property
    def package_store_path(self) -> str: ...
    # System.Boolean Windows.Management.Deployment.PackageVolume::get_SupportsHardLinks()
    @_property
    def supports_hard_links(self) -> bool: ...
    # System.Boolean Windows.Management.Deployment.PackageVolume::get_IsAppxInstallSupported()
    @_property
    def is_appx_install_supported(self) -> bool: ...
    # System.Boolean Windows.Management.Deployment.PackageVolume::get_IsFullTrustPackageSupported()
    @_property
    def is_full_trust_package_supported(self) -> bool: ...

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

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

@typing.final
class SharedPackageContainer(winrt.system.Object):
    # Windows.Foundation.Collections.IVector`1<Windows.Management.Deployment.SharedPackageContainerMember> Windows.Management.Deployment.SharedPackageContainer::GetMembers()
    def get_members(self) -> typing.MutableSequence[SharedPackageContainerMember]: ...
    # Windows.Management.Deployment.UpdateSharedPackageContainerResult Windows.Management.Deployment.SharedPackageContainer::RemovePackageFamily(System.String,Windows.Management.Deployment.UpdateSharedPackageContainerOptions)
    def remove_package_family(self, package_family_name: str, options: UpdateSharedPackageContainerOptions, /) -> UpdateSharedPackageContainerResult: ...
    # Windows.Management.Deployment.UpdateSharedPackageContainerResult Windows.Management.Deployment.SharedPackageContainer::ResetData()
    def reset_data(self) -> UpdateSharedPackageContainerResult: ...
    # System.String Windows.Management.Deployment.SharedPackageContainer::get_Id()
    @_property
    def id(self) -> str: ...
    # System.String Windows.Management.Deployment.SharedPackageContainer::get_Name()
    @_property
    def name(self) -> str: ...

@typing.final
class SharedPackageContainerManager_Static(winrt._winrt.IInspectable_Static):
    # Windows.Management.Deployment.SharedPackageContainerManager Windows.Management.Deployment.SharedPackageContainerManager::GetDefault()
    def get_default(cls) -> SharedPackageContainerManager: ...
    # Windows.Management.Deployment.SharedPackageContainerManager Windows.Management.Deployment.SharedPackageContainerManager::GetForProvisioning()
    def get_for_provisioning(cls) -> SharedPackageContainerManager: ...
    # Windows.Management.Deployment.SharedPackageContainerManager Windows.Management.Deployment.SharedPackageContainerManager::GetForUser(System.String)
    def get_for_user(cls, user_sid: str, /) -> SharedPackageContainerManager: ...

@typing.final
class SharedPackageContainerManager(winrt.system.Object, metaclass=SharedPackageContainerManager_Static):
    # Windows.Management.Deployment.CreateSharedPackageContainerResult Windows.Management.Deployment.SharedPackageContainerManager::CreateContainer(System.String,Windows.Management.Deployment.CreateSharedPackageContainerOptions)
    def create_container(self, name: str, options: CreateSharedPackageContainerOptions, /) -> CreateSharedPackageContainerResult: ...
    # Windows.Management.Deployment.DeleteSharedPackageContainerResult Windows.Management.Deployment.SharedPackageContainerManager::DeleteContainer(System.String,Windows.Management.Deployment.DeleteSharedPackageContainerOptions)
    def delete_container(self, id: str, options: DeleteSharedPackageContainerOptions, /) -> DeleteSharedPackageContainerResult: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Management.Deployment.SharedPackageContainer> Windows.Management.Deployment.SharedPackageContainerManager::FindContainers()
    def find_containers(self) -> typing.MutableSequence[SharedPackageContainer]: ...
    # Windows.Foundation.Collections.IVector`1<Windows.Management.Deployment.SharedPackageContainer> Windows.Management.Deployment.SharedPackageContainerManager::FindContainers(Windows.Management.Deployment.FindSharedPackageContainerOptions)
    def find_containers_with_options(self, options: FindSharedPackageContainerOptions, /) -> typing.MutableSequence[SharedPackageContainer]: ...
    # Windows.Management.Deployment.SharedPackageContainer Windows.Management.Deployment.SharedPackageContainerManager::GetContainer(System.String)
    def get_container(self, id: str, /) -> SharedPackageContainer: ...

@typing.final
class SharedPackageContainerMember(winrt.system.Object):
    def __new__(cls: typing.Type[Self], package_family_name: str) -> Self: ...
    # System.String Windows.Management.Deployment.SharedPackageContainerMember::get_PackageFamilyName()
    @_property
    def package_family_name(self) -> str: ...

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

@typing.final
class UpdateSharedPackageContainerOptions(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Boolean Windows.Management.Deployment.UpdateSharedPackageContainerOptions::get_RequirePackagesPresent()
    @_property
    def require_packages_present(self) -> bool: ...
    # System.Void Windows.Management.Deployment.UpdateSharedPackageContainerOptions::put_RequirePackagesPresent(System.Boolean)
    @require_packages_present.setter
    def require_packages_present(self, value: bool) -> None: ...
    # System.Boolean Windows.Management.Deployment.UpdateSharedPackageContainerOptions::get_ForceAppShutdown()
    @_property
    def force_app_shutdown(self) -> bool: ...
    # System.Void Windows.Management.Deployment.UpdateSharedPackageContainerOptions::put_ForceAppShutdown(System.Boolean)
    @force_app_shutdown.setter
    def force_app_shutdown(self, value: bool) -> None: ...

@typing.final
class UpdateSharedPackageContainerResult(winrt.system.Object):
    # Windows.Foundation.HResult Windows.Management.Deployment.UpdateSharedPackageContainerResult::get_ExtendedError()
    @_property
    def extended_error(self) -> windows_foundation.HResult: ...
    # Windows.Management.Deployment.SharedPackageContainerOperationStatus Windows.Management.Deployment.UpdateSharedPackageContainerResult::get_Status()
    @_property
    def status(self) -> SharedPackageContainerOperationStatus: ...

