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

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

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.system as windows_system
import winrt.windows.ui.core as windows_ui_core
import winui3.microsoft.ui.input as microsoft_ui_input
import winui3.microsoft.ui.xaml as microsoft_ui_xaml
import winui3.microsoft.ui.xaml.controls as microsoft_ui_xaml_controls

from winui3.microsoft.ui.xaml.input import FocusInputDeviceKind, FocusNavigationDirection, InputScopeNameValue, KeyTipPlacementMode, KeyboardAcceleratorPlacementMode, KeyboardNavigationMode, ManipulationModes, StandardUICommandKind, XYFocusKeyboardNavigationMode, XYFocusNavigationStrategy, XYFocusNavigationStrategyOverride
from winui3.microsoft.ui.xaml.input import DoubleTappedEventHandler, HoldingEventHandler, KeyEventHandler, ManipulationCompletedEventHandler, ManipulationDeltaEventHandler, ManipulationInertiaStartingEventHandler, ManipulationStartedEventHandler, ManipulationStartingEventHandler, PointerEventHandler, RightTappedEventHandler, TappedEventHandler

Self = typing.TypeVar('Self')

@typing.final
class AccessKeyDisplayDismissedEventArgs(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...

@typing.final
class AccessKeyDisplayRequestedEventArgs(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.String Microsoft.UI.Xaml.Input.AccessKeyDisplayRequestedEventArgs::get_PressedKeys()
    @_property
    def pressed_keys(self) -> str: ...

@typing.final
class AccessKeyInvokedEventArgs(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Boolean Microsoft.UI.Xaml.Input.AccessKeyInvokedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.AccessKeyInvokedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...

@typing.final
class AccessKeyManager_Static(winrt._winrt.IInspectable_Static):
    # System.Void Microsoft.UI.Xaml.Input.AccessKeyManager::EnterDisplayMode(Microsoft.UI.Xaml.XamlRoot)
    def enter_display_mode_for_xaml_root(cls, xaml_root: microsoft_ui_xaml.XamlRoot, /) -> None: ...
    # System.Void Microsoft.UI.Xaml.Input.AccessKeyManager::ExitDisplayMode()
    def exit_display_mode(cls) -> None: ...
    # Windows.Foundation.EventRegistrationToken Microsoft.UI.Xaml.Input.AccessKeyManager::add_IsDisplayModeEnabledChanged(Windows.Foundation.TypedEventHandler`2<System.Object,System.Object>)
    def add_is_display_mode_enabled_changed(cls, handler: windows_foundation.TypedEventHandler[winrt.system.Object, winrt.system.Object], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Microsoft.UI.Xaml.Input.AccessKeyManager::remove_IsDisplayModeEnabledChanged(Windows.Foundation.EventRegistrationToken)
    def remove_is_display_mode_enabled_changed(cls, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # System.Boolean Microsoft.UI.Xaml.Input.AccessKeyManager::get_AreKeyTipsEnabled()
    @_property
    def are_key_tips_enabled(cls) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.AccessKeyManager::put_AreKeyTipsEnabled(System.Boolean)
    @are_key_tips_enabled.setter
    def are_key_tips_enabled(cls, value: bool) -> None: ...
    # System.Boolean Microsoft.UI.Xaml.Input.AccessKeyManager::get_IsDisplayModeEnabled()
    @_property
    def is_display_mode_enabled(cls) -> bool: ...

@typing.final
class AccessKeyManager(winrt.system.Object, metaclass=AccessKeyManager_Static):
    pass

@typing.final
class CanExecuteRequestedEventArgs(winrt.system.Object):
    # System.Boolean Microsoft.UI.Xaml.Input.CanExecuteRequestedEventArgs::get_CanExecute()
    @_property
    def can_execute(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.CanExecuteRequestedEventArgs::put_CanExecute(System.Boolean)
    @can_execute.setter
    def can_execute(self, value: bool) -> None: ...
    # System.Object Microsoft.UI.Xaml.Input.CanExecuteRequestedEventArgs::get_Parameter()
    @_property
    def parameter(self) -> winrt.system.Object: ...

@typing.final
class CharacterReceivedRoutedEventArgs(microsoft_ui_xaml.RoutedEventArgs):
    # System.Boolean Microsoft.UI.Xaml.Input.CharacterReceivedRoutedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.CharacterReceivedRoutedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # System.Char Microsoft.UI.Xaml.Input.CharacterReceivedRoutedEventArgs::get_Character()
    @_property
    def character(self) -> winrt.system.Char16: ...
    # Windows.UI.Core.CorePhysicalKeyStatus Microsoft.UI.Xaml.Input.CharacterReceivedRoutedEventArgs::get_KeyStatus()
    @_property
    def key_status(self) -> windows_ui_core.CorePhysicalKeyStatus: ...

@typing.final
class ContextRequestedEventArgs(microsoft_ui_xaml.RoutedEventArgs):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Boolean Microsoft.UI.Xaml.Input.ContextRequestedEventArgs::TryGetPosition(Microsoft.UI.Xaml.UIElement,Windows.Foundation.Point&)
    def try_get_position(self, relative_to: microsoft_ui_xaml.UIElement, /) -> typing.Tuple[bool, windows_foundation.Point]: ...
    # System.Boolean Microsoft.UI.Xaml.Input.ContextRequestedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.ContextRequestedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...

@typing.final
class DoubleTappedRoutedEventArgs(microsoft_ui_xaml.RoutedEventArgs):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Foundation.Point Microsoft.UI.Xaml.Input.DoubleTappedRoutedEventArgs::GetPosition(Microsoft.UI.Xaml.UIElement)
    def get_position(self, relative_to: microsoft_ui_xaml.UIElement, /) -> windows_foundation.Point: ...
    # System.Boolean Microsoft.UI.Xaml.Input.DoubleTappedRoutedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.DoubleTappedRoutedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # Microsoft.UI.Input.PointerDeviceType Microsoft.UI.Xaml.Input.DoubleTappedRoutedEventArgs::get_PointerDeviceType()
    @_property
    def pointer_device_type(self) -> microsoft_ui_input.PointerDeviceType: ...

@typing.final
class ExecuteRequestedEventArgs(winrt.system.Object):
    # System.Object Microsoft.UI.Xaml.Input.ExecuteRequestedEventArgs::get_Parameter()
    @_property
    def parameter(self) -> winrt.system.Object: ...

@typing.final
class FindNextElementOptions(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Microsoft.UI.Xaml.Input.XYFocusNavigationStrategyOverride Microsoft.UI.Xaml.Input.FindNextElementOptions::get_XYFocusNavigationStrategyOverride()
    @_property
    def x_y_focus_navigation_strategy_override(self) -> XYFocusNavigationStrategyOverride: ...
    # System.Void Microsoft.UI.Xaml.Input.FindNextElementOptions::put_XYFocusNavigationStrategyOverride(Microsoft.UI.Xaml.Input.XYFocusNavigationStrategyOverride)
    @x_y_focus_navigation_strategy_override.setter
    def x_y_focus_navigation_strategy_override(self, value: XYFocusNavigationStrategyOverride) -> None: ...
    # Microsoft.UI.Xaml.DependencyObject Microsoft.UI.Xaml.Input.FindNextElementOptions::get_SearchRoot()
    @_property
    def search_root(self) -> microsoft_ui_xaml.DependencyObject: ...
    # System.Void Microsoft.UI.Xaml.Input.FindNextElementOptions::put_SearchRoot(Microsoft.UI.Xaml.DependencyObject)
    @search_root.setter
    def search_root(self, value: microsoft_ui_xaml.DependencyObject) -> None: ...
    # Windows.Foundation.Rect Microsoft.UI.Xaml.Input.FindNextElementOptions::get_HintRect()
    @_property
    def hint_rect(self) -> windows_foundation.Rect: ...
    # System.Void Microsoft.UI.Xaml.Input.FindNextElementOptions::put_HintRect(Windows.Foundation.Rect)
    @hint_rect.setter
    def hint_rect(self, value: typing.Union[windows_foundation.Rect, typing.Tuple[winrt.system.Single, winrt.system.Single, winrt.system.Single, winrt.system.Single]]) -> None: ...
    # Windows.Foundation.Rect Microsoft.UI.Xaml.Input.FindNextElementOptions::get_ExclusionRect()
    @_property
    def exclusion_rect(self) -> windows_foundation.Rect: ...
    # System.Void Microsoft.UI.Xaml.Input.FindNextElementOptions::put_ExclusionRect(Windows.Foundation.Rect)
    @exclusion_rect.setter
    def exclusion_rect(self, value: typing.Union[windows_foundation.Rect, typing.Tuple[winrt.system.Single, winrt.system.Single, winrt.system.Single, winrt.system.Single]]) -> None: ...

@typing.final
class FocusManager_Static(winrt._winrt.IInspectable_Static):
    # Microsoft.UI.Xaml.DependencyObject Microsoft.UI.Xaml.Input.FocusManager::FindFirstFocusableElement(Microsoft.UI.Xaml.DependencyObject)
    def find_first_focusable_element(cls, search_scope: microsoft_ui_xaml.DependencyObject, /) -> microsoft_ui_xaml.DependencyObject: ...
    # Microsoft.UI.Xaml.DependencyObject Microsoft.UI.Xaml.Input.FocusManager::FindLastFocusableElement(Microsoft.UI.Xaml.DependencyObject)
    def find_last_focusable_element(cls, search_scope: microsoft_ui_xaml.DependencyObject, /) -> microsoft_ui_xaml.DependencyObject: ...
    # Microsoft.UI.Xaml.DependencyObject Microsoft.UI.Xaml.Input.FocusManager::FindNextElement(Microsoft.UI.Xaml.Input.FocusNavigationDirection)
    def find_next_element(cls, focus_navigation_direction: FocusNavigationDirection, /) -> microsoft_ui_xaml.DependencyObject: ...
    # Microsoft.UI.Xaml.DependencyObject Microsoft.UI.Xaml.Input.FocusManager::FindNextElement(Microsoft.UI.Xaml.Input.FocusNavigationDirection,Microsoft.UI.Xaml.Input.FindNextElementOptions)
    def find_next_element_with_options(cls, focus_navigation_direction: FocusNavigationDirection, focus_navigation_options: FindNextElementOptions, /) -> microsoft_ui_xaml.DependencyObject: ...
    # Microsoft.UI.Xaml.UIElement Microsoft.UI.Xaml.Input.FocusManager::FindNextFocusableElement(Microsoft.UI.Xaml.Input.FocusNavigationDirection)
    def find_next_focusable_element(cls, focus_navigation_direction: FocusNavigationDirection, /) -> microsoft_ui_xaml.UIElement: ...
    # Microsoft.UI.Xaml.UIElement Microsoft.UI.Xaml.Input.FocusManager::FindNextFocusableElement(Microsoft.UI.Xaml.Input.FocusNavigationDirection,Windows.Foundation.Rect)
    def find_next_focusable_element_with_hint(cls, focus_navigation_direction: FocusNavigationDirection, hint_rect: typing.Union[windows_foundation.Rect, typing.Tuple[winrt.system.Single, winrt.system.Single, winrt.system.Single, winrt.system.Single]], /) -> microsoft_ui_xaml.UIElement: ...
    # System.Object Microsoft.UI.Xaml.Input.FocusManager::GetFocusedElement()
    def get_focused_element(cls) -> winrt.system.Object: ...
    # System.Object Microsoft.UI.Xaml.Input.FocusManager::GetFocusedElement(Microsoft.UI.Xaml.XamlRoot)
    def get_focused_element_with_root(cls, xaml_root: microsoft_ui_xaml.XamlRoot, /) -> winrt.system.Object: ...
    # Windows.Foundation.IAsyncOperation`1<Microsoft.UI.Xaml.Input.FocusMovementResult> Microsoft.UI.Xaml.Input.FocusManager::TryFocusAsync(Microsoft.UI.Xaml.DependencyObject,Microsoft.UI.Xaml.FocusState)
    def try_focus_async(cls, element: microsoft_ui_xaml.DependencyObject, value: microsoft_ui_xaml.FocusState, /) -> windows_foundation.IAsyncOperation[FocusMovementResult]: ...
    # System.Boolean Microsoft.UI.Xaml.Input.FocusManager::TryMoveFocus(Microsoft.UI.Xaml.Input.FocusNavigationDirection)
    def try_move_focus(cls, focus_navigation_direction: FocusNavigationDirection, /) -> bool: ...
    # Windows.Foundation.IAsyncOperation`1<Microsoft.UI.Xaml.Input.FocusMovementResult> Microsoft.UI.Xaml.Input.FocusManager::TryMoveFocusAsync(Microsoft.UI.Xaml.Input.FocusNavigationDirection)
    def try_move_focus_async(cls, focus_navigation_direction: FocusNavigationDirection, /) -> windows_foundation.IAsyncOperation[FocusMovementResult]: ...
    # System.Boolean Microsoft.UI.Xaml.Input.FocusManager::TryMoveFocus(Microsoft.UI.Xaml.Input.FocusNavigationDirection,Microsoft.UI.Xaml.Input.FindNextElementOptions)
    def try_move_focus_with_options(cls, focus_navigation_direction: FocusNavigationDirection, focus_navigation_options: FindNextElementOptions, /) -> bool: ...
    # Windows.Foundation.IAsyncOperation`1<Microsoft.UI.Xaml.Input.FocusMovementResult> Microsoft.UI.Xaml.Input.FocusManager::TryMoveFocusAsync(Microsoft.UI.Xaml.Input.FocusNavigationDirection,Microsoft.UI.Xaml.Input.FindNextElementOptions)
    def try_move_focus_with_options_async(cls, focus_navigation_direction: FocusNavigationDirection, focus_navigation_options: FindNextElementOptions, /) -> windows_foundation.IAsyncOperation[FocusMovementResult]: ...
    # Windows.Foundation.EventRegistrationToken Microsoft.UI.Xaml.Input.FocusManager::add_GettingFocus(Windows.Foundation.EventHandler`1<Microsoft.UI.Xaml.Input.GettingFocusEventArgs>)
    def add_getting_focus(cls, handler: windows_foundation.EventHandler[GettingFocusEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Microsoft.UI.Xaml.Input.FocusManager::remove_GettingFocus(Windows.Foundation.EventRegistrationToken)
    def remove_getting_focus(cls, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Microsoft.UI.Xaml.Input.FocusManager::add_GotFocus(Windows.Foundation.EventHandler`1<Microsoft.UI.Xaml.Input.FocusManagerGotFocusEventArgs>)
    def add_got_focus(cls, handler: windows_foundation.EventHandler[FocusManagerGotFocusEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Microsoft.UI.Xaml.Input.FocusManager::remove_GotFocus(Windows.Foundation.EventRegistrationToken)
    def remove_got_focus(cls, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Microsoft.UI.Xaml.Input.FocusManager::add_LosingFocus(Windows.Foundation.EventHandler`1<Microsoft.UI.Xaml.Input.LosingFocusEventArgs>)
    def add_losing_focus(cls, handler: windows_foundation.EventHandler[LosingFocusEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Microsoft.UI.Xaml.Input.FocusManager::remove_LosingFocus(Windows.Foundation.EventRegistrationToken)
    def remove_losing_focus(cls, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Microsoft.UI.Xaml.Input.FocusManager::add_LostFocus(Windows.Foundation.EventHandler`1<Microsoft.UI.Xaml.Input.FocusManagerLostFocusEventArgs>)
    def add_lost_focus(cls, handler: windows_foundation.EventHandler[FocusManagerLostFocusEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Microsoft.UI.Xaml.Input.FocusManager::remove_LostFocus(Windows.Foundation.EventRegistrationToken)
    def remove_lost_focus(cls, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...

@typing.final
class FocusManager(winrt.system.Object, metaclass=FocusManager_Static):
    pass

@typing.final
class FocusManagerGotFocusEventArgs(winrt.system.Object):
    # System.Guid Microsoft.UI.Xaml.Input.FocusManagerGotFocusEventArgs::get_CorrelationId()
    @_property
    def correlation_id(self) -> _uuid.UUID: ...
    # Microsoft.UI.Xaml.DependencyObject Microsoft.UI.Xaml.Input.FocusManagerGotFocusEventArgs::get_NewFocusedElement()
    @_property
    def new_focused_element(self) -> microsoft_ui_xaml.DependencyObject: ...

@typing.final
class FocusManagerLostFocusEventArgs(winrt.system.Object):
    # System.Guid Microsoft.UI.Xaml.Input.FocusManagerLostFocusEventArgs::get_CorrelationId()
    @_property
    def correlation_id(self) -> _uuid.UUID: ...
    # Microsoft.UI.Xaml.DependencyObject Microsoft.UI.Xaml.Input.FocusManagerLostFocusEventArgs::get_OldFocusedElement()
    @_property
    def old_focused_element(self) -> microsoft_ui_xaml.DependencyObject: ...

@typing.final
class FocusMovementResult(winrt.system.Object):
    # System.Boolean Microsoft.UI.Xaml.Input.FocusMovementResult::get_Succeeded()
    @_property
    def succeeded(self) -> bool: ...

@typing.final
class GettingFocusEventArgs(microsoft_ui_xaml.RoutedEventArgs):
    # System.Boolean Microsoft.UI.Xaml.Input.GettingFocusEventArgs::TryCancel()
    def try_cancel(self) -> bool: ...
    # System.Boolean Microsoft.UI.Xaml.Input.GettingFocusEventArgs::TrySetNewFocusedElement(Microsoft.UI.Xaml.DependencyObject)
    def try_set_new_focused_element(self, element: microsoft_ui_xaml.DependencyObject, /) -> bool: ...
    # Microsoft.UI.Xaml.DependencyObject Microsoft.UI.Xaml.Input.GettingFocusEventArgs::get_NewFocusedElement()
    @_property
    def new_focused_element(self) -> microsoft_ui_xaml.DependencyObject: ...
    # System.Void Microsoft.UI.Xaml.Input.GettingFocusEventArgs::put_NewFocusedElement(Microsoft.UI.Xaml.DependencyObject)
    @new_focused_element.setter
    def new_focused_element(self, value: microsoft_ui_xaml.DependencyObject) -> None: ...
    # System.Boolean Microsoft.UI.Xaml.Input.GettingFocusEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.GettingFocusEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # System.Boolean Microsoft.UI.Xaml.Input.GettingFocusEventArgs::get_Cancel()
    @_property
    def cancel(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.GettingFocusEventArgs::put_Cancel(System.Boolean)
    @cancel.setter
    def cancel(self, value: bool) -> None: ...
    # System.Guid Microsoft.UI.Xaml.Input.GettingFocusEventArgs::get_CorrelationId()
    @_property
    def correlation_id(self) -> _uuid.UUID: ...
    # Microsoft.UI.Xaml.Input.FocusNavigationDirection Microsoft.UI.Xaml.Input.GettingFocusEventArgs::get_Direction()
    @_property
    def direction(self) -> FocusNavigationDirection: ...
    # Microsoft.UI.Xaml.FocusState Microsoft.UI.Xaml.Input.GettingFocusEventArgs::get_FocusState()
    @_property
    def focus_state(self) -> microsoft_ui_xaml.FocusState: ...
    # Microsoft.UI.Xaml.Input.FocusInputDeviceKind Microsoft.UI.Xaml.Input.GettingFocusEventArgs::get_InputDevice()
    @_property
    def input_device(self) -> FocusInputDeviceKind: ...
    # Microsoft.UI.Xaml.DependencyObject Microsoft.UI.Xaml.Input.GettingFocusEventArgs::get_OldFocusedElement()
    @_property
    def old_focused_element(self) -> microsoft_ui_xaml.DependencyObject: ...

@typing.final
class HoldingRoutedEventArgs(microsoft_ui_xaml.RoutedEventArgs):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Foundation.Point Microsoft.UI.Xaml.Input.HoldingRoutedEventArgs::GetPosition(Microsoft.UI.Xaml.UIElement)
    def get_position(self, relative_to: microsoft_ui_xaml.UIElement, /) -> windows_foundation.Point: ...
    # System.Boolean Microsoft.UI.Xaml.Input.HoldingRoutedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.HoldingRoutedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # Microsoft.UI.Input.HoldingState Microsoft.UI.Xaml.Input.HoldingRoutedEventArgs::get_HoldingState()
    @_property
    def holding_state(self) -> microsoft_ui_input.HoldingState: ...
    # Microsoft.UI.Input.PointerDeviceType Microsoft.UI.Xaml.Input.HoldingRoutedEventArgs::get_PointerDeviceType()
    @_property
    def pointer_device_type(self) -> microsoft_ui_input.PointerDeviceType: ...

@typing.final
class InertiaExpansionBehavior(winrt.system.Object):
    # System.Double Microsoft.UI.Xaml.Input.InertiaExpansionBehavior::get_DesiredExpansion()
    @_property
    def desired_expansion(self) -> winrt.system.Double: ...
    # System.Void Microsoft.UI.Xaml.Input.InertiaExpansionBehavior::put_DesiredExpansion(System.Double)
    @desired_expansion.setter
    def desired_expansion(self, value: winrt.system.Double) -> None: ...
    # System.Double Microsoft.UI.Xaml.Input.InertiaExpansionBehavior::get_DesiredDeceleration()
    @_property
    def desired_deceleration(self) -> winrt.system.Double: ...
    # System.Void Microsoft.UI.Xaml.Input.InertiaExpansionBehavior::put_DesiredDeceleration(System.Double)
    @desired_deceleration.setter
    def desired_deceleration(self, value: winrt.system.Double) -> None: ...

@typing.final
class InertiaRotationBehavior(winrt.system.Object):
    # System.Double Microsoft.UI.Xaml.Input.InertiaRotationBehavior::get_DesiredRotation()
    @_property
    def desired_rotation(self) -> winrt.system.Double: ...
    # System.Void Microsoft.UI.Xaml.Input.InertiaRotationBehavior::put_DesiredRotation(System.Double)
    @desired_rotation.setter
    def desired_rotation(self, value: winrt.system.Double) -> None: ...
    # System.Double Microsoft.UI.Xaml.Input.InertiaRotationBehavior::get_DesiredDeceleration()
    @_property
    def desired_deceleration(self) -> winrt.system.Double: ...
    # System.Void Microsoft.UI.Xaml.Input.InertiaRotationBehavior::put_DesiredDeceleration(System.Double)
    @desired_deceleration.setter
    def desired_deceleration(self, value: winrt.system.Double) -> None: ...

@typing.final
class InertiaTranslationBehavior(winrt.system.Object):
    # System.Double Microsoft.UI.Xaml.Input.InertiaTranslationBehavior::get_DesiredDisplacement()
    @_property
    def desired_displacement(self) -> winrt.system.Double: ...
    # System.Void Microsoft.UI.Xaml.Input.InertiaTranslationBehavior::put_DesiredDisplacement(System.Double)
    @desired_displacement.setter
    def desired_displacement(self, value: winrt.system.Double) -> None: ...
    # System.Double Microsoft.UI.Xaml.Input.InertiaTranslationBehavior::get_DesiredDeceleration()
    @_property
    def desired_deceleration(self) -> winrt.system.Double: ...
    # System.Void Microsoft.UI.Xaml.Input.InertiaTranslationBehavior::put_DesiredDeceleration(System.Double)
    @desired_deceleration.setter
    def desired_deceleration(self, value: winrt.system.Double) -> None: ...

@typing.final
class InputScope(microsoft_ui_xaml.DependencyObject):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Foundation.Collections.IVector`1<Microsoft.UI.Xaml.Input.InputScopeName> Microsoft.UI.Xaml.Input.InputScope::get_Names()
    @_property
    def names(self) -> typing.MutableSequence[InputScopeName]: ...

@typing.final
class InputScopeName(microsoft_ui_xaml.DependencyObject):
    @typing.overload
    def __new__(cls: typing.Type[Self], name_value: InputScopeNameValue) -> Self: ...
    @typing.overload
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Microsoft.UI.Xaml.Input.InputScopeNameValue Microsoft.UI.Xaml.Input.InputScopeName::get_NameValue()
    @_property
    def name_value(self) -> InputScopeNameValue: ...
    # System.Void Microsoft.UI.Xaml.Input.InputScopeName::put_NameValue(Microsoft.UI.Xaml.Input.InputScopeNameValue)
    @name_value.setter
    def name_value(self, value: InputScopeNameValue) -> None: ...

@typing.final
class KeyRoutedEventArgs(microsoft_ui_xaml.RoutedEventArgs):
    # System.Boolean Microsoft.UI.Xaml.Input.KeyRoutedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.KeyRoutedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # System.String Microsoft.UI.Xaml.Input.KeyRoutedEventArgs::get_DeviceId()
    @_property
    def device_id(self) -> str: ...
    # Windows.System.VirtualKey Microsoft.UI.Xaml.Input.KeyRoutedEventArgs::get_Key()
    @_property
    def key(self) -> windows_system.VirtualKey: ...
    # Windows.UI.Core.CorePhysicalKeyStatus Microsoft.UI.Xaml.Input.KeyRoutedEventArgs::get_KeyStatus()
    @_property
    def key_status(self) -> windows_ui_core.CorePhysicalKeyStatus: ...
    # Windows.System.VirtualKey Microsoft.UI.Xaml.Input.KeyRoutedEventArgs::get_OriginalKey()
    @_property
    def original_key(self) -> windows_system.VirtualKey: ...

class KeyboardAccelerator_Static(microsoft_ui_xaml.DependencyObject_Static):
    # Microsoft.UI.Xaml.DependencyProperty Microsoft.UI.Xaml.Input.KeyboardAccelerator::get_IsEnabledProperty()
    @_property
    @typing.final
    def is_enabled_property(cls) -> microsoft_ui_xaml.DependencyProperty: ...
    # Microsoft.UI.Xaml.DependencyProperty Microsoft.UI.Xaml.Input.KeyboardAccelerator::get_KeyProperty()
    @_property
    @typing.final
    def key_property(cls) -> microsoft_ui_xaml.DependencyProperty: ...
    # Microsoft.UI.Xaml.DependencyProperty Microsoft.UI.Xaml.Input.KeyboardAccelerator::get_ModifiersProperty()
    @_property
    @typing.final
    def modifiers_property(cls) -> microsoft_ui_xaml.DependencyProperty: ...
    # Microsoft.UI.Xaml.DependencyProperty Microsoft.UI.Xaml.Input.KeyboardAccelerator::get_ScopeOwnerProperty()
    @_property
    @typing.final
    def scope_owner_property(cls) -> microsoft_ui_xaml.DependencyProperty: ...

class KeyboardAccelerator(microsoft_ui_xaml.DependencyObject, metaclass=KeyboardAccelerator_Static):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    @typing.final
    # Windows.Foundation.EventRegistrationToken Microsoft.UI.Xaml.Input.KeyboardAccelerator::add_Invoked(Windows.Foundation.TypedEventHandler`2<Microsoft.UI.Xaml.Input.KeyboardAccelerator,Microsoft.UI.Xaml.Input.KeyboardAcceleratorInvokedEventArgs>)
    def add_invoked(self, handler: windows_foundation.TypedEventHandler[KeyboardAccelerator, KeyboardAcceleratorInvokedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    @typing.final
    # System.Void Microsoft.UI.Xaml.Input.KeyboardAccelerator::remove_Invoked(Windows.Foundation.EventRegistrationToken)
    def remove_invoked(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Microsoft.UI.Xaml.DependencyObject Microsoft.UI.Xaml.Input.KeyboardAccelerator::get_ScopeOwner()
    @_property
    def scope_owner(self) -> microsoft_ui_xaml.DependencyObject: ...
    # System.Void Microsoft.UI.Xaml.Input.KeyboardAccelerator::put_ScopeOwner(Microsoft.UI.Xaml.DependencyObject)
    @scope_owner.setter
    @typing.final
    def scope_owner(self, value: microsoft_ui_xaml.DependencyObject) -> None: ...
    # Windows.System.VirtualKeyModifiers Microsoft.UI.Xaml.Input.KeyboardAccelerator::get_Modifiers()
    @_property
    def modifiers(self) -> windows_system.VirtualKeyModifiers: ...
    # System.Void Microsoft.UI.Xaml.Input.KeyboardAccelerator::put_Modifiers(Windows.System.VirtualKeyModifiers)
    @modifiers.setter
    @typing.final
    def modifiers(self, value: windows_system.VirtualKeyModifiers) -> None: ...
    # Windows.System.VirtualKey Microsoft.UI.Xaml.Input.KeyboardAccelerator::get_Key()
    @_property
    def key(self) -> windows_system.VirtualKey: ...
    # System.Void Microsoft.UI.Xaml.Input.KeyboardAccelerator::put_Key(Windows.System.VirtualKey)
    @key.setter
    @typing.final
    def key(self, value: windows_system.VirtualKey) -> None: ...
    # System.Boolean Microsoft.UI.Xaml.Input.KeyboardAccelerator::get_IsEnabled()
    @_property
    def is_enabled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.KeyboardAccelerator::put_IsEnabled(System.Boolean)
    @is_enabled.setter
    @typing.final
    def is_enabled(self, value: bool) -> None: ...

@typing.final
class KeyboardAcceleratorInvokedEventArgs(winrt.system.Object):
    # System.Boolean Microsoft.UI.Xaml.Input.KeyboardAcceleratorInvokedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.KeyboardAcceleratorInvokedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # Microsoft.UI.Xaml.DependencyObject Microsoft.UI.Xaml.Input.KeyboardAcceleratorInvokedEventArgs::get_Element()
    @_property
    def element(self) -> microsoft_ui_xaml.DependencyObject: ...
    # Microsoft.UI.Xaml.Input.KeyboardAccelerator Microsoft.UI.Xaml.Input.KeyboardAcceleratorInvokedEventArgs::get_KeyboardAccelerator()
    @_property
    def keyboard_accelerator(self) -> KeyboardAccelerator: ...

@typing.final
class LosingFocusEventArgs(microsoft_ui_xaml.RoutedEventArgs):
    # System.Boolean Microsoft.UI.Xaml.Input.LosingFocusEventArgs::TryCancel()
    def try_cancel(self) -> bool: ...
    # System.Boolean Microsoft.UI.Xaml.Input.LosingFocusEventArgs::TrySetNewFocusedElement(Microsoft.UI.Xaml.DependencyObject)
    def try_set_new_focused_element(self, element: microsoft_ui_xaml.DependencyObject, /) -> bool: ...
    # Microsoft.UI.Xaml.DependencyObject Microsoft.UI.Xaml.Input.LosingFocusEventArgs::get_NewFocusedElement()
    @_property
    def new_focused_element(self) -> microsoft_ui_xaml.DependencyObject: ...
    # System.Void Microsoft.UI.Xaml.Input.LosingFocusEventArgs::put_NewFocusedElement(Microsoft.UI.Xaml.DependencyObject)
    @new_focused_element.setter
    def new_focused_element(self, value: microsoft_ui_xaml.DependencyObject) -> None: ...
    # System.Boolean Microsoft.UI.Xaml.Input.LosingFocusEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.LosingFocusEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # System.Boolean Microsoft.UI.Xaml.Input.LosingFocusEventArgs::get_Cancel()
    @_property
    def cancel(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.LosingFocusEventArgs::put_Cancel(System.Boolean)
    @cancel.setter
    def cancel(self, value: bool) -> None: ...
    # System.Guid Microsoft.UI.Xaml.Input.LosingFocusEventArgs::get_CorrelationId()
    @_property
    def correlation_id(self) -> _uuid.UUID: ...
    # Microsoft.UI.Xaml.Input.FocusNavigationDirection Microsoft.UI.Xaml.Input.LosingFocusEventArgs::get_Direction()
    @_property
    def direction(self) -> FocusNavigationDirection: ...
    # Microsoft.UI.Xaml.FocusState Microsoft.UI.Xaml.Input.LosingFocusEventArgs::get_FocusState()
    @_property
    def focus_state(self) -> microsoft_ui_xaml.FocusState: ...
    # Microsoft.UI.Xaml.Input.FocusInputDeviceKind Microsoft.UI.Xaml.Input.LosingFocusEventArgs::get_InputDevice()
    @_property
    def input_device(self) -> FocusInputDeviceKind: ...
    # Microsoft.UI.Xaml.DependencyObject Microsoft.UI.Xaml.Input.LosingFocusEventArgs::get_OldFocusedElement()
    @_property
    def old_focused_element(self) -> microsoft_ui_xaml.DependencyObject: ...

@typing.final
class ManipulationCompletedRoutedEventArgs(microsoft_ui_xaml.RoutedEventArgs):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Boolean Microsoft.UI.Xaml.Input.ManipulationCompletedRoutedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.ManipulationCompletedRoutedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # Microsoft.UI.Xaml.UIElement Microsoft.UI.Xaml.Input.ManipulationCompletedRoutedEventArgs::get_Container()
    @_property
    def container(self) -> microsoft_ui_xaml.UIElement: ...
    # Microsoft.UI.Input.ManipulationDelta Microsoft.UI.Xaml.Input.ManipulationCompletedRoutedEventArgs::get_Cumulative()
    @_property
    def cumulative(self) -> microsoft_ui_input.ManipulationDelta: ...
    # System.Boolean Microsoft.UI.Xaml.Input.ManipulationCompletedRoutedEventArgs::get_IsInertial()
    @_property
    def is_inertial(self) -> bool: ...
    # Microsoft.UI.Input.PointerDeviceType Microsoft.UI.Xaml.Input.ManipulationCompletedRoutedEventArgs::get_PointerDeviceType()
    @_property
    def pointer_device_type(self) -> microsoft_ui_input.PointerDeviceType: ...
    # Windows.Foundation.Point Microsoft.UI.Xaml.Input.ManipulationCompletedRoutedEventArgs::get_Position()
    @_property
    def position(self) -> windows_foundation.Point: ...
    # Microsoft.UI.Input.ManipulationVelocities Microsoft.UI.Xaml.Input.ManipulationCompletedRoutedEventArgs::get_Velocities()
    @_property
    def velocities(self) -> microsoft_ui_input.ManipulationVelocities: ...

@typing.final
class ManipulationDeltaRoutedEventArgs(microsoft_ui_xaml.RoutedEventArgs):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Void Microsoft.UI.Xaml.Input.ManipulationDeltaRoutedEventArgs::Complete()
    def complete(self) -> None: ...
    # System.Boolean Microsoft.UI.Xaml.Input.ManipulationDeltaRoutedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.ManipulationDeltaRoutedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # Microsoft.UI.Xaml.UIElement Microsoft.UI.Xaml.Input.ManipulationDeltaRoutedEventArgs::get_Container()
    @_property
    def container(self) -> microsoft_ui_xaml.UIElement: ...
    # Microsoft.UI.Input.ManipulationDelta Microsoft.UI.Xaml.Input.ManipulationDeltaRoutedEventArgs::get_Cumulative()
    @_property
    def cumulative(self) -> microsoft_ui_input.ManipulationDelta: ...
    # Microsoft.UI.Input.ManipulationDelta Microsoft.UI.Xaml.Input.ManipulationDeltaRoutedEventArgs::get_Delta()
    @_property
    def delta(self) -> microsoft_ui_input.ManipulationDelta: ...
    # System.Boolean Microsoft.UI.Xaml.Input.ManipulationDeltaRoutedEventArgs::get_IsInertial()
    @_property
    def is_inertial(self) -> bool: ...
    # Microsoft.UI.Input.PointerDeviceType Microsoft.UI.Xaml.Input.ManipulationDeltaRoutedEventArgs::get_PointerDeviceType()
    @_property
    def pointer_device_type(self) -> microsoft_ui_input.PointerDeviceType: ...
    # Windows.Foundation.Point Microsoft.UI.Xaml.Input.ManipulationDeltaRoutedEventArgs::get_Position()
    @_property
    def position(self) -> windows_foundation.Point: ...
    # Microsoft.UI.Input.ManipulationVelocities Microsoft.UI.Xaml.Input.ManipulationDeltaRoutedEventArgs::get_Velocities()
    @_property
    def velocities(self) -> microsoft_ui_input.ManipulationVelocities: ...

@typing.final
class ManipulationInertiaStartingRoutedEventArgs(microsoft_ui_xaml.RoutedEventArgs):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Microsoft.UI.Xaml.Input.InertiaTranslationBehavior Microsoft.UI.Xaml.Input.ManipulationInertiaStartingRoutedEventArgs::get_TranslationBehavior()
    @_property
    def translation_behavior(self) -> InertiaTranslationBehavior: ...
    # System.Void Microsoft.UI.Xaml.Input.ManipulationInertiaStartingRoutedEventArgs::put_TranslationBehavior(Microsoft.UI.Xaml.Input.InertiaTranslationBehavior)
    @translation_behavior.setter
    def translation_behavior(self, value: InertiaTranslationBehavior) -> None: ...
    # Microsoft.UI.Xaml.Input.InertiaRotationBehavior Microsoft.UI.Xaml.Input.ManipulationInertiaStartingRoutedEventArgs::get_RotationBehavior()
    @_property
    def rotation_behavior(self) -> InertiaRotationBehavior: ...
    # System.Void Microsoft.UI.Xaml.Input.ManipulationInertiaStartingRoutedEventArgs::put_RotationBehavior(Microsoft.UI.Xaml.Input.InertiaRotationBehavior)
    @rotation_behavior.setter
    def rotation_behavior(self, value: InertiaRotationBehavior) -> None: ...
    # System.Boolean Microsoft.UI.Xaml.Input.ManipulationInertiaStartingRoutedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.ManipulationInertiaStartingRoutedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # Microsoft.UI.Xaml.Input.InertiaExpansionBehavior Microsoft.UI.Xaml.Input.ManipulationInertiaStartingRoutedEventArgs::get_ExpansionBehavior()
    @_property
    def expansion_behavior(self) -> InertiaExpansionBehavior: ...
    # System.Void Microsoft.UI.Xaml.Input.ManipulationInertiaStartingRoutedEventArgs::put_ExpansionBehavior(Microsoft.UI.Xaml.Input.InertiaExpansionBehavior)
    @expansion_behavior.setter
    def expansion_behavior(self, value: InertiaExpansionBehavior) -> None: ...
    # Microsoft.UI.Xaml.UIElement Microsoft.UI.Xaml.Input.ManipulationInertiaStartingRoutedEventArgs::get_Container()
    @_property
    def container(self) -> microsoft_ui_xaml.UIElement: ...
    # Microsoft.UI.Input.ManipulationDelta Microsoft.UI.Xaml.Input.ManipulationInertiaStartingRoutedEventArgs::get_Cumulative()
    @_property
    def cumulative(self) -> microsoft_ui_input.ManipulationDelta: ...
    # Microsoft.UI.Input.ManipulationDelta Microsoft.UI.Xaml.Input.ManipulationInertiaStartingRoutedEventArgs::get_Delta()
    @_property
    def delta(self) -> microsoft_ui_input.ManipulationDelta: ...
    # Microsoft.UI.Input.PointerDeviceType Microsoft.UI.Xaml.Input.ManipulationInertiaStartingRoutedEventArgs::get_PointerDeviceType()
    @_property
    def pointer_device_type(self) -> microsoft_ui_input.PointerDeviceType: ...
    # Microsoft.UI.Input.ManipulationVelocities Microsoft.UI.Xaml.Input.ManipulationInertiaStartingRoutedEventArgs::get_Velocities()
    @_property
    def velocities(self) -> microsoft_ui_input.ManipulationVelocities: ...

@typing.final
class ManipulationPivot(winrt.system.Object):
    @typing.overload
    def __new__(cls: typing.Type[Self], center: typing.Union[windows_foundation.Point, typing.Tuple[winrt.system.Single, winrt.system.Single]], radius: winrt.system.Double) -> Self: ...
    @typing.overload
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Double Microsoft.UI.Xaml.Input.ManipulationPivot::get_Radius()
    @_property
    def radius(self) -> winrt.system.Double: ...
    # System.Void Microsoft.UI.Xaml.Input.ManipulationPivot::put_Radius(System.Double)
    @radius.setter
    def radius(self, value: winrt.system.Double) -> None: ...
    # Windows.Foundation.Point Microsoft.UI.Xaml.Input.ManipulationPivot::get_Center()
    @_property
    def center(self) -> windows_foundation.Point: ...
    # System.Void Microsoft.UI.Xaml.Input.ManipulationPivot::put_Center(Windows.Foundation.Point)
    @center.setter
    def center(self, value: typing.Union[windows_foundation.Point, typing.Tuple[winrt.system.Single, winrt.system.Single]]) -> None: ...

class ManipulationStartedRoutedEventArgs_Static(microsoft_ui_xaml.RoutedEventArgs_Static):
    pass

class ManipulationStartedRoutedEventArgs(microsoft_ui_xaml.RoutedEventArgs, metaclass=ManipulationStartedRoutedEventArgs_Static):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    @typing.final
    # System.Void Microsoft.UI.Xaml.Input.ManipulationStartedRoutedEventArgs::Complete()
    def complete(self) -> None: ...
    # System.Boolean Microsoft.UI.Xaml.Input.ManipulationStartedRoutedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.ManipulationStartedRoutedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    @typing.final
    def handled(self, value: bool) -> None: ...
    # Microsoft.UI.Xaml.UIElement Microsoft.UI.Xaml.Input.ManipulationStartedRoutedEventArgs::get_Container()
    @_property
    @typing.final
    def container(self) -> microsoft_ui_xaml.UIElement: ...
    # Microsoft.UI.Input.ManipulationDelta Microsoft.UI.Xaml.Input.ManipulationStartedRoutedEventArgs::get_Cumulative()
    @_property
    @typing.final
    def cumulative(self) -> microsoft_ui_input.ManipulationDelta: ...
    # Microsoft.UI.Input.PointerDeviceType Microsoft.UI.Xaml.Input.ManipulationStartedRoutedEventArgs::get_PointerDeviceType()
    @_property
    @typing.final
    def pointer_device_type(self) -> microsoft_ui_input.PointerDeviceType: ...
    # Windows.Foundation.Point Microsoft.UI.Xaml.Input.ManipulationStartedRoutedEventArgs::get_Position()
    @_property
    @typing.final
    def position(self) -> windows_foundation.Point: ...

@typing.final
class ManipulationStartingRoutedEventArgs(microsoft_ui_xaml.RoutedEventArgs):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Microsoft.UI.Xaml.Input.ManipulationPivot Microsoft.UI.Xaml.Input.ManipulationStartingRoutedEventArgs::get_Pivot()
    @_property
    def pivot(self) -> ManipulationPivot: ...
    # System.Void Microsoft.UI.Xaml.Input.ManipulationStartingRoutedEventArgs::put_Pivot(Microsoft.UI.Xaml.Input.ManipulationPivot)
    @pivot.setter
    def pivot(self, value: ManipulationPivot) -> None: ...
    # Microsoft.UI.Xaml.Input.ManipulationModes Microsoft.UI.Xaml.Input.ManipulationStartingRoutedEventArgs::get_Mode()
    @_property
    def mode(self) -> ManipulationModes: ...
    # System.Void Microsoft.UI.Xaml.Input.ManipulationStartingRoutedEventArgs::put_Mode(Microsoft.UI.Xaml.Input.ManipulationModes)
    @mode.setter
    def mode(self, value: ManipulationModes) -> None: ...
    # System.Boolean Microsoft.UI.Xaml.Input.ManipulationStartingRoutedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.ManipulationStartingRoutedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # Microsoft.UI.Xaml.UIElement Microsoft.UI.Xaml.Input.ManipulationStartingRoutedEventArgs::get_Container()
    @_property
    def container(self) -> microsoft_ui_xaml.UIElement: ...
    # System.Void Microsoft.UI.Xaml.Input.ManipulationStartingRoutedEventArgs::put_Container(Microsoft.UI.Xaml.UIElement)
    @container.setter
    def container(self, value: microsoft_ui_xaml.UIElement) -> None: ...

@typing.final
class NoFocusCandidateFoundEventArgs(microsoft_ui_xaml.RoutedEventArgs):
    # System.Boolean Microsoft.UI.Xaml.Input.NoFocusCandidateFoundEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.NoFocusCandidateFoundEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # Microsoft.UI.Xaml.Input.FocusNavigationDirection Microsoft.UI.Xaml.Input.NoFocusCandidateFoundEventArgs::get_Direction()
    @_property
    def direction(self) -> FocusNavigationDirection: ...
    # Microsoft.UI.Xaml.Input.FocusInputDeviceKind Microsoft.UI.Xaml.Input.NoFocusCandidateFoundEventArgs::get_InputDevice()
    @_property
    def input_device(self) -> FocusInputDeviceKind: ...

@typing.final
class Pointer(winrt.system.Object):
    # System.Boolean Microsoft.UI.Xaml.Input.Pointer::get_IsInContact()
    @_property
    def is_in_contact(self) -> bool: ...
    # System.Boolean Microsoft.UI.Xaml.Input.Pointer::get_IsInRange()
    @_property
    def is_in_range(self) -> bool: ...
    # Microsoft.UI.Input.PointerDeviceType Microsoft.UI.Xaml.Input.Pointer::get_PointerDeviceType()
    @_property
    def pointer_device_type(self) -> microsoft_ui_input.PointerDeviceType: ...
    # System.UInt32 Microsoft.UI.Xaml.Input.Pointer::get_PointerId()
    @_property
    def pointer_id(self) -> winrt.system.UInt32: ...

@typing.final
class PointerRoutedEventArgs(microsoft_ui_xaml.RoutedEventArgs):
    # Microsoft.UI.Input.PointerPoint Microsoft.UI.Xaml.Input.PointerRoutedEventArgs::GetCurrentPoint(Microsoft.UI.Xaml.UIElement)
    def get_current_point(self, relative_to: microsoft_ui_xaml.UIElement, /) -> microsoft_ui_input.PointerPoint: ...
    # Windows.Foundation.Collections.IVector`1<Microsoft.UI.Input.PointerPoint> Microsoft.UI.Xaml.Input.PointerRoutedEventArgs::GetIntermediatePoints(Microsoft.UI.Xaml.UIElement)
    def get_intermediate_points(self, relative_to: microsoft_ui_xaml.UIElement, /) -> typing.MutableSequence[microsoft_ui_input.PointerPoint]: ...
    # System.Boolean Microsoft.UI.Xaml.Input.PointerRoutedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.PointerRoutedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # System.Boolean Microsoft.UI.Xaml.Input.PointerRoutedEventArgs::get_IsGenerated()
    @_property
    def is_generated(self) -> bool: ...
    # Windows.System.VirtualKeyModifiers Microsoft.UI.Xaml.Input.PointerRoutedEventArgs::get_KeyModifiers()
    @_property
    def key_modifiers(self) -> windows_system.VirtualKeyModifiers: ...
    # Microsoft.UI.Xaml.Input.Pointer Microsoft.UI.Xaml.Input.PointerRoutedEventArgs::get_Pointer()
    @_property
    def pointer(self) -> Pointer: ...

@typing.final
class ProcessKeyboardAcceleratorEventArgs(winrt.system.Object):
    # System.Boolean Microsoft.UI.Xaml.Input.ProcessKeyboardAcceleratorEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.ProcessKeyboardAcceleratorEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # Windows.System.VirtualKey Microsoft.UI.Xaml.Input.ProcessKeyboardAcceleratorEventArgs::get_Key()
    @_property
    def key(self) -> windows_system.VirtualKey: ...
    # Windows.System.VirtualKeyModifiers Microsoft.UI.Xaml.Input.ProcessKeyboardAcceleratorEventArgs::get_Modifiers()
    @_property
    def modifiers(self) -> windows_system.VirtualKeyModifiers: ...

@typing.final
class RightTappedRoutedEventArgs(microsoft_ui_xaml.RoutedEventArgs):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Foundation.Point Microsoft.UI.Xaml.Input.RightTappedRoutedEventArgs::GetPosition(Microsoft.UI.Xaml.UIElement)
    def get_position(self, relative_to: microsoft_ui_xaml.UIElement, /) -> windows_foundation.Point: ...
    # System.Boolean Microsoft.UI.Xaml.Input.RightTappedRoutedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.RightTappedRoutedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # Microsoft.UI.Input.PointerDeviceType Microsoft.UI.Xaml.Input.RightTappedRoutedEventArgs::get_PointerDeviceType()
    @_property
    def pointer_device_type(self) -> microsoft_ui_input.PointerDeviceType: ...

class StandardUICommand_Static(XamlUICommand_Static):
    # Microsoft.UI.Xaml.DependencyProperty Microsoft.UI.Xaml.Input.StandardUICommand::get_KindProperty()
    @_property
    @typing.final
    def kind_property(cls) -> microsoft_ui_xaml.DependencyProperty: ...

class StandardUICommand(XamlUICommand, metaclass=StandardUICommand_Static):
    @typing.overload
    def __new__(cls: typing.Type[Self]) -> Self: ...
    @typing.overload
    def __new__(cls: typing.Type[Self], kind: StandardUICommandKind) -> Self: ...
    # Microsoft.UI.Xaml.Input.StandardUICommandKind Microsoft.UI.Xaml.Input.StandardUICommand::get_Kind()
    @_property
    def kind(self) -> StandardUICommandKind: ...
    # System.Void Microsoft.UI.Xaml.Input.StandardUICommand::put_Kind(Microsoft.UI.Xaml.Input.StandardUICommandKind)
    @kind.setter
    @typing.final
    def kind(self, value: StandardUICommandKind) -> None: ...

@typing.final
class TappedRoutedEventArgs(microsoft_ui_xaml.RoutedEventArgs):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Foundation.Point Microsoft.UI.Xaml.Input.TappedRoutedEventArgs::GetPosition(Microsoft.UI.Xaml.UIElement)
    def get_position(self, relative_to: microsoft_ui_xaml.UIElement, /) -> windows_foundation.Point: ...
    # System.Boolean Microsoft.UI.Xaml.Input.TappedRoutedEventArgs::get_Handled()
    @_property
    def handled(self) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.TappedRoutedEventArgs::put_Handled(System.Boolean)
    @handled.setter
    def handled(self, value: bool) -> None: ...
    # Microsoft.UI.Input.PointerDeviceType Microsoft.UI.Xaml.Input.TappedRoutedEventArgs::get_PointerDeviceType()
    @_property
    def pointer_device_type(self) -> microsoft_ui_input.PointerDeviceType: ...

class XamlUICommand_Static(microsoft_ui_xaml.DependencyObject_Static):
    # Microsoft.UI.Xaml.DependencyProperty Microsoft.UI.Xaml.Input.XamlUICommand::get_AccessKeyProperty()
    @_property
    @typing.final
    def access_key_property(cls) -> microsoft_ui_xaml.DependencyProperty: ...
    # Microsoft.UI.Xaml.DependencyProperty Microsoft.UI.Xaml.Input.XamlUICommand::get_CommandProperty()
    @_property
    @typing.final
    def command_property(cls) -> microsoft_ui_xaml.DependencyProperty: ...
    # Microsoft.UI.Xaml.DependencyProperty Microsoft.UI.Xaml.Input.XamlUICommand::get_DescriptionProperty()
    @_property
    @typing.final
    def description_property(cls) -> microsoft_ui_xaml.DependencyProperty: ...
    # Microsoft.UI.Xaml.DependencyProperty Microsoft.UI.Xaml.Input.XamlUICommand::get_IconSourceProperty()
    @_property
    @typing.final
    def icon_source_property(cls) -> microsoft_ui_xaml.DependencyProperty: ...
    # Microsoft.UI.Xaml.DependencyProperty Microsoft.UI.Xaml.Input.XamlUICommand::get_KeyboardAcceleratorsProperty()
    @_property
    @typing.final
    def keyboard_accelerators_property(cls) -> microsoft_ui_xaml.DependencyProperty: ...
    # Microsoft.UI.Xaml.DependencyProperty Microsoft.UI.Xaml.Input.XamlUICommand::get_LabelProperty()
    @_property
    @typing.final
    def label_property(cls) -> microsoft_ui_xaml.DependencyProperty: ...

class XamlUICommand(microsoft_ui_xaml.DependencyObject, ICommand, metaclass=XamlUICommand_Static):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # System.Boolean Microsoft.UI.Xaml.Input.XamlUICommand::CanExecute(System.Object)
    def can_execute(self, parameter: winrt.system.Object, /) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.XamlUICommand::Execute(System.Object)
    def execute(self, parameter: winrt.system.Object, /) -> None: ...
    @typing.final
    # System.Void Microsoft.UI.Xaml.Input.XamlUICommand::NotifyCanExecuteChanged()
    def notify_can_execute_changed(self) -> None: ...
    @typing.final
    # Windows.Foundation.EventRegistrationToken Microsoft.UI.Xaml.Input.XamlUICommand::add_CanExecuteRequested(Windows.Foundation.TypedEventHandler`2<Microsoft.UI.Xaml.Input.XamlUICommand,Microsoft.UI.Xaml.Input.CanExecuteRequestedEventArgs>)
    def add_can_execute_requested(self, handler: windows_foundation.TypedEventHandler[XamlUICommand, CanExecuteRequestedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    @typing.final
    # System.Void Microsoft.UI.Xaml.Input.XamlUICommand::remove_CanExecuteRequested(Windows.Foundation.EventRegistrationToken)
    def remove_can_execute_requested(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    @typing.final
    # Windows.Foundation.EventRegistrationToken Microsoft.UI.Xaml.Input.XamlUICommand::add_ExecuteRequested(Windows.Foundation.TypedEventHandler`2<Microsoft.UI.Xaml.Input.XamlUICommand,Microsoft.UI.Xaml.Input.ExecuteRequestedEventArgs>)
    def add_execute_requested(self, handler: windows_foundation.TypedEventHandler[XamlUICommand, ExecuteRequestedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    @typing.final
    # System.Void Microsoft.UI.Xaml.Input.XamlUICommand::remove_ExecuteRequested(Windows.Foundation.EventRegistrationToken)
    def remove_execute_requested(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    @typing.final
    # Windows.Foundation.EventRegistrationToken Microsoft.UI.Xaml.Input.XamlUICommand::add_CanExecuteChanged(Windows.Foundation.EventHandler`1<System.Object>)
    def add_can_execute_changed(self, handler: windows_foundation.EventHandler[winrt.system.Object], /) -> windows_foundation.EventRegistrationToken: ...
    @typing.final
    # System.Void Microsoft.UI.Xaml.Input.XamlUICommand::remove_CanExecuteChanged(Windows.Foundation.EventRegistrationToken)
    def remove_can_execute_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # System.String Microsoft.UI.Xaml.Input.XamlUICommand::get_Label()
    @_property
    def label(self) -> str: ...
    # System.Void Microsoft.UI.Xaml.Input.XamlUICommand::put_Label(System.String)
    @label.setter
    @typing.final
    def label(self, value: str) -> None: ...
    # Microsoft.UI.Xaml.Controls.IconSource Microsoft.UI.Xaml.Input.XamlUICommand::get_IconSource()
    @_property
    def icon_source(self) -> microsoft_ui_xaml_controls.IconSource: ...
    # System.Void Microsoft.UI.Xaml.Input.XamlUICommand::put_IconSource(Microsoft.UI.Xaml.Controls.IconSource)
    @icon_source.setter
    @typing.final
    def icon_source(self, value: microsoft_ui_xaml_controls.IconSource) -> None: ...
    # System.String Microsoft.UI.Xaml.Input.XamlUICommand::get_Description()
    @_property
    def description(self) -> str: ...
    # System.Void Microsoft.UI.Xaml.Input.XamlUICommand::put_Description(System.String)
    @description.setter
    @typing.final
    def description(self, value: str) -> None: ...
    # Microsoft.UI.Xaml.Input.ICommand Microsoft.UI.Xaml.Input.XamlUICommand::get_Command()
    @_property
    def command(self) -> ICommand: ...
    # System.Void Microsoft.UI.Xaml.Input.XamlUICommand::put_Command(Microsoft.UI.Xaml.Input.ICommand)
    @command.setter
    @typing.final
    def command(self, value: ICommand) -> None: ...
    # System.String Microsoft.UI.Xaml.Input.XamlUICommand::get_AccessKey()
    @_property
    def access_key(self) -> str: ...
    # System.Void Microsoft.UI.Xaml.Input.XamlUICommand::put_AccessKey(System.String)
    @access_key.setter
    @typing.final
    def access_key(self, value: str) -> None: ...
    # Windows.Foundation.Collections.IVector`1<Microsoft.UI.Xaml.Input.KeyboardAccelerator> Microsoft.UI.Xaml.Input.XamlUICommand::get_KeyboardAccelerators()
    @_property
    @typing.final
    def keyboard_accelerators(self) -> typing.MutableSequence[KeyboardAccelerator]: ...

@typing.final
class _ICommand: ...

class ICommand(winrt._winrt.IInspectable):
    # System.Boolean Microsoft.UI.Xaml.Input.ICommand::CanExecute(System.Object)
    @abstractmethod
    def can_execute(self, parameter: winrt.system.Object, /) -> bool: ...
    # System.Void Microsoft.UI.Xaml.Input.ICommand::Execute(System.Object)
    @abstractmethod
    def execute(self, parameter: winrt.system.Object, /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Microsoft.UI.Xaml.Input.ICommand::add_CanExecuteChanged(Windows.Foundation.EventHandler`1<System.Object>)
    @abstractmethod
    def add_can_execute_changed(self, handler: windows_foundation.EventHandler[winrt.system.Object], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Microsoft.UI.Xaml.Input.ICommand::remove_CanExecuteChanged(Windows.Foundation.EventRegistrationToken)
    @abstractmethod
    def remove_can_execute_changed(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...

