# WARNING: Please don't edit this file. It was generated by Python/WinRT v3.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(winrt._winrt.IInspectable_Static):
    # Windows.UI.ViewManagement.Core.CoreFrameworkInputView Windows.UI.ViewManagement.Core.CoreFrameworkInputView::GetForCurrentView()
    def get_for_current_view(cls) -> CoreFrameworkInputView: ...
    # Windows.UI.ViewManagement.Core.CoreFrameworkInputView Windows.UI.ViewManagement.Core.CoreFrameworkInputView::GetForUIContext(Windows.UI.UIContext)
    def get_for_ui_context(cls, context: windows_ui.UIContext, /) -> CoreFrameworkInputView: ...

@typing.final
class CoreFrameworkInputView(winrt.system.Object, metaclass=CoreFrameworkInputView_Static):
    # Windows.Foundation.EventRegistrationToken Windows.UI.ViewManagement.Core.CoreFrameworkInputView::add_OcclusionsChanged(Windows.Foundation.TypedEventHandler`2<Windows.UI.ViewManagement.Core.CoreFrameworkInputView,Windows.UI.ViewManagement.Core.CoreFrameworkInputViewOcclusionsChangedEventArgs>)
    def add_occlusions_changed(self, handler: windows_foundation.TypedEventHandler[CoreFrameworkInputView, CoreFrameworkInputViewOcclusionsChangedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.UI.ViewManagement.Core.CoreFrameworkInputView::remove_OcclusionsChanged(Windows.Foundation.EventRegistrationToken)
    def remove_occlusions_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.UI.ViewManagement.Core.CoreFrameworkInputView::add_PrimaryViewAnimationStarting(Windows.Foundation.TypedEventHandler`2<Windows.UI.ViewManagement.Core.CoreFrameworkInputView,Windows.UI.ViewManagement.Core.CoreFrameworkInputViewAnimationStartingEventArgs>)
    def add_primary_view_animation_starting(self, handler: windows_foundation.TypedEventHandler[CoreFrameworkInputView, CoreFrameworkInputViewAnimationStartingEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.UI.ViewManagement.Core.CoreFrameworkInputView::remove_PrimaryViewAnimationStarting(Windows.Foundation.EventRegistrationToken)
    def remove_primary_view_animation_starting(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...

@typing.final
class CoreFrameworkInputViewAnimationStartingEventArgs(winrt.system.Object):
    # Windows.Foundation.TimeSpan Windows.UI.ViewManagement.Core.CoreFrameworkInputViewAnimationStartingEventArgs::get_AnimationDuration()
    @_property
    def animation_duration(self) -> datetime.timedelta: ...
    # System.Boolean Windows.UI.ViewManagement.Core.CoreFrameworkInputViewAnimationStartingEventArgs::get_FrameworkAnimationRecommended()
    @_property
    def framework_animation_recommended(self) -> bool: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.UI.ViewManagement.Core.CoreInputViewOcclusion> Windows.UI.ViewManagement.Core.CoreFrameworkInputViewAnimationStartingEventArgs::get_Occlusions()
    @_property
    def occlusions(self) -> typing.Sequence[CoreInputViewOcclusion]: ...

@typing.final
class CoreFrameworkInputViewOcclusionsChangedEventArgs(winrt.system.Object):
    # System.Boolean Windows.UI.ViewManagement.Core.CoreFrameworkInputViewOcclusionsChangedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.UI.ViewManagement.Core.CoreInputViewOcclusion> Windows.UI.ViewManagement.Core.CoreFrameworkInputViewOcclusionsChangedEventArgs::get_Occlusions()
    @_property
    def occlusions(self) -> typing.Sequence[CoreInputViewOcclusion]: ...

@typing.final
class CoreInputView_Static(winrt._winrt.IInspectable_Static):
    # Windows.UI.ViewManagement.Core.CoreInputView Windows.UI.ViewManagement.Core.CoreInputView::GetForCurrentView()
    def get_for_current_view(cls) -> CoreInputView: ...
    # Windows.UI.ViewManagement.Core.CoreInputView Windows.UI.ViewManagement.Core.CoreInputView::GetForUIContext(Windows.UI.UIContext)
    def get_for_ui_context(cls, context: windows_ui.UIContext, /) -> CoreInputView: ...

@typing.final
class CoreInputView(winrt.system.Object, metaclass=CoreInputView_Static):
    # Windows.Foundation.Collections.IVectorView`1<Windows.UI.ViewManagement.Core.CoreInputViewOcclusion> Windows.UI.ViewManagement.Core.CoreInputView::GetCoreInputViewOcclusions()
    def get_core_input_view_occlusions(self) -> typing.Sequence[CoreInputViewOcclusion]: ...
    # System.Boolean Windows.UI.ViewManagement.Core.CoreInputView::IsKindSupported(Windows.UI.ViewManagement.Core.CoreInputViewKind)
    def is_kind_supported(self, type: CoreInputViewKind, /) -> bool: ...
    # System.Boolean Windows.UI.ViewManagement.Core.CoreInputView::TryHide()
    def try_hide(self) -> bool: ...
    # System.Boolean Windows.UI.ViewManagement.Core.CoreInputView::TryHidePrimaryView()
    def try_hide_primary_view(self) -> bool: ...
    # System.Boolean Windows.UI.ViewManagement.Core.CoreInputView::TryShow()
    def try_show(self) -> bool: ...
    # System.Boolean Windows.UI.ViewManagement.Core.CoreInputView::TryShowPrimaryView()
    def try_show_primary_view(self) -> bool: ...
    # System.Boolean Windows.UI.ViewManagement.Core.CoreInputView::TryShow(Windows.UI.ViewManagement.Core.CoreInputViewKind)
    def try_show_with_kind(self, type: CoreInputViewKind, /) -> bool: ...
    # System.Boolean Windows.UI.ViewManagement.Core.CoreInputView::TryTransferXYFocusToPrimaryView(Windows.Foundation.Rect,Windows.UI.ViewManagement.Core.CoreInputViewXYFocusTransferDirection)
    def try_transfer_x_y_focus_to_primary_view(self, origin: typing.Union[windows_foundation.Rect, typing.Tuple[winrt.system.Single, winrt.system.Single, winrt.system.Single, winrt.system.Single]], direction: CoreInputViewXYFocusTransferDirection, /) -> bool: ...
    # Windows.Foundation.EventRegistrationToken Windows.UI.ViewManagement.Core.CoreInputView::add_OcclusionsChanged(Windows.Foundation.TypedEventHandler`2<Windows.UI.ViewManagement.Core.CoreInputView,Windows.UI.ViewManagement.Core.CoreInputViewOcclusionsChangedEventArgs>)
    def add_occlusions_changed(self, handler: windows_foundation.TypedEventHandler[CoreInputView, CoreInputViewOcclusionsChangedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.UI.ViewManagement.Core.CoreInputView::remove_OcclusionsChanged(Windows.Foundation.EventRegistrationToken)
    def remove_occlusions_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.UI.ViewManagement.Core.CoreInputView::add_XYFocusTransferredToPrimaryView(Windows.Foundation.TypedEventHandler`2<Windows.UI.ViewManagement.Core.CoreInputView,System.Object>)
    def add_x_y_focus_transferred_to_primary_view(self, handler: windows_foundation.TypedEventHandler[CoreInputView, winrt.system.Object], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.UI.ViewManagement.Core.CoreInputView::remove_XYFocusTransferredToPrimaryView(Windows.Foundation.EventRegistrationToken)
    def remove_x_y_focus_transferred_to_primary_view(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.UI.ViewManagement.Core.CoreInputView::add_XYFocusTransferringFromPrimaryView(Windows.Foundation.TypedEventHandler`2<Windows.UI.ViewManagement.Core.CoreInputView,Windows.UI.ViewManagement.Core.CoreInputViewTransferringXYFocusEventArgs>)
    def add_x_y_focus_transferring_from_primary_view(self, handler: windows_foundation.TypedEventHandler[CoreInputView, CoreInputViewTransferringXYFocusEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.UI.ViewManagement.Core.CoreInputView::remove_XYFocusTransferringFromPrimaryView(Windows.Foundation.EventRegistrationToken)
    def remove_x_y_focus_transferring_from_primary_view(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.UI.ViewManagement.Core.CoreInputView::add_PrimaryViewHiding(Windows.Foundation.TypedEventHandler`2<Windows.UI.ViewManagement.Core.CoreInputView,Windows.UI.ViewManagement.Core.CoreInputViewHidingEventArgs>)
    def add_primary_view_hiding(self, handler: windows_foundation.TypedEventHandler[CoreInputView, CoreInputViewHidingEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.UI.ViewManagement.Core.CoreInputView::remove_PrimaryViewHiding(Windows.Foundation.EventRegistrationToken)
    def remove_primary_view_hiding(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.UI.ViewManagement.Core.CoreInputView::add_PrimaryViewShowing(Windows.Foundation.TypedEventHandler`2<Windows.UI.ViewManagement.Core.CoreInputView,Windows.UI.ViewManagement.Core.CoreInputViewShowingEventArgs>)
    def add_primary_view_showing(self, handler: windows_foundation.TypedEventHandler[CoreInputView, CoreInputViewShowingEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.UI.ViewManagement.Core.CoreInputView::remove_PrimaryViewShowing(Windows.Foundation.EventRegistrationToken)
    def remove_primary_view_showing(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.UI.ViewManagement.Core.CoreInputView::add_PrimaryViewAnimationStarting(Windows.Foundation.TypedEventHandler`2<Windows.UI.ViewManagement.Core.CoreInputView,Windows.UI.ViewManagement.Core.CoreInputViewAnimationStartingEventArgs>)
    def add_primary_view_animation_starting(self, handler: windows_foundation.TypedEventHandler[CoreInputView, CoreInputViewAnimationStartingEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.UI.ViewManagement.Core.CoreInputView::remove_PrimaryViewAnimationStarting(Windows.Foundation.EventRegistrationToken)
    def remove_primary_view_animation_starting(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.UI.ViewManagement.Core.CoreInputView::add_SupportedKindsChanged(Windows.Foundation.TypedEventHandler`2<Windows.UI.ViewManagement.Core.CoreInputView,System.Object>)
    def add_supported_kinds_changed(self, handler: windows_foundation.TypedEventHandler[CoreInputView, winrt.system.Object], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.UI.ViewManagement.Core.CoreInputView::remove_SupportedKindsChanged(Windows.Foundation.EventRegistrationToken)
    def remove_supported_kinds_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...

@typing.final
class CoreInputViewAnimationStartingEventArgs(winrt.system.Object):
    # System.Boolean Windows.UI.ViewManagement.Core.CoreInputViewAnimationStartingEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Windows.UI.ViewManagement.Core.CoreInputViewAnimationStartingEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # Windows.Foundation.TimeSpan Windows.UI.ViewManagement.Core.CoreInputViewAnimationStartingEventArgs::get_AnimationDuration()
    @_property
    def animation_duration(self) -> datetime.timedelta: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.UI.ViewManagement.Core.CoreInputViewOcclusion> Windows.UI.ViewManagement.Core.CoreInputViewAnimationStartingEventArgs::get_Occlusions()
    @_property
    def occlusions(self) -> typing.Sequence[CoreInputViewOcclusion]: ...

@typing.final
class CoreInputViewHidingEventArgs(winrt.system.Object):
    # System.Boolean Windows.UI.ViewManagement.Core.CoreInputViewHidingEventArgs::TryCancel()
    def try_cancel(self) -> bool: ...

@typing.final
class CoreInputViewOcclusion(winrt.system.Object):
    # Windows.Foundation.Rect Windows.UI.ViewManagement.Core.CoreInputViewOcclusion::get_OccludingRect()
    @_property
    def occluding_rect(self) -> windows_foundation.Rect: ...
    # Windows.UI.ViewManagement.Core.CoreInputViewOcclusionKind Windows.UI.ViewManagement.Core.CoreInputViewOcclusion::get_OcclusionKind()
    @_property
    def occlusion_kind(self) -> CoreInputViewOcclusionKind: ...

@typing.final
class CoreInputViewOcclusionsChangedEventArgs(winrt.system.Object):
    # System.Boolean Windows.UI.ViewManagement.Core.CoreInputViewOcclusionsChangedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Windows.UI.ViewManagement.Core.CoreInputViewOcclusionsChangedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # Windows.Foundation.Collections.IVectorView`1<Windows.UI.ViewManagement.Core.CoreInputViewOcclusion> Windows.UI.ViewManagement.Core.CoreInputViewOcclusionsChangedEventArgs::get_Occlusions()
    @_property
    def occlusions(self) -> typing.Sequence[CoreInputViewOcclusion]: ...

@typing.final
class CoreInputViewShowingEventArgs(winrt.system.Object):
    # System.Boolean Windows.UI.ViewManagement.Core.CoreInputViewShowingEventArgs::TryCancel()
    def try_cancel(self) -> bool: ...

@typing.final
class CoreInputViewTransferringXYFocusEventArgs(winrt.system.Object):
    # System.Boolean Windows.UI.ViewManagement.Core.CoreInputViewTransferringXYFocusEventArgs::get_TransferHandled()
    @_property
    def transfer_handled(self) -> bool: ...
    # System.Void Windows.UI.ViewManagement.Core.CoreInputViewTransferringXYFocusEventArgs::put_TransferHandled(System.Boolean)
    @transfer_handled.setter
    def transfer_handled(self, value: bool) -> None: ...
    # System.Boolean Windows.UI.ViewManagement.Core.CoreInputViewTransferringXYFocusEventArgs::get_KeepPrimaryViewVisible()
    @_property
    def keep_primary_view_visible(self) -> bool: ...
    # System.Void Windows.UI.ViewManagement.Core.CoreInputViewTransferringXYFocusEventArgs::put_KeepPrimaryViewVisible(System.Boolean)
    @keep_primary_view_visible.setter
    def keep_primary_view_visible(self, value: bool) -> None: ...
    # Windows.UI.ViewManagement.Core.CoreInputViewXYFocusTransferDirection Windows.UI.ViewManagement.Core.CoreInputViewTransferringXYFocusEventArgs::get_Direction()
    @_property
    def direction(self) -> CoreInputViewXYFocusTransferDirection: ...
    # Windows.Foundation.Rect Windows.UI.ViewManagement.Core.CoreInputViewTransferringXYFocusEventArgs::get_Origin()
    @_property
    def origin(self) -> windows_foundation.Rect: ...

@typing.final
class UISettingsController_Static(winrt._winrt.IInspectable_Static):
    # Windows.Foundation.IAsyncOperation`1<Windows.UI.ViewManagement.Core.UISettingsController> Windows.UI.ViewManagement.Core.UISettingsController::RequestDefaultAsync()
    def request_default_async(cls) -> windows_foundation.IAsyncOperation[UISettingsController]: ...

@typing.final
class UISettingsController(winrt.system.Object, metaclass=UISettingsController_Static):
    # System.Void Windows.UI.ViewManagement.Core.UISettingsController::SetAdvancedEffectsEnabled(System.Boolean)
    def set_advanced_effects_enabled(self, value: bool, /) -> None: ...
    # System.Void Windows.UI.ViewManagement.Core.UISettingsController::SetAnimationsEnabled(System.Boolean)
    def set_animations_enabled(self, value: bool, /) -> None: ...
    # System.Void Windows.UI.ViewManagement.Core.UISettingsController::SetAutoHideScrollBars(System.Boolean)
    def set_auto_hide_scroll_bars(self, value: bool, /) -> None: ...
    # System.Void Windows.UI.ViewManagement.Core.UISettingsController::SetMessageDuration(System.UInt32)
    def set_message_duration(self, value: winrt.system.UInt32, /) -> None: ...
    # System.Void Windows.UI.ViewManagement.Core.UISettingsController::SetTextScaleFactor(System.Double)
    def set_text_scale_factor(self, value: winrt.system.Double, /) -> None: ...

