# WARNING: Please don't edit this file. It was generated by Python/WinRT v1.0.0-beta.2

import sys
import types
import typing
import uuid

import winsdk._winrt as _winrt

try:
    import winsdk.windows.foundation
except Exception:
    pass

try:
    import winsdk.windows.foundation.collections
except Exception:
    pass

try:
    import winsdk.windows.storage.streams
except Exception:
    pass

class LockApplicationHost(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> LockApplicationHost: ...
    @typing.overload
    @staticmethod
    def get_for_current_view() -> LockApplicationHost: ...
    @typing.overload
    def request_unlock(self) -> None: ...
    @typing.overload
    def add_unlocking(self, handler: winsdk.windows.foundation.TypedEventHandler[LockApplicationHost, LockScreenUnlockingEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_unlocking(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class LockScreenBadge(_winrt.Object):
    automation_name: str
    glyph: winsdk.windows.storage.streams.IRandomAccessStream
    logo: winsdk.windows.storage.streams.IRandomAccessStream
    number: typing.Optional[_winrt.UInt32]
    @staticmethod
    def _from(obj: _winrt.Object) -> LockScreenBadge: ...
    @typing.overload
    def launch_app(self) -> None: ...

class LockScreenInfo(_winrt.Object):
    alarm_icon: winsdk.windows.storage.streams.IRandomAccessStream
    badges: winsdk.windows.foundation.collections.IVectorView[LockScreenBadge]
    detail_text: winsdk.windows.foundation.collections.IVectorView[str]
    lock_screen_image: winsdk.windows.storage.streams.IRandomAccessStream
    @staticmethod
    def _from(obj: _winrt.Object) -> LockScreenInfo: ...
    @typing.overload
    def add_alarm_icon_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[LockScreenInfo, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_alarm_icon_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_badges_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[LockScreenInfo, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_badges_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_detail_text_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[LockScreenInfo, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_detail_text_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_lock_screen_image_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[LockScreenInfo, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_lock_screen_image_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class LockScreenUnlockingDeferral(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> LockScreenUnlockingDeferral: ...
    @typing.overload
    def complete(self) -> None: ...

class LockScreenUnlockingEventArgs(_winrt.Object):
    deadline: winsdk.windows.foundation.DateTime
    @staticmethod
    def _from(obj: _winrt.Object) -> LockScreenUnlockingEventArgs: ...
    @typing.overload
    def get_deferral(self) -> LockScreenUnlockingDeferral: ...

