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

import enum
import datetime
import sys
import types
import typing

import winsdk._winrt as _winrt
import winsdk.windows.foundation
import winsdk.windows.foundation.collections
import winsdk.windows.system
import winsdk.windows.ui
import winsdk.windows.ui.composition
import winsdk.windows.ui.input
import winsdk.windows.ui.popups

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

Self = typing.TypeVar('Self')

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 __new__(cls: typing.Type[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) -> CorePhysicalKeyStatus: ...

class CoreProximityEvaluation:
    score: _winrt.Int32
    adjusted_point: winsdk.windows.foundation.Point
    def __new__(cls: typing.Type[CoreProximityEvaluation], score: _winrt.Int32, adjusted_point: winsdk.windows.foundation.Point) -> CoreProximityEvaluation: ...

class AcceleratorKeyEventArgs(_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(_winrt.Object):
    automation_provider: typing.Optional[_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(_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(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> CoreAcceleratorKeys: ...
    def add_accelerator_key_activated(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreDispatcher, AcceleratorKeyEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_accelerator_key_activated(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

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

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

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

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

class CoreWindowDialog(_winrt.Object):
    title: str
    is_interaction_delayed: _winrt.Int32
    default_command_index: _winrt.UInt32
    cancel_command_index: _winrt.UInt32
    back_button_command: typing.Optional[winsdk.windows.ui.popups.UICommandInvokedHandler]
    commands: typing.Optional[winsdk.windows.foundation.collections.IVector[winsdk.windows.ui.popups.IUICommand]]
    max_size: winsdk.windows.foundation.Size
    min_size: winsdk.windows.foundation.Size
    @staticmethod
    def _from(obj: _winrt.Object) -> CoreWindowDialog: ...
    @typing.overload
    def __new__(cls: typing.Type[CoreWindowDialog], title: str) -> CoreWindowDialog:...
    @typing.overload
    def __new__(cls: typing.Type[CoreWindowDialog]) -> CoreWindowDialog:...
    def show_async(self) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.ui.popups.IUICommand]: ...
    def add_showing(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, CoreWindowPopupShowingEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_showing(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

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

class CoreWindowFlyout(_winrt.Object):
    title: str
    is_interaction_delayed: _winrt.Int32
    default_command_index: _winrt.UInt32
    back_button_command: typing.Optional[winsdk.windows.ui.popups.UICommandInvokedHandler]
    commands: typing.Optional[winsdk.windows.foundation.collections.IVector[winsdk.windows.ui.popups.IUICommand]]
    max_size: winsdk.windows.foundation.Size
    min_size: winsdk.windows.foundation.Size
    @staticmethod
    def _from(obj: _winrt.Object) -> CoreWindowFlyout: ...
    @typing.overload
    def __new__(cls: typing.Type[CoreWindowFlyout], position: winsdk.windows.foundation.Point) -> CoreWindowFlyout:...
    @typing.overload
    def __new__(cls: typing.Type[CoreWindowFlyout], position: winsdk.windows.foundation.Point, title: str) -> CoreWindowFlyout:...
    def show_async(self) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.ui.popups.IUICommand]: ...
    def add_showing(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreWindow, CoreWindowPopupShowingEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_showing(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class CoreWindowPopupShowingEventArgs(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> CoreWindowPopupShowingEventArgs: ...
    def set_desired_size(self, value: winsdk.windows.foundation.Size) -> None: ...

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

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

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

class KeyEventArgs(_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(_winrt.Object):
    handled: _winrt.Boolean
    current_point: typing.Optional[winsdk.windows.ui.input.PointerPoint]
    key_modifiers: winsdk.windows.system.VirtualKeyModifiers
    @staticmethod
    def _from(obj: _winrt.Object) -> PointerEventArgs: ...
    def get_intermediate_points(self) -> typing.Optional[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: ...
    @staticmethod
    def get_for_current_view() -> typing.Optional[SystemNavigationManager]: ...
    def add_back_requested(self, handler: winsdk.windows.foundation.EventHandler[BackRequestedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_back_requested(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class TouchHitTestingEventArgs(_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: ...
    def evaluate_proximity(self, control_bounding_box: winsdk.windows.foundation.Rect) -> CoreProximityEvaluation: ...

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

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

class WindowSizeChangedEventArgs(_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: ...
    def add_accelerator_key_activated(self, handler: winsdk.windows.foundation.TypedEventHandler[CoreDispatcher, AcceleratorKeyEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_accelerator_key_activated(self, cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

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

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

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

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

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

DispatchedHandler = typing.Callable[[], None]

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

