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

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "Windows.Foundation.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(__cplusplus)")
cpp_quote("extern \"C\" {")
cpp_quote("#endif // defined(__cplusplus)")

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;
    }
}
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Calls
        {
            interface ILockScreenCallEndCallDeferral;

            interface ILockScreenCallEndRequestedEventArgs;

            interface ILockScreenCallUI;

            runtimeclass LockScreenCallEndCallDeferral;

            runtimeclass LockScreenCallUI;

            runtimeclass LockScreenCallEndRequestedEventArgs;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Calls
        {
            declare
            {
                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.LockScreenCallUI*, IInspectable*>;

                interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.LockScreenCallUI*, Windows.ApplicationModel.Calls.LockScreenCallEndRequestedEventArgs*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Calls
        {
            [exclusiveto(Windows.ApplicationModel.Calls.LockScreenCallEndCallDeferral)]
            [uuid(2DD7ED0D-98ED-4041-9632-50FF812B773F)]
            [version(0x06030000)]
            interface ILockScreenCallEndCallDeferral : IInspectable
            {
                HRESULT Complete();
            }

            [exclusiveto(Windows.ApplicationModel.Calls.LockScreenCallEndRequestedEventArgs)]
            [uuid(8190A363-6F27-46E9-AEB6-C0AE83E47DC7)]
            [version(0x06030000)]
            interface ILockScreenCallEndRequestedEventArgs : IInspectable
            {
                HRESULT GetDeferral([out] [retval] Windows.ApplicationModel.Calls.LockScreenCallEndCallDeferral** value);
                [propget] HRESULT Deadline([out] [retval] Windows.Foundation.DateTime* value);
            }

            [exclusiveto(Windows.ApplicationModel.Calls.LockScreenCallUI)]
            [uuid(C596FD8D-73C9-4A14-B021-EC1C50A3B727)]
            [version(0x06030000)]
            interface ILockScreenCallUI : IInspectable
            {
                HRESULT Dismiss();
                [eventadd] HRESULT EndRequested([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.LockScreenCallUI*, Windows.ApplicationModel.Calls.LockScreenCallEndRequestedEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT EndRequested([in] EventRegistrationToken token);
                [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.Calls.LockScreenCallUI*, IInspectable*>* handler, [out] [retval] EventRegistrationToken* token);
                [eventremove] HRESULT Closed([in] EventRegistrationToken token);
                [propget] HRESULT CallTitle([out] [retval] HSTRING* value);
                [propput] HRESULT CallTitle([in] HSTRING value);
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass LockScreenCallEndCallDeferral
            {
                [default] interface Windows.ApplicationModel.Calls.ILockScreenCallEndCallDeferral;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass LockScreenCallUI
            {
                [default] interface Windows.ApplicationModel.Calls.ILockScreenCallUI;
            }

            [marshaling_behavior(agile)]
            [version(0x06030000)]
            runtimeclass LockScreenCallEndRequestedEventArgs
            {
                [default] interface Windows.ApplicationModel.Calls.ILockScreenCallEndRequestedEventArgs;
            }
        }
    }
}
