//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.ApplicationModel.Activation.idl";
import "Windows.ApplicationModel.Core.idl";
import "Windows.Storage.idl";
import "Windows.Storage.Streams.idl";
import "Windows.System.idl";

// Forward Declare
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Activation
        {
            interface IActivatedEventArgs;
        }
    }
}
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Core
        {
            runtimeclass AppListEntry;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        runtimeclass Deferral;

        interface IAsyncAction;

        typedef struct Size Size;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace Storage
    {
        runtimeclass StorageFolder;
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            runtimeclass RandomAccessStreamReference;
        }
    }
}
namespace Windows
{
    namespace System
    {
        typedef enum ProcessorArchitecture ProcessorArchitecture;

        runtimeclass User;
    }
}
namespace Windows
{
    namespace ApplicationModel
    {
        apicontract FullTrustAppContract;

        apicontract StartupTaskContract;

        typedef enum AddResourcePackageOptions AddResourcePackageOptions;

        typedef enum LimitedAccessFeatureStatus LimitedAccessFeatureStatus;

        typedef enum PackageContentGroupState PackageContentGroupState;

        typedef enum PackageSignatureKind PackageSignatureKind;

        typedef enum PackageUpdateAvailability PackageUpdateAvailability;

        typedef enum StartupTaskState StartupTaskState;

        typedef struct PackageInstallProgress PackageInstallProgress;

        typedef struct PackageVersion PackageVersion;

        interface IAppDisplayInfo;

        interface IAppInfo;

        interface IAppInfo2;

        interface IAppInfoStatics;

        interface IAppInstallerInfo;

        interface IAppInstance;

        interface IAppInstanceStatics;

        interface IDesignModeStatics;

        interface IDesignModeStatics2;

        interface IEnteredBackgroundEventArgs;

        interface IFullTrustProcessLauncherStatics;

        interface ILeavingBackgroundEventArgs;

        interface ILimitedAccessFeatureRequestResult;

        interface ILimitedAccessFeaturesStatics;

        interface IPackage;

        interface IPackage2;

        interface IPackage3;

        interface IPackage4;

        interface IPackage5;

        interface IPackage6;

        interface IPackage7;

        interface IPackage8;

        interface IPackageCatalog;

        interface IPackageCatalog2;

        interface IPackageCatalog3;

        interface IPackageCatalog4;

        interface IPackageCatalogAddOptionalPackageResult;

        interface IPackageCatalogAddResourcePackageResult;

        interface IPackageCatalogRemoveOptionalPackagesResult;

        interface IPackageCatalogRemoveResourcePackagesResult;

        interface IPackageCatalogStatics;

        interface IPackageContentGroup;

        interface IPackageContentGroupStagingEventArgs;

        interface IPackageContentGroupStatics;

        interface IPackageId;

        interface IPackageIdWithMetadata;

        interface IPackageInstallingEventArgs;

        interface IPackageStagingEventArgs;

        interface IPackageStatics;

        interface IPackageStatus;

        interface IPackageStatus2;

        interface IPackageStatusChangedEventArgs;

        interface IPackageUninstallingEventArgs;

        interface IPackageUpdateAvailabilityResult;

        interface IPackageUpdatingEventArgs;

        interface IPackageWithMetadata;

        interface IStartupTask;

        interface IStartupTaskStatics;

        interface ISuspendingDeferral;

        interface ISuspendingEventArgs;

        interface ISuspendingOperation;

        runtimeclass AppDisplayInfo;

        runtimeclass AppInfo;

        runtimeclass AppInstallerInfo;

        runtimeclass AppInstance;

        runtimeclass DesignMode;

        runtimeclass EnteredBackgroundEventArgs;

        runtimeclass FullTrustProcessLauncher;

        runtimeclass LeavingBackgroundEventArgs;

        runtimeclass LimitedAccessFeatureRequestResult;

        runtimeclass LimitedAccessFeatures;

        runtimeclass Package;

        runtimeclass PackageCatalog;

        runtimeclass PackageCatalogAddOptionalPackageResult;

        runtimeclass PackageCatalogAddResourcePackageResult;

        runtimeclass PackageCatalogRemoveOptionalPackagesResult;

        runtimeclass PackageCatalogRemoveResourcePackagesResult;

        runtimeclass PackageContentGroup;

        runtimeclass PackageContentGroupStagingEventArgs;

        runtimeclass PackageId;

        runtimeclass PackageInstallingEventArgs;

        runtimeclass PackageStagingEventArgs;

        runtimeclass PackageStatus;

        runtimeclass PackageStatusChangedEventArgs;

        runtimeclass PackageUninstallingEventArgs;

        runtimeclass PackageUpdateAvailabilityResult;

        runtimeclass PackageUpdatingEventArgs;

        runtimeclass StartupTask;

        runtimeclass SuspendingDeferral;

        runtimeclass SuspendingEventArgs;

        runtimeclass SuspendingOperation;
    }
}

// Generic instantiations
namespace Windows
{
    namespace ApplicationModel
    {
        declare
        {
            interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.AppInfo*>;

            interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.AppInstance*>;

            interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package*>;

            interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.PackageContentGroup*>;

            interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.StartupTask*>;

            interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.AppInfo*>;

            interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.AppInstance*>;

            interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Package*>;

            interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.PackageContentGroup*>;

            interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.StartupTask*>;

            interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.AppInfo*>;

            interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.AppInstance*>;

            interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Package*>;

            interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.PackageContentGroup*>;

            interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.StartupTask*>;

            interface Windows.Foundation.Collections.IVector<Windows.ApplicationModel.AppInstance*>;

            interface Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>;

            interface Windows.Foundation.Collections.IVector<Windows.ApplicationModel.PackageContentGroup*>;

            interface Windows.Foundation.EventHandler<Windows.ApplicationModel.EnteredBackgroundEventArgs*>;

            interface Windows.Foundation.EventHandler<Windows.ApplicationModel.LeavingBackgroundEventArgs*>;

            interface Windows.Foundation.EventHandler<Windows.ApplicationModel.SuspendingEventArgs*>;

            interface Windows.Foundation.IAsyncOperationWithProgress<Windows.ApplicationModel.PackageCatalogAddResourcePackageResult*, Windows.ApplicationModel.PackageInstallProgress>;

            interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.PackageCatalogAddOptionalPackageResult*>;

            interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.PackageCatalogRemoveOptionalPackagesResult*>;

            interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.PackageCatalogRemoveResourcePackagesResult*>;

            interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.PackageContentGroup*>;

            interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.PackageUpdateAvailabilityResult*>;

            interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.StartupTask*>;

            interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.StartupTaskState>;

            interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.AppInfo*>*>;

            interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.StartupTask*>*>;

            interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVector<Windows.ApplicationModel.PackageContentGroup*>*>;

            interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.PackageCatalog*, Windows.ApplicationModel.PackageContentGroupStagingEventArgs*>;

            interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.PackageCatalog*, Windows.ApplicationModel.PackageInstallingEventArgs*>;

            interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.PackageCatalog*, Windows.ApplicationModel.PackageStagingEventArgs*>;

            interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.PackageCatalog*, Windows.ApplicationModel.PackageStatusChangedEventArgs*>;

            interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.PackageCatalog*, Windows.ApplicationModel.PackageUninstallingEventArgs*>;

            interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.PackageCatalog*, Windows.ApplicationModel.PackageUpdatingEventArgs*>;
        }
    }
}

// Type definition
namespace Windows
{
    namespace ApplicationModel
    {
        [contractversion(1.0)]
        apicontract FullTrustAppContract
        {
        }

        [contractversion(3.0)]
        apicontract StartupTaskContract
        {
        }

        [contract(Windows.Foundation.UniversalApiContract, 6.0)]
        [flags]
        enum AddResourcePackageOptions
        {
            None                   = 0x0,
            ForceTargetAppShutdown = 0x1,
            ApplyUpdateIfAvailable = 0x2
        };

        [contract(Windows.Foundation.UniversalApiContract, 7.0)]
        enum LimitedAccessFeatureStatus
        {
            Unavailable           = 0,
            Available             = 1,
            AvailableWithoutToken = 2,
            Unknown               = 3
        };

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        enum PackageContentGroupState
        {
            NotStaged = 0,
            Queued    = 1,
            Staging   = 2,
            Staged    = 3
        };

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        enum PackageSignatureKind
        {
            None       = 0,
            Developer  = 1,
            Enterprise = 2,
            Store      = 3,
            System     = 4
        };

        [contract(Windows.Foundation.UniversalApiContract, 7.0)]
        enum PackageUpdateAvailability
        {
            Unknown   = 0,
            NoUpdates = 1,
            Available = 2,
            Required  = 3,
            Error     = 4
        };

        [contract(Windows.ApplicationModel.StartupTaskContract, 1.0)]
        enum StartupTaskState
        {
            Disabled         = 0,
            DisabledByUser   = 1,
            Enabled          = 2,
            [contract(Windows.ApplicationModel.StartupTaskContract, 2.0)]
            DisabledByPolicy = 3,
            [contract(Windows.ApplicationModel.StartupTaskContract, 3.0)]
            EnabledByPolicy  = 4
        };

        [contract(Windows.Foundation.UniversalApiContract, 6.0)]
        struct PackageInstallProgress
        {
            UINT32 PercentComplete;
        };

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        struct PackageVersion
        {
            UINT16 Major;
            UINT16 Minor;
            UINT16 Build;
            UINT16 Revision;
        };

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.ApplicationModel.AppDisplayInfo)]
        [uuid(1AEB1103-E4D4-41AA-A4F6-C4A276E79EAC)]
        interface IAppDisplayInfo : IInspectable
        {
            [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
            [propget] HRESULT Description([out] [retval] HSTRING* value);
            HRESULT GetLogo([in] Windows.Foundation.Size size, [out] [retval] Windows.Storage.Streams.RandomAccessStreamReference** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.ApplicationModel.AppInfo)]
        [uuid(CF7F59B3-6A09-4DE8-A6C0-5792D56880D1)]
        interface IAppInfo : IInspectable
        {
            [propget] HRESULT Id([out] [retval] HSTRING* value);
            [propget] HRESULT AppUserModelId([out] [retval] HSTRING* value);
            [propget] HRESULT DisplayInfo([out] [retval] Windows.ApplicationModel.AppDisplayInfo** value);
            [propget] HRESULT PackageFamilyName([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 10.0)]
        [exclusiveto(Windows.ApplicationModel.AppInfo)]
        [uuid(BE4B1F5A-2098-431B-BD25-B30878748D47)]
        interface IAppInfo2 : IInspectable
        {
            [propget] HRESULT Package([out] [retval] Windows.ApplicationModel.Package** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 10.0)]
        [uuid(CF1F782A-E48B-4F0C-9B0B-79C3F8957DD7)]
        interface IAppInfoStatics : IInspectable
        {
            [propget] HRESULT Current([out] [retval] Windows.ApplicationModel.AppInfo** value);
            HRESULT GetFromAppUserModelId([in] HSTRING appUserModelId, [out] [retval] Windows.ApplicationModel.AppInfo** result);
            HRESULT GetFromAppUserModelIdForUser([in] Windows.System.User* user, [in] HSTRING appUserModelId, [out] [retval] Windows.ApplicationModel.AppInfo** result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 7.0)]
        [exclusiveto(Windows.ApplicationModel.AppInstallerInfo)]
        [uuid(29AB2AC0-D4F6-42A3-ADCD-D6583C659508)]
        interface IAppInstallerInfo : IInspectable
        {
            [propget] HRESULT Uri([out] [retval] Windows.Foundation.Uri** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 6.0)]
        [exclusiveto(Windows.ApplicationModel.AppInstance)]
        [uuid(675F2B47-F25F-4532-9FD6-3633E0634D01)]
        interface IAppInstance : IInspectable
        {
            [propget] HRESULT Key([out] [retval] HSTRING* value);
            [propget] HRESULT IsCurrentInstance([out] [retval] boolean* value);
            HRESULT RedirectActivationTo();
        }

        [contract(Windows.Foundation.UniversalApiContract, 6.0)]
        [exclusiveto(Windows.ApplicationModel.AppInstance)]
        [uuid(9D11E77F-9EA6-47AF-A6EC-46784C5BA254)]
        interface IAppInstanceStatics : IInspectable
        {
            [propget] HRESULT RecommendedInstance([out] [retval] Windows.ApplicationModel.AppInstance** value);
            HRESULT GetActivatedEventArgs([out] [retval] Windows.ApplicationModel.Activation.IActivatedEventArgs** result);
            HRESULT FindOrRegisterInstanceForKey([in] HSTRING key, [out] [retval] Windows.ApplicationModel.AppInstance** result);
            HRESULT Unregister();
            HRESULT GetInstances([out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.AppInstance*>** result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.ApplicationModel.DesignMode)]
        [uuid(2C3893CC-F81A-4E7A-B857-76A80887E185)]
        interface IDesignModeStatics : IInspectable
        {
            [propget] HRESULT DesignModeEnabled([out] [retval] boolean* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.ApplicationModel.DesignMode)]
        [uuid(80CF8137-B064-4858-BEC8-3EBA22357535)]
        interface IDesignModeStatics2 : IInspectable
        {
            [propget] HRESULT DesignMode2Enabled([out] [retval] boolean* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [uuid(F722DCC2-9827-403D-AAED-ECCA9AC17398)]
        interface IEnteredBackgroundEventArgs : IInspectable
        {
            HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** value);
        }

        [contract(Windows.ApplicationModel.FullTrustAppContract, 1.0)]
        [exclusiveto(Windows.ApplicationModel.FullTrustProcessLauncher)]
        [uuid(D784837F-1100-3C6B-A455-F6262CC331B6)]
        interface IFullTrustProcessLauncherStatics : IInspectable
        {
            [overload("LaunchFullTrustProcessForCurrentAppAsync")] HRESULT LaunchFullTrustProcessForCurrentAppAsync([out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
            [overload("LaunchFullTrustProcessForCurrentAppAsync")] HRESULT LaunchFullTrustProcessForCurrentAppWithParametersAsync([in] HSTRING parameterGroupId, [out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
            [overload("LaunchFullTrustProcessForAppAsync")] HRESULT LaunchFullTrustProcessForAppAsync([in] HSTRING fullTrustPackageRelativeAppId, [out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
            [overload("LaunchFullTrustProcessForAppAsync")] HRESULT LaunchFullTrustProcessForAppWithParametersAsync([in] HSTRING fullTrustPackageRelativeAppId, [in] HSTRING parameterGroupId, [out] [retval] Windows.Foundation.IAsyncAction** asyncAction);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [uuid(39C6EC9A-AE6E-46F9-A07A-CFC23F88733E)]
        interface ILeavingBackgroundEventArgs : IInspectable
        {
            HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 7.0)]
        [exclusiveto(Windows.ApplicationModel.LimitedAccessFeatureRequestResult)]
        [uuid(D45156A6-1E24-5DDD-ABB4-6188ABA4D5BF)]
        interface ILimitedAccessFeatureRequestResult : IInspectable
        {
            [propget] HRESULT FeatureId([out] [retval] HSTRING* value);
            [propget] HRESULT Status([out] [retval] Windows.ApplicationModel.LimitedAccessFeatureStatus* value);
            [propget] HRESULT EstimatedRemovalDate([out] [retval] Windows.Foundation.IReference<Windows.Foundation.DateTime>** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 7.0)]
        [exclusiveto(Windows.ApplicationModel.LimitedAccessFeatures)]
        [uuid(8BE612D4-302B-5FBF-A632-1A99E43E8925)]
        interface ILimitedAccessFeaturesStatics : IInspectable
        {
            HRESULT TryUnlockFeature([in] HSTRING featureId, [in] HSTRING token, [in] HSTRING attestation, [out] [retval] Windows.ApplicationModel.LimitedAccessFeatureRequestResult** result);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.ApplicationModel.Package)]
        [uuid(163C792F-BD75-413C-BF23-B1FE7B95D825)]
        interface IPackage : IInspectable
        {
            [propget] HRESULT Id([out] [retval] Windows.ApplicationModel.PackageId** value);
            [propget] HRESULT InstalledLocation([out] [retval] Windows.Storage.StorageFolder** value);
            [propget] HRESULT IsFramework([out] [retval] boolean* value);
            [propget] HRESULT Dependencies([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Package*>** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.ApplicationModel.Package)]
        [uuid(A6612FB6-7688-4ACE-95FB-359538E7AA01)]
        interface IPackage2 : IInspectable
        {
            [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
            [propget] HRESULT PublisherDisplayName([out] [retval] HSTRING* value);
            [propget] HRESULT Description([out] [retval] HSTRING* value);
            [propget] HRESULT Logo([out] [retval] Windows.Foundation.Uri** value);
            [propget] HRESULT IsResourcePackage([out] [retval] boolean* value);
            [propget] HRESULT IsBundle([out] [retval] boolean* value);
            [propget] HRESULT IsDevelopmentMode([out] [retval] boolean* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.ApplicationModel.Package)]
        [uuid(5F738B61-F86A-4917-93D1-F1EE9D3B35D9)]
        interface IPackage3 : IInspectable
        {
            [propget] HRESULT Status([out] [retval] Windows.ApplicationModel.PackageStatus** value);
            [propget] HRESULT InstalledDate([out] [retval] Windows.Foundation.DateTime* value);
            HRESULT GetAppListEntriesAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Core.AppListEntry*>*>** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.ApplicationModel.Package)]
        [uuid(65AED1AE-B95B-450C-882B-6255187F397E)]
        interface IPackage4 : IInspectable
        {
            [propget] HRESULT SignatureKind([out] [retval] Windows.ApplicationModel.PackageSignatureKind* value);
            [propget] HRESULT IsOptional([out] [retval] boolean* value);
            HRESULT VerifyContentIntegrityAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        [exclusiveto(Windows.ApplicationModel.Package)]
        [uuid(0E842DD4-D9AC-45ED-9A1E-74CE056B2635)]
        interface IPackage5 : IInspectable
        {
            HRESULT GetContentGroupsAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVector<Windows.ApplicationModel.PackageContentGroup*>*>** operation);
            HRESULT GetContentGroupAsync([in] HSTRING name, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.PackageContentGroup*>** operation);
            [overload("StageContentGroupsAsync")] HRESULT StageContentGroupsAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* names, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVector<Windows.ApplicationModel.PackageContentGroup*>*>** operation);
            [overload("StageContentGroupsAsync")] HRESULT StageContentGroupsWithPriorityAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* names, [in] boolean moveToHeadOfQueue, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVector<Windows.ApplicationModel.PackageContentGroup*>*>** operation);
            HRESULT SetInUseAsync([in] boolean inUse, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 7.0)]
        [exclusiveto(Windows.ApplicationModel.Package)]
        [uuid(8B1AD942-12D7-4754-AE4E-638CBC0E3A2E)]
        interface IPackage6 : IInspectable
        {
            HRESULT GetAppInstallerInfo([out] [retval] Windows.ApplicationModel.AppInstallerInfo** value);
            HRESULT CheckUpdateAvailabilityAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.PackageUpdateAvailabilityResult*>** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 8.0)]
        [exclusiveto(Windows.ApplicationModel.Package)]
        [uuid(86FF8D31-A2E4-45E0-9732-283A6D88FDE1)]
        interface IPackage7 : IInspectable
        {
            [propget] HRESULT MutableLocation([out] [retval] Windows.Storage.StorageFolder** value);
            [propget] HRESULT EffectiveLocation([out] [retval] Windows.Storage.StorageFolder** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 10.0)]
        [exclusiveto(Windows.ApplicationModel.Package)]
        [uuid(2C584F7B-CE2A-4BE6-A093-77CFBB2A7EA1)]
        interface IPackage8 : IInspectable
        {
            [propget] HRESULT EffectiveExternalLocation([out] [retval] Windows.Storage.StorageFolder** value);
            [propget] HRESULT MachineExternalLocation([out] [retval] Windows.Storage.StorageFolder** value);
            [propget] HRESULT UserExternalLocation([out] [retval] Windows.Storage.StorageFolder** value);
            [propget] HRESULT InstalledPath([out] [retval] HSTRING* value);
            [propget] HRESULT MutablePath([out] [retval] HSTRING* value);
            [propget] HRESULT EffectivePath([out] [retval] HSTRING* value);
            [propget] HRESULT EffectiveExternalPath([out] [retval] HSTRING* value);
            [propget] HRESULT MachineExternalPath([out] [retval] HSTRING* value);
            [propget] HRESULT UserExternalPath([out] [retval] HSTRING* value);
            HRESULT GetLogoAsRandomAccessStreamReference([in] Windows.Foundation.Size size, [out] [retval] Windows.Storage.Streams.RandomAccessStreamReference** result);
            HRESULT GetAppListEntries([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Core.AppListEntry*>** result);
            [propget] HRESULT IsStub([out] [retval] boolean* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.ApplicationModel.PackageCatalog)]
        [uuid(230A3751-9DE3-4445-BE74-91FB325ABEFE)]
        interface IPackageCatalog : IInspectable
        {
            [eventadd] HRESULT PackageStaging([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.PackageCatalog*, Windows.ApplicationModel.PackageStagingEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT PackageStaging([in] EventRegistrationToken token);
            [eventadd] HRESULT PackageInstalling([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.PackageCatalog*, Windows.ApplicationModel.PackageInstallingEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT PackageInstalling([in] EventRegistrationToken token);
            [eventadd] HRESULT PackageUpdating([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.PackageCatalog*, Windows.ApplicationModel.PackageUpdatingEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT PackageUpdating([in] EventRegistrationToken token);
            [eventadd] HRESULT PackageUninstalling([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.PackageCatalog*, Windows.ApplicationModel.PackageUninstallingEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT PackageUninstalling([in] EventRegistrationToken token);
            [eventadd] HRESULT PackageStatusChanged([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.PackageCatalog*, Windows.ApplicationModel.PackageStatusChangedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT PackageStatusChanged([in] EventRegistrationToken token);
        }

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        [exclusiveto(Windows.ApplicationModel.PackageCatalog)]
        [uuid(96A60C36-8FF7-4344-B6BF-EE64C2207ED2)]
        interface IPackageCatalog2 : IInspectable
        {
            [eventadd] HRESULT PackageContentGroupStaging([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.PackageCatalog*, Windows.ApplicationModel.PackageContentGroupStagingEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
            [eventremove] HRESULT PackageContentGroupStaging([in] EventRegistrationToken token);
            HRESULT AddOptionalPackageAsync([in] HSTRING optionalPackageFamilyName, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.PackageCatalogAddOptionalPackageResult*>** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.ApplicationModel.PackageCatalog)]
        [uuid(96DD5C88-8837-43F9-9015-033434BA14F3)]
        interface IPackageCatalog3 : IInspectable
        {
            HRESULT RemoveOptionalPackagesAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* optionalPackageFamilyNames, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.PackageCatalogRemoveOptionalPackagesResult*>** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 6.0)]
        [exclusiveto(Windows.ApplicationModel.PackageCatalog)]
        [uuid(C37C399B-44CC-4B7B-8BAF-796C04EAD3B9)]
        interface IPackageCatalog4 : IInspectable
        {
            HRESULT AddResourcePackageAsync([in] HSTRING resourcePackageFamilyName, [in] HSTRING resourceID, [in] Windows.ApplicationModel.AddResourcePackageOptions options, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.ApplicationModel.PackageCatalogAddResourcePackageResult*, Windows.ApplicationModel.PackageInstallProgress>** operation);
            HRESULT RemoveResourcePackagesAsync([in] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package*>* resourcePackages, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.PackageCatalogRemoveResourcePackagesResult*>** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        [exclusiveto(Windows.ApplicationModel.PackageCatalogAddOptionalPackageResult)]
        [uuid(3BF10CD4-B4DF-47B3-A963-E2FA832F7DD3)]
        interface IPackageCatalogAddOptionalPackageResult : IInspectable
        {
            [propget] HRESULT Package([out] [retval] Windows.ApplicationModel.Package** value);
            [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 6.0)]
        [exclusiveto(Windows.ApplicationModel.PackageCatalogAddResourcePackageResult)]
        [uuid(9636CE0D-3E17-493F-AA08-CCEC6FDEF699)]
        interface IPackageCatalogAddResourcePackageResult : IInspectable
        {
            [propget] HRESULT Package([out] [retval] Windows.ApplicationModel.Package** value);
            [propget] HRESULT IsComplete([out] [retval] boolean* value);
            [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        [exclusiveto(Windows.ApplicationModel.PackageCatalogRemoveOptionalPackagesResult)]
        [uuid(29D2F97B-D974-4E64-9359-22CADFD79828)]
        interface IPackageCatalogRemoveOptionalPackagesResult : IInspectable
        {
            [propget] HRESULT PackagesRemoved([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Package*>** value);
            [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 6.0)]
        [exclusiveto(Windows.ApplicationModel.PackageCatalogRemoveResourcePackagesResult)]
        [uuid(AE719709-1A52-4321-87B3-E5A1A17981A7)]
        interface IPackageCatalogRemoveResourcePackagesResult : IInspectable
        {
            [propget] HRESULT PackagesRemoved([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Package*>** value);
            [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.ApplicationModel.PackageCatalog)]
        [uuid(A18C9696-E65B-4634-BA21-5E63EB7244A7)]
        interface IPackageCatalogStatics : IInspectable
        {
            HRESULT OpenForCurrentPackage([out] [retval] Windows.ApplicationModel.PackageCatalog** value);
            HRESULT OpenForCurrentUser([out] [retval] Windows.ApplicationModel.PackageCatalog** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        [exclusiveto(Windows.ApplicationModel.PackageContentGroup)]
        [uuid(8F62695D-120A-4798-B5E1-5800DDA8F2E1)]
        interface IPackageContentGroup : IInspectable
        {
            [propget] HRESULT Package([out] [retval] Windows.ApplicationModel.Package** value);
            [propget] HRESULT Name([out] [retval] HSTRING* value);
            [propget] HRESULT State([out] [retval] Windows.ApplicationModel.PackageContentGroupState* value);
            [propget] HRESULT IsRequired([out] [retval] boolean* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        [exclusiveto(Windows.ApplicationModel.PackageContentGroupStagingEventArgs)]
        [uuid(3D7BC27E-6F27-446C-986E-D4733D4D9113)]
        interface IPackageContentGroupStagingEventArgs : IInspectable
        {
            [propget] HRESULT ActivityId([out] [retval] GUID* value);
            [propget] HRESULT Package([out] [retval] Windows.ApplicationModel.Package** value);
            [propget] HRESULT Progress([out] [retval] DOUBLE* value);
            [propget] HRESULT IsComplete([out] [retval] boolean* value);
            [propget] HRESULT ErrorCode([out] [retval] HRESULT* value);
            [propget] HRESULT ContentGroupName([out] [retval] HSTRING* value);
            [propget] HRESULT IsContentGroupRequired([out] [retval] boolean* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        [exclusiveto(Windows.ApplicationModel.PackageContentGroup)]
        [uuid(70EE7619-5F12-4B92-B9EA-6CCADA13BC75)]
        interface IPackageContentGroupStatics : IInspectable
        {
            [propget] HRESULT RequiredGroupName([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.ApplicationModel.PackageId)]
        [uuid(1ADB665E-37C7-4790-9980-DD7AE74E8BB2)]
        interface IPackageId : IInspectable
        {
            [propget] HRESULT Name([out] [retval] HSTRING* value);
            [propget] HRESULT Version([out] [retval] Windows.ApplicationModel.PackageVersion* value);
            [propget] HRESULT Architecture([out] [retval] Windows.System.ProcessorArchitecture* value);
            [propget] HRESULT ResourceId([out] [retval] HSTRING* value);
            [propget] HRESULT Publisher([out] [retval] HSTRING* value);
            [propget] HRESULT PublisherId([out] [retval] HSTRING* value);
            [propget] HRESULT FullName([out] [retval] HSTRING* value);
            [propget] HRESULT FamilyName([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.ApplicationModel.PackageId)]
        [uuid(40577A7C-0C9E-443D-9074-855F5CE0A08D)]
        interface IPackageIdWithMetadata : IInspectable
        {
            [propget] HRESULT ProductId([out] [retval] HSTRING* value);
            [propget] HRESULT Author([out] [retval] HSTRING* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.ApplicationModel.PackageInstallingEventArgs)]
        [uuid(97741EB7-AB7A-401A-8B61-EB0E7FAFF237)]
        interface IPackageInstallingEventArgs : IInspectable
        {
            [propget] HRESULT ActivityId([out] [retval] GUID* value);
            [propget] HRESULT Package([out] [retval] Windows.ApplicationModel.Package** value);
            [propget] HRESULT Progress([out] [retval] DOUBLE* value);
            [propget] HRESULT IsComplete([out] [retval] boolean* value);
            [propget] HRESULT ErrorCode([out] [retval] HRESULT* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.ApplicationModel.PackageStagingEventArgs)]
        [uuid(1041682D-54E2-4F51-B828-9EF7046C210F)]
        interface IPackageStagingEventArgs : IInspectable
        {
            [propget] HRESULT ActivityId([out] [retval] GUID* value);
            [propget] HRESULT Package([out] [retval] Windows.ApplicationModel.Package** value);
            [propget] HRESULT Progress([out] [retval] DOUBLE* value);
            [propget] HRESULT IsComplete([out] [retval] boolean* value);
            [propget] HRESULT ErrorCode([out] [retval] HRESULT* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.ApplicationModel.Package)]
        [uuid(4E534BDF-2960-4878-97A4-9624DEB72F2D)]
        interface IPackageStatics : IInspectable
        {
            [propget] HRESULT Current([out] [retval] Windows.ApplicationModel.Package** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.ApplicationModel.PackageStatus)]
        [uuid(5FE74F71-A365-4C09-A02D-046D525EA1DA)]
        interface IPackageStatus : IInspectable
        {
            HRESULT VerifyIsOK([out] [retval] boolean* value);
            [propget] HRESULT NotAvailable([out] [retval] boolean* value);
            [propget] HRESULT PackageOffline([out] [retval] boolean* value);
            [propget] HRESULT DataOffline([out] [retval] boolean* value);
            [propget] HRESULT Disabled([out] [retval] boolean* value);
            [propget] HRESULT NeedsRemediation([out] [retval] boolean* value);
            [propget] HRESULT LicenseIssue([out] [retval] boolean* value);
            [propget] HRESULT Modified([out] [retval] boolean* value);
            [propget] HRESULT Tampered([out] [retval] boolean* value);
            [propget] HRESULT DependencyIssue([out] [retval] boolean* value);
            [propget] HRESULT Servicing([out] [retval] boolean* value);
            [propget] HRESULT DeploymentInProgress([out] [retval] boolean* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        [exclusiveto(Windows.ApplicationModel.PackageStatus)]
        [uuid(F428FA93-7C56-4862-ACFA-ABAEDCC0694D)]
        interface IPackageStatus2 : IInspectable
        {
            [propget] HRESULT IsPartiallyStaged([out] [retval] boolean* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.ApplicationModel.PackageStatusChangedEventArgs)]
        [uuid(437D714D-BD80-4A70-BC50-F6E796509575)]
        interface IPackageStatusChangedEventArgs : IInspectable
        {
            [propget] HRESULT Package([out] [retval] Windows.ApplicationModel.Package** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.ApplicationModel.PackageUninstallingEventArgs)]
        [uuid(4443AA52-AB22-44CD-82BB-4EC9B827367A)]
        interface IPackageUninstallingEventArgs : IInspectable
        {
            [propget] HRESULT ActivityId([out] [retval] GUID* value);
            [propget] HRESULT Package([out] [retval] Windows.ApplicationModel.Package** value);
            [propget] HRESULT Progress([out] [retval] DOUBLE* value);
            [propget] HRESULT IsComplete([out] [retval] boolean* value);
            [propget] HRESULT ErrorCode([out] [retval] HRESULT* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 7.0)]
        [exclusiveto(Windows.ApplicationModel.PackageUpdateAvailabilityResult)]
        [uuid(114E5009-199A-48A1-A079-313C45634A71)]
        interface IPackageUpdateAvailabilityResult : IInspectable
        {
            [propget] HRESULT Availability([out] [retval] Windows.ApplicationModel.PackageUpdateAvailability* value);
            [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [exclusiveto(Windows.ApplicationModel.PackageUpdatingEventArgs)]
        [uuid(CD7B4228-FD74-443E-B114-23E677B0E86F)]
        interface IPackageUpdatingEventArgs : IInspectable
        {
            [propget] HRESULT ActivityId([out] [retval] GUID* value);
            [propget] HRESULT SourcePackage([out] [retval] Windows.ApplicationModel.Package** value);
            [propget] HRESULT TargetPackage([out] [retval] Windows.ApplicationModel.Package** value);
            [propget] HRESULT Progress([out] [retval] DOUBLE* value);
            [propget] HRESULT IsComplete([out] [retval] boolean* value);
            [propget] HRESULT ErrorCode([out] [retval] HRESULT* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [exclusiveto(Windows.ApplicationModel.Package)]
        [uuid(95949780-1DE9-40F2-B452-0DE9F1910012)]
        interface IPackageWithMetadata : IInspectable
        {
            [propget] HRESULT InstallDate([out] [retval] Windows.Foundation.DateTime* value);
            HRESULT GetThumbnailToken([out] [retval] HSTRING* value);
            [deprecated("Launch may be altered or unavailable for releases after Windows 8.1. Instead, for SmartCardTrigger scenarios use SmartCardTriggerDetails.TryLaunchSelfAsync", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] HRESULT Launch([in] HSTRING parameters);
        }

        [contract(Windows.ApplicationModel.StartupTaskContract, 1.0)]
        [exclusiveto(Windows.ApplicationModel.StartupTask)]
        [uuid(F75C23C8-B5F2-4F6C-88DD-36CB1D599D17)]
        interface IStartupTask : IInspectable
        {
            HRESULT RequestEnableAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.StartupTaskState>** operation);
            HRESULT Disable();
            [propget] HRESULT State([out] [retval] Windows.ApplicationModel.StartupTaskState* value);
            [propget] HRESULT TaskId([out] [retval] HSTRING* value);
        }

        [contract(Windows.ApplicationModel.StartupTaskContract, 1.0)]
        [exclusiveto(Windows.ApplicationModel.StartupTask)]
        [uuid(EE5B60BD-A148-41A7-B26E-E8B88A1E62F8)]
        interface IStartupTaskStatics : IInspectable
        {
            HRESULT GetForCurrentPackageAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.StartupTask*>*>** operation);
            HRESULT GetAsync([in] HSTRING taskId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.StartupTask*>** operation);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [uuid(59140509-8BC9-4EB4-B636-DABDC4F46F66)]
        interface ISuspendingDeferral : IInspectable
        {
            HRESULT Complete();
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [uuid(96061C05-2DBA-4D08-B0BD-2B30A131C6AA)]
        interface ISuspendingEventArgs : IInspectable
        {
            [propget] HRESULT SuspendingOperation([out] [retval] Windows.ApplicationModel.SuspendingOperation** value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [uuid(9DA4CA41-20E1-4E9B-9F65-A9F435340C3A)]
        interface ISuspendingOperation : IInspectable
        {
            HRESULT GetDeferral([out] [retval] Windows.ApplicationModel.SuspendingDeferral** deferral);
            [propget] HRESULT Deadline([out] [retval] Windows.Foundation.DateTime* value);
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass AppDisplayInfo
        {
            [default] interface Windows.ApplicationModel.IAppDisplayInfo;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        [static(Windows.ApplicationModel.IAppInfoStatics, Windows.Foundation.UniversalApiContract, 10.0)]
        [threading(both)]
        runtimeclass AppInfo
        {
            [default] interface Windows.ApplicationModel.IAppInfo;
            [contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.ApplicationModel.IAppInfo2;
        }

        [contract(Windows.Foundation.UniversalApiContract, 7.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass AppInstallerInfo
        {
            [default] interface Windows.ApplicationModel.IAppInstallerInfo;
        }

        [contract(Windows.Foundation.UniversalApiContract, 6.0)]
        [marshaling_behavior(agile)]
        [static(Windows.ApplicationModel.IAppInstanceStatics, Windows.Foundation.UniversalApiContract, 6.0)]
        [threading(both)]
        runtimeclass AppInstance
        {
            [default] interface Windows.ApplicationModel.IAppInstance;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        [static(Windows.ApplicationModel.IDesignModeStatics, Windows.Foundation.UniversalApiContract, 1.0)]
        [static(Windows.ApplicationModel.IDesignModeStatics2, Windows.Foundation.UniversalApiContract, 5.0)]
        [threading(both)]
        runtimeclass DesignMode
        {
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [marshaling_behavior(agile)]
        runtimeclass EnteredBackgroundEventArgs
        {
            [default] interface Windows.ApplicationModel.IEnteredBackgroundEventArgs;
        }

        [contract(Windows.ApplicationModel.FullTrustAppContract, 1.0)]
        [marshaling_behavior(agile)]
        [static(Windows.ApplicationModel.IFullTrustProcessLauncherStatics, Windows.ApplicationModel.FullTrustAppContract, 1.0)]
        [threading(both)]
        runtimeclass FullTrustProcessLauncher
        {
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [marshaling_behavior(agile)]
        runtimeclass LeavingBackgroundEventArgs
        {
            [default] interface Windows.ApplicationModel.ILeavingBackgroundEventArgs;
        }

        [contract(Windows.Foundation.UniversalApiContract, 7.0)]
        [marshaling_behavior(agile)]
        runtimeclass LimitedAccessFeatureRequestResult
        {
            [default] interface Windows.ApplicationModel.ILimitedAccessFeatureRequestResult;
        }

        [contract(Windows.Foundation.UniversalApiContract, 7.0)]
        [marshaling_behavior(agile)]
        [static(Windows.ApplicationModel.ILimitedAccessFeaturesStatics, Windows.Foundation.UniversalApiContract, 7.0)]
        [threading(both)]
        runtimeclass LimitedAccessFeatures
        {
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        [static(Windows.ApplicationModel.IPackageStatics, Windows.Foundation.UniversalApiContract, 1.0)]
        [threading(both)]
        runtimeclass Package
        {
            [default] interface Windows.ApplicationModel.IPackage;
            [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.IPackage2;
            [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.IPackage3;
            [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.IPackageWithMetadata;
            [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.ApplicationModel.IPackage4;
            [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.ApplicationModel.IPackage5;
            [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.ApplicationModel.IPackage6;
            [contract(Windows.Foundation.UniversalApiContract, 8.0)] interface Windows.ApplicationModel.IPackage7;
            [contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.ApplicationModel.IPackage8;
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [static(Windows.ApplicationModel.IPackageCatalogStatics, Windows.Foundation.UniversalApiContract, 3.0)]
        runtimeclass PackageCatalog
        {
            [default] interface Windows.ApplicationModel.IPackageCatalog;
            [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.ApplicationModel.IPackageCatalog2;
            [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.ApplicationModel.IPackageCatalog3;
            [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.ApplicationModel.IPackageCatalog4;
        }

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        runtimeclass PackageCatalogAddOptionalPackageResult
        {
            [default] interface Windows.ApplicationModel.IPackageCatalogAddOptionalPackageResult;
        }

        [contract(Windows.Foundation.UniversalApiContract, 6.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass PackageCatalogAddResourcePackageResult
        {
            [default] interface Windows.ApplicationModel.IPackageCatalogAddResourcePackageResult;
        }

        [contract(Windows.Foundation.UniversalApiContract, 5.0)]
        runtimeclass PackageCatalogRemoveOptionalPackagesResult
        {
            [default] interface Windows.ApplicationModel.IPackageCatalogRemoveOptionalPackagesResult;
        }

        [contract(Windows.Foundation.UniversalApiContract, 6.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass PackageCatalogRemoveResourcePackagesResult
        {
            [default] interface Windows.ApplicationModel.IPackageCatalogRemoveResourcePackagesResult;
        }

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        [marshaling_behavior(agile)]
        [static(Windows.ApplicationModel.IPackageContentGroupStatics, Windows.Foundation.UniversalApiContract, 4.0)]
        [threading(both)]
        runtimeclass PackageContentGroup
        {
            [default] interface Windows.ApplicationModel.IPackageContentGroup;
        }

        [contract(Windows.Foundation.UniversalApiContract, 4.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass PackageContentGroupStagingEventArgs
        {
            [default] interface Windows.ApplicationModel.IPackageContentGroupStagingEventArgs;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass PackageId
        {
            [default] interface Windows.ApplicationModel.IPackageId;
            [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.IPackageIdWithMetadata;
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass PackageInstallingEventArgs
        {
            [default] interface Windows.ApplicationModel.IPackageInstallingEventArgs;
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass PackageStagingEventArgs
        {
            [default] interface Windows.ApplicationModel.IPackageStagingEventArgs;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass PackageStatus
        {
            [default] interface Windows.ApplicationModel.IPackageStatus;
            [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.ApplicationModel.IPackageStatus2;
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass PackageStatusChangedEventArgs
        {
            [default] interface Windows.ApplicationModel.IPackageStatusChangedEventArgs;
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass PackageUninstallingEventArgs
        {
            [default] interface Windows.ApplicationModel.IPackageUninstallingEventArgs;
        }

        [contract(Windows.Foundation.UniversalApiContract, 7.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass PackageUpdateAvailabilityResult
        {
            [default] interface Windows.ApplicationModel.IPackageUpdateAvailabilityResult;
        }

        [contract(Windows.Foundation.UniversalApiContract, 3.0)]
        [marshaling_behavior(agile)]
        [threading(both)]
        runtimeclass PackageUpdatingEventArgs
        {
            [default] interface Windows.ApplicationModel.IPackageUpdatingEventArgs;
        }

        [contract(Windows.ApplicationModel.StartupTaskContract, 1.0)]
        [marshaling_behavior(agile)]
        [static(Windows.ApplicationModel.IStartupTaskStatics, Windows.ApplicationModel.StartupTaskContract, 1.0)]
        [threading(both)]
        runtimeclass StartupTask
        {
            [default] interface Windows.ApplicationModel.IStartupTask;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass SuspendingDeferral
        {
            [default] interface Windows.ApplicationModel.ISuspendingDeferral;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass SuspendingEventArgs
        {
            [default] interface Windows.ApplicationModel.ISuspendingEventArgs;
        }

        [contract(Windows.Foundation.UniversalApiContract, 1.0)]
        [marshaling_behavior(agile)]
        runtimeclass SuspendingOperation
        {
            [default] interface Windows.ApplicationModel.ISuspendingOperation;
        }
    }
}
