//
// 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.Core.idl";
import "Windows.Perception.Spatial.idl";
import "Windows.System.idl";
import "Windows.UI.idl";
import "Windows.UI.Popups.idl";

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

        interface IAsyncAction;

        typedef struct Point Point;

        typedef struct Rect Rect;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace Perception
    {
        namespace Spatial
        {
            typedef struct SpatialBoundingBox SpatialBoundingBox;
        }
    }
}
namespace Windows
{
    namespace System
    {
        runtimeclass User;
    }
}
namespace Windows
{
    namespace UI
    {
        typedef struct Color Color;
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Popups
        {
            typedef enum Placement Placement;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace StartScreen
        {
            typedef enum ForegroundText ForegroundText;

            typedef enum JumpListItemKind JumpListItemKind;

            typedef enum JumpListSystemGroupKind JumpListSystemGroupKind;

            typedef enum TileMixedRealityModelActivationBehavior TileMixedRealityModelActivationBehavior;

            typedef enum TileOptions TileOptions;

            typedef enum TileSize TileSize;

            interface IJumpList;

            interface IJumpListItem;

            interface IJumpListItemStatics;

            interface IJumpListStatics;

            interface ISecondaryTile;

            interface ISecondaryTile2;

            interface ISecondaryTileFactory;

            interface ISecondaryTileFactory2;

            interface ISecondaryTileStatics;

            interface ISecondaryTileVisualElements;

            interface ISecondaryTileVisualElements2;

            interface ISecondaryTileVisualElements3;

            interface ISecondaryTileVisualElements4;

            interface IStartScreenManager;

            interface IStartScreenManager2;

            interface IStartScreenManagerStatics;

            interface ITileMixedRealityModel;

            interface ITileMixedRealityModel2;

            interface IVisualElementsRequest;

            interface IVisualElementsRequestDeferral;

            interface IVisualElementsRequestedEventArgs;

            runtimeclass JumpList;

            runtimeclass JumpListItem;

            runtimeclass SecondaryTile;

            runtimeclass SecondaryTileVisualElements;

            runtimeclass StartScreenManager;

            runtimeclass TileMixedRealityModel;

            runtimeclass VisualElementsRequest;

            runtimeclass VisualElementsRequestDeferral;

            runtimeclass VisualElementsRequestedEventArgs;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace UI
    {
        namespace StartScreen
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.UI.StartScreen.JumpListItem*>;

                interface Windows.Foundation.Collections.IIterable<Windows.UI.StartScreen.SecondaryTile*>;

                interface Windows.Foundation.Collections.IIterable<Windows.UI.StartScreen.SecondaryTileVisualElements*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.StartScreen.JumpListItem*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.StartScreen.SecondaryTile*>;

                interface Windows.Foundation.Collections.IIterator<Windows.UI.StartScreen.SecondaryTileVisualElements*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.UI.StartScreen.JumpListItem*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.UI.StartScreen.SecondaryTile*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.UI.StartScreen.SecondaryTileVisualElements*>;

                interface Windows.Foundation.Collections.IVector<Windows.UI.StartScreen.JumpListItem*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.UI.StartScreen.SecondaryTile*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.UI.StartScreen.JumpList*>;

                interface Windows.Foundation.TypedEventHandler<Windows.UI.StartScreen.SecondaryTile*, Windows.UI.StartScreen.VisualElementsRequestedEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace UI
    {
        namespace StartScreen
        {
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum ForegroundText
            {
                Dark  = 0,
                Light = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            enum JumpListItemKind
            {
                Arguments = 0,
                Separator = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            enum JumpListSystemGroupKind
            {
                None     = 0,
                Frequent = 1,
                Recent   = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            enum TileMixedRealityModelActivationBehavior
            {
                Default = 0,
                None    = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum TileOptions
            {
                [deprecated("TileOptions.None may be altered or unavailable for release after Windows Phone 8.1.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
                None               = 0x0,
                [deprecated("TileOptions.ShowNameOnLogo may be altered or unavailable for releases after Windows Phone 8.1. Instead, use SecondaryTile.VisualElements.ShowNameOnSquare150x150Logo.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
                ShowNameOnLogo     = 0x1,
                [deprecated("TileOptions.ShowNameWideOnLogo may be altered or unavailable for releases after Windows Phone 8.1. Instead, use SecondaryTile.VisualElements.ShowNameOnWide310x150Logo.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
                ShowNameOnWideLogo = 0x2,
                [deprecated("TileOptions.CopyOnDeployment may be altered or unavailable for releases after Windows Phone 8.1. Instead, use SecondaryTile.RoamingEnabled to control roaming behavior.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
                CopyOnDeployment   = 0x4
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum TileSize
            {
                Default       = 0,
                [deprecated("TileSize.Square30x30 may be altered or unavailable for release after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
                Square30x30   = 1,
                [deprecated("TileSize.Square70x70 may be altered or unavailable for release after Windows Phone 8.1.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)]
                Square70x70   = 2,
                Square150x150 = 3,
                Wide310x150   = 4,
                Square310x310 = 5,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                Square71x71   = 6,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                Square44x44   = 7
            };

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.StartScreen.JumpList)]
            [uuid(B0234C3E-CD6F-4CB6-A611-61FD505F3ED1)]
            interface IJumpList : IInspectable
            {
                [propget] HRESULT Items([out] [retval] Windows.Foundation.Collections.IVector<Windows.UI.StartScreen.JumpListItem*>** value);
                [propget] HRESULT SystemGroupKind([out] [retval] Windows.UI.StartScreen.JumpListSystemGroupKind* value);
                [propput] HRESULT SystemGroupKind([in] Windows.UI.StartScreen.JumpListSystemGroupKind value);
                HRESULT SaveAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.StartScreen.JumpListItem)]
            [uuid(7ADB6717-8B5D-4820-995B-9B418DBE48B0)]
            interface IJumpListItem : IInspectable
            {
                [propget] HRESULT Kind([out] [retval] Windows.UI.StartScreen.JumpListItemKind* value);
                [propget] HRESULT Arguments([out] [retval] HSTRING* value);
                [propget] HRESULT RemovedByUser([out] [retval] boolean* value);
                [propget] HRESULT Description([out] [retval] HSTRING* value);
                [propput] HRESULT Description([in] HSTRING value);
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propput] HRESULT DisplayName([in] HSTRING value);
                [propget] HRESULT GroupName([out] [retval] HSTRING* value);
                [propput] HRESULT GroupName([in] HSTRING value);
                [propget] HRESULT Logo([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT Logo([in] Windows.Foundation.Uri* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.StartScreen.JumpListItem)]
            [uuid(F1BFC4E8-C7AA-49CB-8DDE-ECFCCD7AD7E4)]
            interface IJumpListItemStatics : IInspectable
            {
                HRESULT CreateWithArguments([in] HSTRING arguments, [in] HSTRING displayName, [out] [retval] Windows.UI.StartScreen.JumpListItem** result);
                HRESULT CreateSeparator([out] [retval] Windows.UI.StartScreen.JumpListItem** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [exclusiveto(Windows.UI.StartScreen.JumpList)]
            [uuid(A7E0C681-E67E-4B74-8250-3F322C4D92C3)]
            interface IJumpListStatics : IInspectable
            {
                HRESULT LoadCurrentAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.UI.StartScreen.JumpList*>** result);
                HRESULT IsSupported([out] [retval] boolean* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.StartScreen.SecondaryTile)]
            [uuid(9E9E51E0-2BB5-4BC0-BB8D-42B23ABCC88D)]
            interface ISecondaryTile : IInspectable
            {
                [propput] HRESULT TileId([in] HSTRING value);
                [propget] HRESULT TileId([out] [retval] HSTRING* value);
                [propput] HRESULT Arguments([in] HSTRING value);
                [propget] HRESULT Arguments([out] [retval] HSTRING* value);
                [deprecated("ShortName may be altered or unavailable for releases after Windows Phone 8.1. Instead, use DisplayName.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propput] HRESULT ShortName([in] HSTRING value);
                [deprecated("ShortName may be altered or unavailable for releases after Windows 8.1. Instead, use DisplayName.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT ShortName([out] [retval] HSTRING* value);
                [propput] HRESULT DisplayName([in] HSTRING value);
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [deprecated("Logo may be altered or unavailable for releases after Windows 8.1. Instead, use VisualElements.Square150x150Logo.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propput] HRESULT Logo([in] Windows.Foundation.Uri* value);
                [deprecated("Logo may be altered or unavailable for releases after Windows 8.1. Instead, use VisualElements.Square150x150Logo.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT Logo([out] [retval] Windows.Foundation.Uri** value);
                [deprecated("SmallLogo may be altered or unavailable for releases after Windows 8.1. Instead, use VisualElements.Square30x30Logo.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propput] HRESULT SmallLogo([in] Windows.Foundation.Uri* value);
                [deprecated("SmallLogo may be altered or unavailable for releases after Windows 8.1. Instead, use VisualElements.Square30x30Logo.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT SmallLogo([out] [retval] Windows.Foundation.Uri** value);
                [deprecated("WideLogo may be altered or unavailable for releases after Windows 8.1. Instead, use VisualElements.Wide310x150Logo.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propput] HRESULT WideLogo([in] Windows.Foundation.Uri* value);
                [deprecated("WideLogo may be altered or unavailable for releases after Windows 8.1. Instead, use VisualElements.Wide310x150Logo.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT WideLogo([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT LockScreenBadgeLogo([in] Windows.Foundation.Uri* value);
                [propget] HRESULT LockScreenBadgeLogo([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT LockScreenDisplayBadgeAndTileText([in] boolean value);
                [propget] HRESULT LockScreenDisplayBadgeAndTileText([out] [retval] boolean* value);
                [deprecated("TileOptions may be altered or unavailable for releases after Windows 8.1. Instead, use VisualElements.ShowNameOnSquare150x150Logo, VisualElements.ShowNameOnWide310x150Logo, and RoamingEnabled.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propput] HRESULT TileOptions([in] Windows.UI.StartScreen.TileOptions value);
                [deprecated("TileOptions may be altered or unavailable for releases after Windows 8.1. Instead, use VisualElements.ShowNameOnSquare150x150Logo, VisualElements.ShowNameOnWide310x150Logo, and RoamingEnabled.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT TileOptions([out] [retval] Windows.UI.StartScreen.TileOptions* value);
                [deprecated("TileOptions may be altered or unavailable for releases after Windows 8.1. Instead, use VisualElements.ShowNameOnSquare150x150Logo, VisualElements.ShowNameOnWide310x150Logo, and RoamingEnabled.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propput] HRESULT ForegroundText([in] Windows.UI.StartScreen.ForegroundText value);
                [deprecated("ForegroundText may be altered or unavailable for releases after Windows 8.1. Instead, use VisualElements.ForegroundText.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT ForegroundText([out] [retval] Windows.UI.StartScreen.ForegroundText* value);
                [deprecated("BackgroundColor may be altered or unavailable for releases after Windows 8.1. Instead, use VisualElements.BackgroundColor.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propput] HRESULT BackgroundColor([in] Windows.UI.Color value);
                [deprecated("BackgroundColor may be altered or unavailable for releases after Windows 8.1. Instead, use VisualElements.BackgroundColor.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT BackgroundColor([out] [retval] Windows.UI.Color* value);
                [overload("RequestCreateAsync")] HRESULT RequestCreateAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("RequestCreateAsync")] HRESULT RequestCreateAsyncWithPoint([in] Windows.Foundation.Point invocationPoint, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("RequestCreateForSelectionAsync")] HRESULT RequestCreateAsyncWithRect([in] Windows.Foundation.Rect selection, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("RequestCreateForSelectionAsync")] HRESULT RequestCreateAsyncWithRectAndPlacement([in] Windows.Foundation.Rect selection, [in] Windows.UI.Popups.Placement preferredPlacement, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("RequestDeleteAsync")] HRESULT RequestDeleteAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("RequestDeleteAsync")] HRESULT RequestDeleteAsyncWithPoint([in] Windows.Foundation.Point invocationPoint, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("RequestDeleteForSelectionAsync")] HRESULT RequestDeleteAsyncWithRect([in] Windows.Foundation.Rect selection, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                [overload("RequestDeleteForSelectionAsync")] HRESULT RequestDeleteAsyncWithRectAndPlacement([in] Windows.Foundation.Rect selection, [in] Windows.UI.Popups.Placement preferredPlacement, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT UpdateAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.StartScreen.SecondaryTile)]
            [uuid(B2F6CC35-3250-4990-923C-294AB4B694DD)]
            interface ISecondaryTile2 : IInspectable
                requires
                    Windows.UI.StartScreen.ISecondaryTile
            {
                [propput] HRESULT PhoneticName([in] HSTRING value);
                [propget] HRESULT PhoneticName([out] [retval] HSTRING* value);
                [propget] HRESULT VisualElements([out] [retval] Windows.UI.StartScreen.SecondaryTileVisualElements** value);
                [propput] HRESULT RoamingEnabled([in] boolean value);
                [propget] HRESULT RoamingEnabled([out] [retval] boolean* value);
                [eventadd] HRESULT VisualElementsRequested([in] Windows.Foundation.TypedEventHandler<Windows.UI.StartScreen.SecondaryTile*, Windows.UI.StartScreen.VisualElementsRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT VisualElementsRequested([in] EventRegistrationToken token);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.StartScreen.SecondaryTile)]
            [uuid(57F52CA0-51BC-4ABF-8EBF-627A0398B05A)]
            interface ISecondaryTileFactory : IInspectable
            {
                [deprecated("SecondaryTile(string, string, string, string, Windows.UI.StartScreen.TileOptions, Windows.Foundation.Uri) may be altered or unavailable for releases after Windows Phone 8.1. Instead, use SecondaryTile(string, string, string, Windows.Foundation.Uri, Windows.UI.StartScreen.TileSize).", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] HRESULT CreateTile([in] HSTRING tileId, [in] HSTRING shortName, [in] HSTRING displayName, [in] HSTRING arguments, [in] Windows.UI.StartScreen.TileOptions tileOptions, [in] Windows.Foundation.Uri* logoReference, [out] [retval] Windows.UI.StartScreen.SecondaryTile** value);
                [deprecated("SecondaryTile(string, string, string, string, Windows.UI.StartScreen.TileOptions, Windows.Foundation.Uri, Windows.Foundation.Uri) may be altered or unavailable for releases after Windows Phone 8.1. Instead, use SecondaryTile(string, string, string, Windows.Foundation.Uri, Windows.UI.StartScreen.TileSize).", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] HRESULT CreateWideTile([in] HSTRING tileId, [in] HSTRING shortName, [in] HSTRING displayName, [in] HSTRING arguments, [in] Windows.UI.StartScreen.TileOptions tileOptions, [in] Windows.Foundation.Uri* logoReference, [in] Windows.Foundation.Uri* wideLogoReference, [out] [retval] Windows.UI.StartScreen.SecondaryTile** value);
                HRESULT CreateWithId([in] HSTRING tileId, [out] [retval] Windows.UI.StartScreen.SecondaryTile** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.StartScreen.SecondaryTile)]
            [uuid(274B8A3B-522D-448E-9EB2-D0672AB345C8)]
            interface ISecondaryTileFactory2 : IInspectable
                requires
                    Windows.UI.StartScreen.ISecondaryTileFactory
            {
                HRESULT CreateMinimalTile([in] HSTRING tileId, [in] HSTRING displayName, [in] HSTRING arguments, [in] Windows.Foundation.Uri* square150x150Logo, [in] Windows.UI.StartScreen.TileSize desiredSize, [out] [retval] Windows.UI.StartScreen.SecondaryTile** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.StartScreen.SecondaryTile)]
            [uuid(99908DAE-D051-4676-87FE-9EC242D83C74)]
            interface ISecondaryTileStatics : IInspectable
            {
                HRESULT Exists([in] HSTRING tileId, [out] [retval] boolean* exists);
                [overload("FindAllAsync")] HRESULT FindAllAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.UI.StartScreen.SecondaryTile*>*>** operation);
                [overload("FindAllAsync")] HRESULT FindAllForApplicationAsync([in] HSTRING applicationId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.UI.StartScreen.SecondaryTile*>*>** operation);
                HRESULT FindAllForPackageAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.UI.StartScreen.SecondaryTile*>*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.StartScreen.SecondaryTileVisualElements)]
            [uuid(1D8DF333-815E-413F-9F50-A81DA70A96B2)]
            interface ISecondaryTileVisualElements : IInspectable
            {
                [deprecated("SecondaryTileVisualElements.Square30x30Logo may be altered or unavailable for release after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propput] HRESULT Square30x30Logo([in] Windows.Foundation.Uri* value);
                [deprecated("SecondaryTileVisualElements.Square30x30Logo may be altered or unavailable for release after Windows 10.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT Square30x30Logo([out] [retval] Windows.Foundation.Uri** value);
                [deprecated("SecondaryTileVisualElements.Square70x70Logo may be altered or unavailable for release after Windows Phone 8.1.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propput] HRESULT Square70x70Logo([in] Windows.Foundation.Uri* value);
                [deprecated("SecondaryTileVisualElements.Square70x70Logo may be altered or unavailable for release after Windows Phone 8.1.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT Square70x70Logo([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT Square150x150Logo([in] Windows.Foundation.Uri* value);
                [propget] HRESULT Square150x150Logo([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT Wide310x150Logo([in] Windows.Foundation.Uri* value);
                [propget] HRESULT Wide310x150Logo([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT Square310x310Logo([in] Windows.Foundation.Uri* value);
                [propget] HRESULT Square310x310Logo([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT ForegroundText([in] Windows.UI.StartScreen.ForegroundText value);
                [propget] HRESULT ForegroundText([out] [retval] Windows.UI.StartScreen.ForegroundText* value);
                [propput] HRESULT BackgroundColor([in] Windows.UI.Color value);
                [propget] HRESULT BackgroundColor([out] [retval] Windows.UI.Color* value);
                [propput] HRESULT ShowNameOnSquare150x150Logo([in] boolean value);
                [propget] HRESULT ShowNameOnSquare150x150Logo([out] [retval] boolean* value);
                [propput] HRESULT ShowNameOnWide310x150Logo([in] boolean value);
                [propget] HRESULT ShowNameOnWide310x150Logo([out] [retval] boolean* value);
                [propput] HRESULT ShowNameOnSquare310x310Logo([in] boolean value);
                [propget] HRESULT ShowNameOnSquare310x310Logo([out] [retval] boolean* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.StartScreen.SecondaryTileVisualElements)]
            [uuid(FD2E31D0-57DC-4794-8ECF-5682F5F3E6EF)]
            interface ISecondaryTileVisualElements2 : IInspectable
            {
                [propput] HRESULT Square71x71Logo([in] Windows.Foundation.Uri* value);
                [propget] HRESULT Square71x71Logo([out] [retval] Windows.Foundation.Uri** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.StartScreen.SecondaryTileVisualElements)]
            [uuid(56B55AD6-D15C-40F4-81E7-57FFD8F8A4E9)]
            interface ISecondaryTileVisualElements3 : IInspectable
            {
                [propput] HRESULT Square44x44Logo([in] Windows.Foundation.Uri* value);
                [propget] HRESULT Square44x44Logo([out] [retval] Windows.Foundation.Uri** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.StartScreen.SecondaryTileVisualElements)]
            [uuid(66566117-B544-40D2-8D12-74D4EC24D04C)]
            interface ISecondaryTileVisualElements4 : IInspectable
            {
                [propget] HRESULT MixedRealityModel([out] [retval] Windows.UI.StartScreen.TileMixedRealityModel** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.StartScreen.StartScreenManager)]
            [uuid(4A1DCBCB-26E9-4EB4-8933-859EB6ECDB29)]
            interface IStartScreenManager : IInspectable
            {
                [propget] HRESULT User([out] [retval] Windows.System.User** value);
                HRESULT SupportsAppListEntry([in] Windows.ApplicationModel.Core.AppListEntry* appListEntry, [out] [retval] boolean* result);
                HRESULT ContainsAppListEntryAsync([in] Windows.ApplicationModel.Core.AppListEntry* appListEntry, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT RequestAddAppListEntryAsync([in] Windows.ApplicationModel.Core.AppListEntry* appListEntry, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.UI.StartScreen.StartScreenManager)]
            [uuid(08A716B6-316B-4AD9-ACB8-FE9CF00BD608)]
            interface IStartScreenManager2 : IInspectable
                requires
                    Windows.UI.StartScreen.IStartScreenManager
            {
                HRESULT ContainsSecondaryTileAsync([in] HSTRING tileId, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT TryRemoveSecondaryTileAsync([in] HSTRING tileId, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.UI.StartScreen.StartScreenManager)]
            [uuid(7865EF0F-B585-464E-8993-34E8F8738D48)]
            interface IStartScreenManagerStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.UI.StartScreen.StartScreenManager** value);
                HRESULT GetForUser([in] Windows.System.User* user, [out] [retval] Windows.UI.StartScreen.StartScreenManager** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.UI.StartScreen.TileMixedRealityModel)]
            [uuid(B0764E5B-887D-4242-9A19-3D0A4EA78031)]
            interface ITileMixedRealityModel : IInspectable
            {
                [propput] HRESULT Uri([in] Windows.Foundation.Uri* value);
                [propget] HRESULT Uri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT BoundingBox([in] Windows.Foundation.IReference<Windows.Perception.Spatial.SpatialBoundingBox>* value);
                [propget] HRESULT BoundingBox([out] [retval] Windows.Foundation.IReference<Windows.Perception.Spatial.SpatialBoundingBox>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.UI.StartScreen.TileMixedRealityModel)]
            [uuid(439470B2-D7C5-410B-8319-9486A27B6C67)]
            interface ITileMixedRealityModel2 : IInspectable
            {
                [propput] HRESULT ActivationBehavior([in] Windows.UI.StartScreen.TileMixedRealityModelActivationBehavior value);
                [propget] HRESULT ActivationBehavior([out] [retval] Windows.UI.StartScreen.TileMixedRealityModelActivationBehavior* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.StartScreen.VisualElementsRequest)]
            [uuid(C138333A-9308-4072-88CC-D068DB347C68)]
            interface IVisualElementsRequest : IInspectable
            {
                [propget] HRESULT VisualElements([out] [retval] Windows.UI.StartScreen.SecondaryTileVisualElements** value);
                [propget] HRESULT AlternateVisualElements([out] [retval] Windows.Foundation.Collections.IVectorView<Windows.UI.StartScreen.SecondaryTileVisualElements*>** value);
                [propget] HRESULT Deadline([out] [retval] Windows.Foundation.DateTime* value);
                HRESULT GetDeferral([out] [retval] Windows.UI.StartScreen.VisualElementsRequestDeferral** deferral);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.StartScreen.VisualElementsRequestDeferral)]
            [uuid(A1656EB0-0126-4357-8204-BD82BB2A046D)]
            interface IVisualElementsRequestDeferral : IInspectable
            {
                HRESULT Complete();
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.UI.StartScreen.VisualElementsRequestedEventArgs)]
            [uuid(7B6FC982-3A0D-4ECE-AF96-CD17E1B00B2D)]
            interface IVisualElementsRequestedEventArgs : IInspectable
            {
                [propget] HRESULT Request([out] [retval] Windows.UI.StartScreen.VisualElementsRequest** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.StartScreen.IJumpListStatics, Windows.Foundation.UniversalApiContract, 2.0)]
            runtimeclass JumpList
            {
                [default] interface Windows.UI.StartScreen.IJumpList;
            }

            [contract(Windows.Foundation.UniversalApiContract, 2.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.StartScreen.IJumpListItemStatics, Windows.Foundation.UniversalApiContract, 2.0)]
            runtimeclass JumpListItem
            {
                [default] interface Windows.UI.StartScreen.IJumpListItem;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.UI.StartScreen.ISecondaryTileFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.UI.StartScreen.ISecondaryTileFactory2, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.StartScreen.ISecondaryTileStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            runtimeclass SecondaryTile
            {
                [default] interface Windows.UI.StartScreen.ISecondaryTile;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.StartScreen.ISecondaryTile2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass SecondaryTileVisualElements
            {
                [default] interface Windows.UI.StartScreen.ISecondaryTileVisualElements;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.StartScreen.ISecondaryTileVisualElements2;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.UI.StartScreen.ISecondaryTileVisualElements3;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.UI.StartScreen.ISecondaryTileVisualElements4;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [static(Windows.UI.StartScreen.IStartScreenManagerStatics, Windows.Foundation.UniversalApiContract, 4.0)]
            runtimeclass StartScreenManager
            {
                [default] interface Windows.UI.StartScreen.IStartScreenManager;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.UI.StartScreen.IStartScreenManager2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [marshaling_behavior(agile)]
            runtimeclass TileMixedRealityModel
            {
                [default] interface Windows.UI.StartScreen.ITileMixedRealityModel;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.UI.StartScreen.ITileMixedRealityModel2;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass VisualElementsRequest
            {
                [default] interface Windows.UI.StartScreen.IVisualElementsRequest;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass VisualElementsRequestDeferral
            {
                [default] interface Windows.UI.StartScreen.IVisualElementsRequestDeferral;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass VisualElementsRequestedEventArgs
            {
                [default] interface Windows.UI.StartScreen.IVisualElementsRequestedEventArgs;
            }
        }
    }
}
