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

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.ApplicationModel.Core.idl";
import "Windows.System.idl";
import "Windows.UI.idl";
import "Windows.UI.Popups.idl";
// Additional imports to ensure that all required headers are included
cpp_quote("#if defined(__cplusplus)")
cpp_quote("}")
cpp_quote("#endif // defined(__cplusplus)")
cpp_quote("#include <Windows.Foundation.h>")
cpp_quote("#if !defined(__windows2Eapplicationmodel2Ecore_h__)")
cpp_quote("#include <Windows.ApplicationModel.Core.h>")
cpp_quote("#endif // !defined(__windows2Eapplicationmodel2Ecore_h__)")
cpp_quote("#if !defined(__windows2Esystem_h__)")
cpp_quote("#include <Windows.System.h>")
cpp_quote("#endif // !defined(__windows2Esystem_h__)")
cpp_quote("#if !defined(__windows2Eui_h__)")
cpp_quote("#include <Windows.UI.h>")
cpp_quote("#endif // !defined(__windows2Eui_h__)")
cpp_quote("#if !defined(__windows2Eui2Epopups_h__)")
cpp_quote("#include <Windows.UI.Popups.h>")
cpp_quote("#endif // !defined(__windows2Eui2Epopups_h__)")
cpp_quote("#if defined(__cplusplus)")
cpp_quote("extern \"C\" {")
cpp_quote("#endif // defined(__cplusplus)")

// 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 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 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 IStartScreenManager;

            interface IStartScreenManagerStatics;

            interface IVisualElementsRequest;

            interface IVisualElementsRequestDeferral;

            interface IVisualElementsRequestedEventArgs;

            runtimeclass JumpList;

            runtimeclass JumpListItem;

            runtimeclass SecondaryTile;

            runtimeclass SecondaryTileVisualElements;

            runtimeclass StartScreenManager;

            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, 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, 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, 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, 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)]
            [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(standard)]
            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, 4.0)]
            [static(Windows.UI.StartScreen.IStartScreenManagerStatics, Windows.Foundation.UniversalApiContract, 4.0)]
            runtimeclass StartScreenManager
            {
                [default] interface Windows.UI.StartScreen.IStartScreenManager;
            }

            [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;
            }
        }
    }
}
