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

import enum
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.system
except Exception:
    pass

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

try:
    import winsdk.windows.ui.composition
except Exception:
    pass

try:
    import winsdk.windows.ui.input
except Exception:
    pass

class AppViewBackButtonVisibility(enum.IntEnum):
    VISIBLE = 0
    COLLAPSED = 1
    DISABLED = 2

class CoreAcceleratorKeyEventType(enum.IntEnum):
    CHARACTER = 2
    DEAD_CHARACTER = 3
    KEY_DOWN = 0
    KEY_UP = 1
    SYSTEM_CHARACTER = 6
    SYSTEM_DEAD_CHARACTER = 7
    SYSTEM_KEY_DOWN = 4
    SYSTEM_KEY_UP = 5
    UNICODE_CHARACTER = 8

class CoreCursorType(enum.IntEnum):
    ARROW = 0
    CROSS = 1
    CUSTOM = 2
    HAND = 3
    HELP = 4
    I_BEAM = 5
    SIZE_ALL = 6
    SIZE_NORTHEAST_SOUTHWEST = 7
    SIZE_NORTH_SOUTH = 8
    SIZE_NORTHWEST_SOUTHEAST = 9
    SIZE_WEST_EAST = 10
    UNIVERSAL_NO = 11
    UP_ARROW = 12
    WAIT = 13
    PIN = 14
    PERSON = 15

class CoreDispatcherPriority(enum.IntEnum):
    IDLE = -2
    LOW = -1
    NORMAL = 0
    HIGH = 1

class CoreIndependentInputFilters(enum.IntFlag):
    NONE = 0
    MOUSE_BUTTON = 0x1
    MOUSE_WHEEL = 0x2
    MOUSE_HOVER = 0x4
    PEN_WITH_BARREL = 0x8
    PEN_INVERTED = 0x10

class CoreInputDeviceTypes(enum.IntFlag):
    NONE = 0
    TOUCH = 0x1
    PEN = 0x2
    MOUSE = 0x4

class CoreProcessEventsOption(enum.IntEnum):
    PROCESS_ONE_AND_ALL_PENDING = 0
    PROCESS_ONE_IF_PRESENT = 1
    PROCESS_UNTIL_QUIT = 2
    PROCESS_ALL_IF_PRESENT = 3

class CoreProximityEvaluationScore(enum.IntEnum):
    CLOSEST = 0
    FARTHEST = 2147483647

class CoreVirtualKeyStates(enum.IntFlag):
    NONE = 0
    DOWN = 0x1
    LOCKED = 0x2

class CoreWindowActivationMode(enum.IntEnum):
    NONE = 0
    DEACTIVATED = 1
    ACTIVATED_NOT_FOREGROUND = 2
    ACTIVATED_IN_FOREGROUND = 3

class CoreWindowActivationState(enum.IntEnum):
    CODE_ACTIVATED = 0
    DEACTIVATED = 1
    POINTER_ACTIVATED = 2

class CoreWindowFlowDirection(enum.IntEnum):
    LEFT_TO_RIGHT = 0
    RIGHT_TO_LEFT = 1

class CorePhysicalKeyStatus:
    repeat_count: _winrt.UInt32
    scan_code: _winrt.UInt32
    is_extended_key: _winrt.Boolean
    is_menu_key_down: _winrt.Boolean
    was_key_down: _winrt.Boolean
    is_key_released: _winrt.Boolean
    def __init__(self, repeat_count: _winrt.UInt32, scan_code: _winrt.UInt32, is_extended_key: _winrt.Boolean, is_menu_key_down: _winrt.Boolean, was_key_down: _winrt.Boolean, is_key_released: _winrt.Boolean) -> None: ...

class CoreProximityEvaluation:
    score: _winrt.Int32
    adjusted_point: winsdk.windows.foundation.Point
    def __init__(self, score: _winrt.Int32, adjusted_point: winsdk.windows.foundation.Point) -> None: ...

class AcceleratorKeyEventArgs(ICoreWindowEventArgs, _winrt.Object):
    event_type: CoreAcceleratorKeyEventType
    key_status: CorePhysicalKeyStatus
    virtual_key: winsdk.windows.system.VirtualKey
    device_id: str
    handled: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> AcceleratorKeyEventArgs: ...

class AutomationProviderRequestedEventArgs(ICoreWindowEventArgs, _winrt.Object):
    automation_provider: _winrt.Object
    handled: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> AutomationProviderRequestedEventArgs: ...

class BackRequestedEventArgs(_winrt.Object):
    handled: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> BackRequestedEventArgs: ...

class CharacterReceivedEventArgs(ICoreWindowEventArgs, _winrt.Object):
    key_code: _winrt.UInt32
    key_status: CorePhysicalKeyStatus
    handled: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> CharacterReceivedEventArgs: ...

class ClosestInteractiveBoundsRequestedEventArgs(_winrt.Object):
    closest_interactive_bounds: winsdk.windows.foundation.Rect
    pointer_position: winsdk.windows.foundation.Point
    search_bounds: winsdk.windows.foundation.Rect
    @staticmethod
    def _from(obj: _winrt.Object) -> ClosestInteractiveBoundsRequestedEventArgs: ...

class CoreAcceleratorKeys(ICoreAcceleratorKeys, _winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> CoreAcceleratorKeys: ...
    @typing.overload
    def add_accelerator_key_activated(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreDispatcher, AcceleratorKeyEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_accelerator_key_activated(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class CoreComponentInputSource(ICoreInputSourceBase, ICorePointerInputSource, ICorePointerInputSource2, _winrt.Object):
    has_focus: _winrt.Boolean
    is_input_enabled: _winrt.Boolean
    dispatcher: CoreDispatcher
    pointer_cursor: CoreCursor
    has_capture: _winrt.Boolean
    pointer_position: winsdk.windows.foundation.Point
    dispatcher_queue: winsdk.windows.system.DispatcherQueue
    @staticmethod
    def _from(obj: _winrt.Object) -> CoreComponentInputSource: ...
    @typing.overload
    def get_current_key_event_device_id(self) -> str: ...
    @typing.overload
    def get_current_key_state(self, virtual_key: winsdk.windows.system.VirtualKey) -> CoreVirtualKeyStates: ...
    @typing.overload
    def release_pointer_capture(self) -> None: ...
    @typing.overload
    def set_pointer_capture(self) -> None: ...
    @typing.overload
    def add_input_enabled(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, InputEnabledEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_input_enabled(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_capture_lost(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_capture_lost(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_entered(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_entered(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_exited(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_exited(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_moved(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_moved(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_pressed(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_pressed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_released(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_released(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_wheel_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_wheel_changed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_character_received(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, CharacterReceivedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_character_received(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_key_down(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, KeyEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_key_down(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_key_up(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, KeyEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_key_up(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_got_focus(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, CoreWindowEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_got_focus(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_lost_focus(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, CoreWindowEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_lost_focus(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_touch_hit_testing(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, TouchHitTestingEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_touch_hit_testing(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_closest_interactive_bounds_requested(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreComponentInputSource, ClosestInteractiveBoundsRequestedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_closest_interactive_bounds_requested(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class CoreCursor(_winrt.Object):
    id: _winrt.UInt32
    type: CoreCursorType
    @staticmethod
    def _from(obj: _winrt.Object) -> CoreCursor: ...
    @typing.overload
    def __init__(self, type: CoreCursorType, id: _winrt.UInt32) -> None: ...

class CoreDispatcher(ICoreAcceleratorKeys, _winrt.Object):
    has_thread_access: _winrt.Boolean
    current_priority: CoreDispatcherPriority
    @staticmethod
    def _from(obj: _winrt.Object) -> CoreDispatcher: ...
    @typing.overload
    def process_events(self, options: CoreProcessEventsOption) -> None: ...
    @typing.overload
    def run_async(self, priority: CoreDispatcherPriority, agile_callback: DispatchedHandler) -> winsdk.windows.foundation.IAsyncAction: ...
    @typing.overload
    def run_idle_async(self, agile_callback: IdleDispatchedHandler) -> winsdk.windows.foundation.IAsyncAction: ...
    @typing.overload
    def should_yield(self) -> _winrt.Boolean: ...
    @typing.overload
    def should_yield(self, priority: CoreDispatcherPriority) -> _winrt.Boolean: ...
    @typing.overload
    def stop_process_events(self) -> None: ...
    @typing.overload
    def try_run_async(self, priority: CoreDispatcherPriority, agile_callback: DispatchedHandler) -> winsdk.windows.foundation.IAsyncOperation[_winrt.Boolean]: ...
    @typing.overload
    def try_run_idle_async(self, agile_callback: IdleDispatchedHandler) -> winsdk.windows.foundation.IAsyncOperation[_winrt.Boolean]: ...
    @typing.overload
    def add_accelerator_key_activated(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreDispatcher, AcceleratorKeyEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_accelerator_key_activated(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class CoreIndependentInputSource(ICoreInputSourceBase, ICorePointerInputSource, ICorePointerInputSource2, ICorePointerRedirector, _winrt.Object):
    is_input_enabled: _winrt.Boolean
    dispatcher: CoreDispatcher
    pointer_cursor: CoreCursor
    has_capture: _winrt.Boolean
    pointer_position: winsdk.windows.foundation.Point
    dispatcher_queue: winsdk.windows.system.DispatcherQueue
    @staticmethod
    def _from(obj: _winrt.Object) -> CoreIndependentInputSource: ...
    @typing.overload
    def release_pointer_capture(self) -> None: ...
    @typing.overload
    def set_pointer_capture(self) -> None: ...
    @typing.overload
    def add_input_enabled(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, InputEnabledEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_input_enabled(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_capture_lost(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_capture_lost(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_entered(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_entered(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_exited(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_exited(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_moved(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_moved(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_pressed(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_pressed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_released(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_released(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_wheel_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_wheel_changed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_routed_away(self, handler: winsdk.windows.foundation.TypedEventHandler[ICorePointerRedirector, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_routed_away(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_routed_released(self, handler: winsdk.windows.foundation.TypedEventHandler[ICorePointerRedirector, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_routed_released(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_routed_to(self, handler: winsdk.windows.foundation.TypedEventHandler[ICorePointerRedirector, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_routed_to(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class CoreIndependentInputSourceController(winsdk.windows.foundation.IClosable, _winrt.Object):
    is_transparent_for_uncontrolled_input: _winrt.Boolean
    is_palm_rejection_enabled: _winrt.Boolean
    source: CoreIndependentInputSource
    @staticmethod
    def _from(obj: _winrt.Object) -> CoreIndependentInputSourceController: ...
    @typing.overload
    def close(self) -> None: ...
    @typing.overload
    @staticmethod
    def create_for_i_visual_element(visual_element: winsdk.windows.ui.composition.IVisualElement) -> CoreIndependentInputSourceController: ...
    @typing.overload
    @staticmethod
    def create_for_visual(visual: winsdk.windows.ui.composition.Visual) -> CoreIndependentInputSourceController: ...
    @typing.overload
    def set_controlled_input(self, input_types: CoreInputDeviceTypes) -> None: ...
    @typing.overload
    def set_controlled_input(self, input_types: CoreInputDeviceTypes, required: CoreIndependentInputFilters, excluded: CoreIndependentInputFilters) -> None: ...

class CoreWindow(ICoreWindow, ICorePointerRedirector, _winrt.Object):
    pointer_position: winsdk.windows.foundation.Point
    pointer_cursor: CoreCursor
    flow_direction: CoreWindowFlowDirection
    is_input_enabled: _winrt.Boolean
    dispatcher: CoreDispatcher
    automation_host_provider: _winrt.Object
    bounds: winsdk.windows.foundation.Rect
    custom_properties: winsdk.windows.foundation.collections.IPropertySet
    visible: _winrt.Boolean
    activation_mode: CoreWindowActivationMode
    dispatcher_queue: winsdk.windows.system.DispatcherQueue
    u_i_context: winsdk.windows.ui.UIContext
    @staticmethod
    def _from(obj: _winrt.Object) -> CoreWindow: ...
    @typing.overload
    def activate(self) -> None: ...
    @typing.overload
    def close(self) -> None: ...
    @typing.overload
    def get_async_key_state(self, virtual_key: winsdk.windows.system.VirtualKey) -> CoreVirtualKeyStates: ...
    @typing.overload
    def get_current_key_event_device_id(self) -> str: ...
    @typing.overload
    @staticmethod
    def get_for_current_thread() -> CoreWindow: ...
    @typing.overload
    def get_key_state(self, virtual_key: winsdk.windows.system.VirtualKey) -> CoreVirtualKeyStates: ...
    @typing.overload
    def release_pointer_capture(self) -> None: ...
    @typing.overload
    def set_pointer_capture(self) -> None: ...
    @typing.overload
    def add_activated(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, WindowActivatedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_activated(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_automation_provider_requested(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, AutomationProviderRequestedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_automation_provider_requested(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_character_received(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, CharacterReceivedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_character_received(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_closed(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, CoreWindowEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_closed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_input_enabled(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, InputEnabledEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_input_enabled(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_key_down(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, KeyEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_key_down(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_key_up(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, KeyEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_key_up(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_capture_lost(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_capture_lost(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_entered(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_entered(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_exited(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_exited(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_moved(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_moved(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_pressed(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_pressed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_released(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_released(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_wheel_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_wheel_changed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_size_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, WindowSizeChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_size_changed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_touch_hit_testing(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, TouchHitTestingEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_touch_hit_testing(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_visibility_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, VisibilityChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_visibility_changed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_routed_away(self, handler: winsdk.windows.foundation.TypedEventHandler[ICorePointerRedirector, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_routed_away(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_routed_released(self, handler: winsdk.windows.foundation.TypedEventHandler[ICorePointerRedirector, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_routed_released(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_routed_to(self, handler: winsdk.windows.foundation.TypedEventHandler[ICorePointerRedirector, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_routed_to(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_closest_interactive_bounds_requested(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, ClosestInteractiveBoundsRequestedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_closest_interactive_bounds_requested(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_resize_completed(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_resize_completed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_resize_started(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_resize_started(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class CoreWindowEventArgs(ICoreWindowEventArgs, _winrt.Object):
    handled: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> CoreWindowEventArgs: ...

class CoreWindowResizeManager(_winrt.Object):
    should_wait_for_layout_completion: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> CoreWindowResizeManager: ...
    @typing.overload
    @staticmethod
    def get_for_current_view() -> CoreWindowResizeManager: ...
    @typing.overload
    def notify_layout_completed(self) -> None: ...

class IdleDispatchedHandlerArgs(_winrt.Object):
    is_dispatcher_idle: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> IdleDispatchedHandlerArgs: ...

class InputEnabledEventArgs(ICoreWindowEventArgs, _winrt.Object):
    handled: _winrt.Boolean
    input_enabled: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> InputEnabledEventArgs: ...

class KeyEventArgs(ICoreWindowEventArgs, _winrt.Object):
    handled: _winrt.Boolean
    key_status: CorePhysicalKeyStatus
    virtual_key: winsdk.windows.system.VirtualKey
    device_id: str
    @staticmethod
    def _from(obj: _winrt.Object) -> KeyEventArgs: ...

class PointerEventArgs(ICoreWindowEventArgs, _winrt.Object):
    handled: _winrt.Boolean
    current_point: winsdk.windows.ui.input.PointerPoint
    key_modifiers: winsdk.windows.system.VirtualKeyModifiers
    @staticmethod
    def _from(obj: _winrt.Object) -> PointerEventArgs: ...
    @typing.overload
    def get_intermediate_points(self) -> winsdk.windows.foundation.collections.IVector[winsdk.windows.ui.input.PointerPoint]: ...

class SystemNavigationManager(_winrt.Object):
    app_view_back_button_visibility: AppViewBackButtonVisibility
    @staticmethod
    def _from(obj: _winrt.Object) -> SystemNavigationManager: ...
    @typing.overload
    @staticmethod
    def get_for_current_view() -> SystemNavigationManager: ...
    @typing.overload
    def add_back_requested(self, handler: winsdk.windows.foundation.EventHandler[BackRequestedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_back_requested(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class TouchHitTestingEventArgs(ICoreWindowEventArgs, _winrt.Object):
    handled: _winrt.Boolean
    proximity_evaluation: CoreProximityEvaluation
    bounding_box: winsdk.windows.foundation.Rect
    point: winsdk.windows.foundation.Point
    @staticmethod
    def _from(obj: _winrt.Object) -> TouchHitTestingEventArgs: ...
    @typing.overload
    def evaluate_proximity(self, control_bounding_box: winsdk.windows.foundation.Rect) -> CoreProximityEvaluation: ...

class VisibilityChangedEventArgs(ICoreWindowEventArgs, _winrt.Object):
    handled: _winrt.Boolean
    visible: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> VisibilityChangedEventArgs: ...

class WindowActivatedEventArgs(ICoreWindowEventArgs, _winrt.Object):
    handled: _winrt.Boolean
    window_activation_state: CoreWindowActivationState
    @staticmethod
    def _from(obj: _winrt.Object) -> WindowActivatedEventArgs: ...

class WindowSizeChangedEventArgs(ICoreWindowEventArgs, _winrt.Object):
    handled: _winrt.Boolean
    size: winsdk.windows.foundation.Size
    @staticmethod
    def _from(obj: _winrt.Object) -> WindowSizeChangedEventArgs: ...

class ICoreAcceleratorKeys(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> ICoreAcceleratorKeys: ...
    @typing.overload
    def add_accelerator_key_activated(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreDispatcher, AcceleratorKeyEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_accelerator_key_activated(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class ICoreInputSourceBase(_winrt.Object):
    dispatcher: CoreDispatcher
    is_input_enabled: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> ICoreInputSourceBase: ...
    @typing.overload
    def add_input_enabled(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, InputEnabledEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_input_enabled(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class ICorePointerInputSource(_winrt.Object):
    has_capture: _winrt.Boolean
    pointer_cursor: CoreCursor
    pointer_position: winsdk.windows.foundation.Point
    @staticmethod
    def _from(obj: _winrt.Object) -> ICorePointerInputSource: ...
    @typing.overload
    def release_pointer_capture(self) -> None: ...
    @typing.overload
    def set_pointer_capture(self) -> None: ...
    @typing.overload
    def add_pointer_capture_lost(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_capture_lost(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_entered(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_entered(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_exited(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_exited(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_moved(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_moved(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_pressed(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_pressed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_released(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_released(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_wheel_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_wheel_changed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class ICorePointerInputSource2(ICorePointerInputSource, _winrt.Object):
    dispatcher_queue: winsdk.windows.system.DispatcherQueue
    has_capture: _winrt.Boolean
    pointer_cursor: CoreCursor
    pointer_position: winsdk.windows.foundation.Point
    @staticmethod
    def _from(obj: _winrt.Object) -> ICorePointerInputSource2: ...
    @typing.overload
    def release_pointer_capture(self) -> None: ...
    @typing.overload
    def set_pointer_capture(self) -> None: ...
    @typing.overload
    def add_pointer_capture_lost(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_capture_lost(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_entered(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_entered(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_exited(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_exited(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_moved(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_moved(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_pressed(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_pressed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_released(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_released(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_wheel_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[_winrt.Object, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_wheel_changed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class ICorePointerRedirector(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> ICorePointerRedirector: ...
    @typing.overload
    def add_pointer_routed_away(self, handler: winsdk.windows.foundation.TypedEventHandler[ICorePointerRedirector, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_routed_away(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_routed_released(self, handler: winsdk.windows.foundation.TypedEventHandler[ICorePointerRedirector, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_routed_released(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_routed_to(self, handler: winsdk.windows.foundation.TypedEventHandler[ICorePointerRedirector, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_routed_to(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class ICoreWindow(_winrt.Object):
    automation_host_provider: _winrt.Object
    bounds: winsdk.windows.foundation.Rect
    custom_properties: winsdk.windows.foundation.collections.IPropertySet
    dispatcher: CoreDispatcher
    flow_direction: CoreWindowFlowDirection
    is_input_enabled: _winrt.Boolean
    pointer_cursor: CoreCursor
    pointer_position: winsdk.windows.foundation.Point
    visible: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> ICoreWindow: ...
    @typing.overload
    def activate(self) -> None: ...
    @typing.overload
    def close(self) -> None: ...
    @typing.overload
    def get_async_key_state(self, virtual_key: winsdk.windows.system.VirtualKey) -> CoreVirtualKeyStates: ...
    @typing.overload
    def get_key_state(self, virtual_key: winsdk.windows.system.VirtualKey) -> CoreVirtualKeyStates: ...
    @typing.overload
    def release_pointer_capture(self) -> None: ...
    @typing.overload
    def set_pointer_capture(self) -> None: ...
    @typing.overload
    def add_activated(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, WindowActivatedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_activated(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_automation_provider_requested(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, AutomationProviderRequestedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_automation_provider_requested(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_character_received(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, CharacterReceivedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_character_received(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_closed(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, CoreWindowEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_closed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_input_enabled(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, InputEnabledEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_input_enabled(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_key_down(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, KeyEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_key_down(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_key_up(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, KeyEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_key_up(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_capture_lost(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_capture_lost(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_entered(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_entered(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_exited(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_exited(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_moved(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_moved(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_pressed(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_pressed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_released(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_released(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_pointer_wheel_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, PointerEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_pointer_wheel_changed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_size_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, WindowSizeChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_size_changed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_touch_hit_testing(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, TouchHitTestingEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_touch_hit_testing(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    @typing.overload
    def add_visibility_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, VisibilityChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    @typing.overload
    def remove_visibility_changed(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class ICoreWindowEventArgs(_winrt.Object):
    handled: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> ICoreWindowEventArgs: ...

class IInitializeWithCoreWindow(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> IInitializeWithCoreWindow: ...
    @typing.overload
    def initialize(self, window: CoreWindow) -> None: ...

DispatchedHandler = typing.Callable[[], None]

IdleDispatchedHandler = typing.Callable[[IdleDispatchedHandlerArgs], None]

