# WARNING: Please don't edit this file. It was generated by Python/WinRT v2.2.0

import datetime
import sys
import types
import typing
import uuid as _uuid
from builtins import property as _property

import winrt._winrt
import winrt.system
import winrt.windows.foundation as windows_foundation
import winrt.windows.foundation.collections as windows_foundation_collections
import winrt.windows.ui as windows_ui

from winrt.windows.ui.viewmanagement.core import CoreInputViewKind, CoreInputViewOcclusionKind, CoreInputViewXYFocusTransferDirection

Self = typing.TypeVar('Self')

@typing.final
class CoreFrameworkInputView_Static(type):
    def get_for_current_view(cls) -> typing.Optional[CoreFrameworkInputView]: ...
    def get_for_u_i_context(cls, context: typing.Optional[windows_ui.UIContext], /) -> typing.Optional[CoreFrameworkInputView]: ...

@typing.final
class CoreFrameworkInputView(winrt.system.Object, metaclass=CoreFrameworkInputView_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CoreFrameworkInputView: ...
    def add_occlusions_changed(self, handler: windows_foundation.TypedEventHandler[CoreFrameworkInputView, CoreFrameworkInputViewOcclusionsChangedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    def remove_occlusions_changed(self, token: windows_foundation.EventRegistrationToken, /) -> None: ...
    def add_primary_view_animation_starting(self, handler: windows_foundation.TypedEventHandler[CoreFrameworkInputView, CoreFrameworkInputViewAnimationStartingEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    def remove_primary_view_animation_starting(self, token: windows_foundation.EventRegistrationToken, /) -> None: ...

@typing.final
class CoreFrameworkInputViewAnimationStartingEventArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CoreFrameworkInputViewAnimationStartingEventArgs: ...
    @_property
    def animation_duration(self) -> datetime.timedelta: ...
    @_property
    def framework_animation_recommended(self) -> bool: ...
    @_property
    def occlusions(self) -> typing.Optional[windows_foundation_collections.IVectorView[CoreInputViewOcclusion]]: ...

@typing.final
class CoreFrameworkInputViewOcclusionsChangedEventArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CoreFrameworkInputViewOcclusionsChangedEventArgs: ...
    @_property
    def handled(self) -> bool: ...
    @_property
    def occlusions(self) -> typing.Optional[windows_foundation_collections.IVectorView[CoreInputViewOcclusion]]: ...

@typing.final
class CoreInputView_Static(type):
    def get_for_current_view(cls) -> typing.Optional[CoreInputView]: ...
    def get_for_u_i_context(cls, context: typing.Optional[windows_ui.UIContext], /) -> typing.Optional[CoreInputView]: ...

@typing.final
class CoreInputView(winrt.system.Object, metaclass=CoreInputView_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CoreInputView: ...
    def get_core_input_view_occlusions(self) -> typing.Optional[windows_foundation_collections.IVectorView[CoreInputViewOcclusion]]: ...
    def is_kind_supported(self, type: CoreInputViewKind, /) -> bool: ...
    def try_hide(self) -> bool: ...
    def try_hide_primary_view(self) -> bool: ...
    @typing.overload
    def try_show(self) -> bool: ...
    @typing.overload
    def try_show(self, type: CoreInputViewKind, /) -> bool: ...
    def try_show_primary_view(self) -> bool: ...
    def try_transfer_x_y_focus_to_primary_view(self, origin: windows_foundation.Rect, direction: CoreInputViewXYFocusTransferDirection, /) -> bool: ...
    def add_occlusions_changed(self, handler: windows_foundation.TypedEventHandler[CoreInputView, CoreInputViewOcclusionsChangedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    def remove_occlusions_changed(self, token: windows_foundation.EventRegistrationToken, /) -> None: ...
    def add_x_y_focus_transferred_to_primary_view(self, handler: windows_foundation.TypedEventHandler[CoreInputView, winrt.system.Object], /) -> windows_foundation.EventRegistrationToken: ...
    def remove_x_y_focus_transferred_to_primary_view(self, token: windows_foundation.EventRegistrationToken, /) -> None: ...
    def add_x_y_focus_transferring_from_primary_view(self, handler: windows_foundation.TypedEventHandler[CoreInputView, CoreInputViewTransferringXYFocusEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    def remove_x_y_focus_transferring_from_primary_view(self, token: windows_foundation.EventRegistrationToken, /) -> None: ...
    def add_primary_view_hiding(self, handler: windows_foundation.TypedEventHandler[CoreInputView, CoreInputViewHidingEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    def remove_primary_view_hiding(self, token: windows_foundation.EventRegistrationToken, /) -> None: ...
    def add_primary_view_showing(self, handler: windows_foundation.TypedEventHandler[CoreInputView, CoreInputViewShowingEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    def remove_primary_view_showing(self, token: windows_foundation.EventRegistrationToken, /) -> None: ...
    def add_primary_view_animation_starting(self, handler: windows_foundation.TypedEventHandler[CoreInputView, CoreInputViewAnimationStartingEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    def remove_primary_view_animation_starting(self, token: windows_foundation.EventRegistrationToken, /) -> None: ...
    def add_supported_kinds_changed(self, handler: windows_foundation.TypedEventHandler[CoreInputView, winrt.system.Object], /) -> windows_foundation.EventRegistrationToken: ...
    def remove_supported_kinds_changed(self, token: windows_foundation.EventRegistrationToken, /) -> None: ...

@typing.final
class CoreInputViewAnimationStartingEventArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CoreInputViewAnimationStartingEventArgs: ...
    @_property
    def handled(self) -> bool: ...
    @handled.setter
    def handled(self, value: bool) -> None: ...
    @_property
    def animation_duration(self) -> datetime.timedelta: ...
    @_property
    def occlusions(self) -> typing.Optional[windows_foundation_collections.IVectorView[CoreInputViewOcclusion]]: ...

@typing.final
class CoreInputViewHidingEventArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CoreInputViewHidingEventArgs: ...
    def try_cancel(self) -> bool: ...

@typing.final
class CoreInputViewOcclusion(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CoreInputViewOcclusion: ...
    @_property
    def occluding_rect(self) -> windows_foundation.Rect: ...
    @_property
    def occlusion_kind(self) -> CoreInputViewOcclusionKind: ...

@typing.final
class CoreInputViewOcclusionsChangedEventArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CoreInputViewOcclusionsChangedEventArgs: ...
    @_property
    def handled(self) -> bool: ...
    @handled.setter
    def handled(self, value: bool) -> None: ...
    @_property
    def occlusions(self) -> typing.Optional[windows_foundation_collections.IVectorView[CoreInputViewOcclusion]]: ...

@typing.final
class CoreInputViewShowingEventArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CoreInputViewShowingEventArgs: ...
    def try_cancel(self) -> bool: ...

@typing.final
class CoreInputViewTransferringXYFocusEventArgs(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CoreInputViewTransferringXYFocusEventArgs: ...
    @_property
    def transfer_handled(self) -> bool: ...
    @transfer_handled.setter
    def transfer_handled(self, value: bool) -> None: ...
    @_property
    def keep_primary_view_visible(self) -> bool: ...
    @keep_primary_view_visible.setter
    def keep_primary_view_visible(self, value: bool) -> None: ...
    @_property
    def direction(self) -> CoreInputViewXYFocusTransferDirection: ...
    @_property
    def origin(self) -> windows_foundation.Rect: ...

@typing.final
class UISettingsController_Static(type):
    def request_default_async(cls) -> windows_foundation.IAsyncOperation[UISettingsController]: ...

@typing.final
class UISettingsController(winrt.system.Object, metaclass=UISettingsController_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> UISettingsController: ...
    def set_advanced_effects_enabled(self, value: bool, /) -> None: ...
    def set_animations_enabled(self, value: bool, /) -> None: ...
    def set_auto_hide_scroll_bars(self, value: bool, /) -> None: ...
    def set_message_duration(self, value: winrt.system.UInt32, /) -> None: ...
    def set_text_scale_factor(self, value: winrt.system.Double, /) -> None: ...

