//
// 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.UI.WindowManagement.idl";

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        runtimeclass Deferral;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace UI
    {
        namespace WindowManagement
        {
            runtimeclass AppWindow;
        }
    }
}
namespace Windows
{
    namespace UI
    {
        namespace Core
        {
            namespace Preview
            {
                interface ICoreAppWindowPreview;

                interface ICoreAppWindowPreviewStatics;

                interface ISystemNavigationCloseRequestedPreviewEventArgs;

                interface ISystemNavigationManagerPreview;

                interface ISystemNavigationManagerPreviewStatics;

                runtimeclass CoreAppWindowPreview;

                runtimeclass SystemNavigationCloseRequestedPreviewEventArgs;

                runtimeclass SystemNavigationManagerPreview;
            }
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace UI
    {
        namespace Core
        {
            namespace Preview
            {
                declare
                {
                    interface Windows.Foundation.EventHandler<Windows.UI.Core.Preview.SystemNavigationCloseRequestedPreviewEventArgs*>;
                }
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace UI
    {
        namespace Core
        {
            namespace Preview
            {
                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                [exclusiveto(Windows.UI.Core.Preview.CoreAppWindowPreview)]
                [uuid(A4F6E665-365E-5FDE-87A5-9543C3A15AA8)]
                interface ICoreAppWindowPreview : IInspectable
                {
                }

                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                [exclusiveto(Windows.UI.Core.Preview.CoreAppWindowPreview)]
                [uuid(33AC21BE-423B-5DB6-8A8E-4DC87353B75B)]
                interface ICoreAppWindowPreviewStatics : IInspectable
                {
                    HRESULT GetIdFromWindow([in] Windows.UI.WindowManagement.AppWindow* window, [out] [retval] INT32* result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Core.Preview.SystemNavigationCloseRequestedPreviewEventArgs)]
                [uuid(83D00DE1-CBE5-4F31-8414-361DA046518F)]
                interface ISystemNavigationCloseRequestedPreviewEventArgs : IInspectable
                {
                    [propget] HRESULT Handled([out] [retval] boolean* value);
                    [propput] HRESULT Handled([in] boolean value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Core.Preview.SystemNavigationManagerPreview)]
                [uuid(EC5F0488-6425-4777-A536-CB5634427F0D)]
                interface ISystemNavigationManagerPreview : IInspectable
                {
                    [eventadd] HRESULT CloseRequested([in] Windows.Foundation.EventHandler<Windows.UI.Core.Preview.SystemNavigationCloseRequestedPreviewEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT CloseRequested([in] EventRegistrationToken token);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.UI.Core.Preview.SystemNavigationManagerPreview)]
                [uuid(0E971360-DF74-4BCE-84CB-BD1181AC0A71)]
                interface ISystemNavigationManagerPreviewStatics : IInspectable
                {
                    HRESULT GetForCurrentView([out] [retval] Windows.UI.Core.Preview.SystemNavigationManagerPreview** loader);
                }

                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                [marshaling_behavior(agile)]
                [static(Windows.UI.Core.Preview.ICoreAppWindowPreviewStatics, Windows.Foundation.UniversalApiContract, 8.0)]
                [threading(both)]
                runtimeclass CoreAppWindowPreview
                {
                    [default] interface Windows.UI.Core.Preview.ICoreAppWindowPreview;
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                runtimeclass SystemNavigationCloseRequestedPreviewEventArgs
                {
                    [default] interface Windows.UI.Core.Preview.ISystemNavigationCloseRequestedPreviewEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [static(Windows.UI.Core.Preview.ISystemNavigationManagerPreviewStatics, Windows.Foundation.UniversalApiContract, 4.0)]
                runtimeclass SystemNavigationManagerPreview
                {
                    [default] interface Windows.UI.Core.Preview.ISystemNavigationManagerPreview;
                }
            }
        }
    }
}
