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

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

import winrt._winrt
import winrt.system
import winrt.microsoft.ui.xaml.automation
import winrt.microsoft.ui.xaml.automation.peers
import winrt.microsoft.ui.xaml.automation.text
import winrt.windows.foundation
import winrt.windows.ui

Self = typing.TypeVar('Self')

@typing.final
class IRawElementProviderSimple(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IRawElementProviderSimple: ...

@typing.final
class IAnnotationProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IAnnotationProvider: ...
    @_property
    def annotation_type_id(self) -> winrt.system.Int32: ...
    @_property
    def annotation_type_name(self) -> str: ...
    @_property
    def author(self) -> str: ...
    @_property
    def date_time(self) -> str: ...
    @_property
    def target(self) -> typing.Optional[IRawElementProviderSimple]: ...

@typing.final
class ICustomNavigationProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ICustomNavigationProvider: ...
    def navigate_custom(self, direction: winrt.microsoft.ui.xaml.automation.peers.AutomationNavigationDirection, /) -> typing.Optional[winrt.system.Object]: ...

@typing.final
class IDockProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IDockProvider: ...
    def set_dock_position(self, dock_position: winrt.microsoft.ui.xaml.automation.DockPosition, /) -> None: ...
    @_property
    def dock_position(self) -> winrt.microsoft.ui.xaml.automation.DockPosition: ...

@typing.final
class IDragProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IDragProvider: ...
    def get_grabbed_items(self) -> typing.Optional[IRawElementProviderSimple]: ...
    @_property
    def drop_effect(self) -> str: ...
    @_property
    def drop_effects(self) -> str: ...
    @_property
    def is_grabbed(self) -> bool: ...

@typing.final
class IDropTargetProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IDropTargetProvider: ...
    @_property
    def drop_effect(self) -> str: ...
    @_property
    def drop_effects(self) -> str: ...

@typing.final
class IExpandCollapseProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IExpandCollapseProvider: ...
    def collapse(self) -> None: ...
    def expand(self) -> None: ...
    @_property
    def expand_collapse_state(self) -> winrt.microsoft.ui.xaml.automation.ExpandCollapseState: ...

@typing.final
class IGridItemProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IGridItemProvider: ...
    @_property
    def column(self) -> winrt.system.Int32: ...
    @_property
    def column_span(self) -> winrt.system.Int32: ...
    @_property
    def containing_grid(self) -> typing.Optional[IRawElementProviderSimple]: ...
    @_property
    def row(self) -> winrt.system.Int32: ...
    @_property
    def row_span(self) -> winrt.system.Int32: ...

@typing.final
class IGridProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IGridProvider: ...
    def get_item(self, row: winrt.system.Int32, column: winrt.system.Int32, /) -> typing.Optional[IRawElementProviderSimple]: ...
    @_property
    def column_count(self) -> winrt.system.Int32: ...
    @_property
    def row_count(self) -> winrt.system.Int32: ...

@typing.final
class IInvokeProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IInvokeProvider: ...
    def invoke(self) -> None: ...

@typing.final
class IItemContainerProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IItemContainerProvider: ...
    def find_item_by_property(self, start_after: typing.Optional[IRawElementProviderSimple], automation_property: typing.Optional[winrt.microsoft.ui.xaml.automation.AutomationProperty], value: typing.Optional[winrt.system.Object], /) -> typing.Optional[IRawElementProviderSimple]: ...

@typing.final
class IMultipleViewProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IMultipleViewProvider: ...
    def get_supported_views(self) -> winrt.system.Int32: ...
    def get_view_name(self, view_id: winrt.system.Int32, /) -> str: ...
    def set_current_view(self, view_id: winrt.system.Int32, /) -> None: ...
    @_property
    def current_view(self) -> winrt.system.Int32: ...

@typing.final
class IObjectModelProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IObjectModelProvider: ...
    def get_underlying_object_model(self) -> typing.Optional[winrt.system.Object]: ...

@typing.final
class IRangeValueProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IRangeValueProvider: ...
    def set_value(self, value: winrt.system.Double, /) -> None: ...
    @_property
    def is_read_only(self) -> bool: ...
    @_property
    def large_change(self) -> winrt.system.Double: ...
    @_property
    def maximum(self) -> winrt.system.Double: ...
    @_property
    def minimum(self) -> winrt.system.Double: ...
    @_property
    def small_change(self) -> winrt.system.Double: ...
    @_property
    def value(self) -> winrt.system.Double: ...

@typing.final
class IScrollItemProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IScrollItemProvider: ...
    def scroll_into_view(self) -> None: ...

@typing.final
class IScrollProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IScrollProvider: ...
    def scroll(self, horizontal_amount: winrt.microsoft.ui.xaml.automation.ScrollAmount, vertical_amount: winrt.microsoft.ui.xaml.automation.ScrollAmount, /) -> None: ...
    def set_scroll_percent(self, horizontal_percent: winrt.system.Double, vertical_percent: winrt.system.Double, /) -> None: ...
    @_property
    def horizontal_scroll_percent(self) -> winrt.system.Double: ...
    @_property
    def horizontal_view_size(self) -> winrt.system.Double: ...
    @_property
    def horizontally_scrollable(self) -> bool: ...
    @_property
    def vertical_scroll_percent(self) -> winrt.system.Double: ...
    @_property
    def vertical_view_size(self) -> winrt.system.Double: ...
    @_property
    def vertically_scrollable(self) -> bool: ...

@typing.final
class ISelectionItemProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ISelectionItemProvider: ...
    def add_to_selection(self) -> None: ...
    def remove_from_selection(self) -> None: ...
    def select(self) -> None: ...
    @_property
    def is_selected(self) -> bool: ...
    @_property
    def selection_container(self) -> typing.Optional[IRawElementProviderSimple]: ...

@typing.final
class ISelectionProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ISelectionProvider: ...
    def get_selection(self) -> typing.Optional[IRawElementProviderSimple]: ...
    @_property
    def can_select_multiple(self) -> bool: ...
    @_property
    def is_selection_required(self) -> bool: ...

@typing.final
class ISpreadsheetItemProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ISpreadsheetItemProvider: ...
    def get_annotation_objects(self) -> typing.Optional[IRawElementProviderSimple]: ...
    def get_annotation_types(self) -> winrt.microsoft.ui.xaml.automation.AnnotationType: ...
    @_property
    def formula(self) -> str: ...

@typing.final
class ISpreadsheetProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ISpreadsheetProvider: ...
    def get_item_by_name(self, name: str, /) -> typing.Optional[IRawElementProviderSimple]: ...

@typing.final
class IStylesProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IStylesProvider: ...
    @_property
    def extended_properties(self) -> str: ...
    @_property
    def fill_color(self) -> winrt.windows.ui.Color: ...
    @_property
    def fill_pattern_color(self) -> winrt.windows.ui.Color: ...
    @_property
    def fill_pattern_style(self) -> str: ...
    @_property
    def shape(self) -> str: ...
    @_property
    def style_id(self) -> winrt.system.Int32: ...
    @_property
    def style_name(self) -> str: ...

@typing.final
class ISynchronizedInputProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ISynchronizedInputProvider: ...
    def cancel(self) -> None: ...
    def start_listening(self, input_type: winrt.microsoft.ui.xaml.automation.SynchronizedInputType, /) -> None: ...

@typing.final
class ITableItemProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ITableItemProvider: ...
    def get_column_header_items(self) -> typing.Optional[IRawElementProviderSimple]: ...
    def get_row_header_items(self) -> typing.Optional[IRawElementProviderSimple]: ...

@typing.final
class ITableProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ITableProvider: ...
    def get_column_headers(self) -> typing.Optional[IRawElementProviderSimple]: ...
    def get_row_headers(self) -> typing.Optional[IRawElementProviderSimple]: ...
    @_property
    def row_or_column_major(self) -> winrt.microsoft.ui.xaml.automation.RowOrColumnMajor: ...

@typing.final
class ITextChildProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ITextChildProvider: ...
    @_property
    def text_container(self) -> typing.Optional[IRawElementProviderSimple]: ...
    @_property
    def text_range(self) -> typing.Optional[ITextRangeProvider]: ...

@typing.final
class ITextEditProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ITextEditProvider: ...
    def get_active_composition(self) -> typing.Optional[ITextRangeProvider]: ...
    def get_conversion_target(self) -> typing.Optional[ITextRangeProvider]: ...
    def get_selection(self) -> typing.Optional[ITextRangeProvider]: ...
    def get_visible_ranges(self) -> typing.Optional[ITextRangeProvider]: ...
    def range_from_child(self, child_element: typing.Optional[IRawElementProviderSimple], /) -> typing.Optional[ITextRangeProvider]: ...
    def range_from_point(self, screen_location: winrt.windows.foundation.Point, /) -> typing.Optional[ITextRangeProvider]: ...
    @_property
    def document_range(self) -> typing.Optional[ITextRangeProvider]: ...
    @_property
    def supported_text_selection(self) -> winrt.microsoft.ui.xaml.automation.SupportedTextSelection: ...

@typing.final
class ITextProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ITextProvider: ...
    def get_selection(self) -> typing.Optional[ITextRangeProvider]: ...
    def get_visible_ranges(self) -> typing.Optional[ITextRangeProvider]: ...
    def range_from_child(self, child_element: typing.Optional[IRawElementProviderSimple], /) -> typing.Optional[ITextRangeProvider]: ...
    def range_from_point(self, screen_location: winrt.windows.foundation.Point, /) -> typing.Optional[ITextRangeProvider]: ...
    @_property
    def document_range(self) -> typing.Optional[ITextRangeProvider]: ...
    @_property
    def supported_text_selection(self) -> winrt.microsoft.ui.xaml.automation.SupportedTextSelection: ...

@typing.final
class ITextProvider2(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ITextProvider2: ...
    def get_caret_range(self) -> typing.Tuple[typing.Optional[ITextRangeProvider], bool]: ...
    def get_selection(self) -> typing.Optional[ITextRangeProvider]: ...
    def get_visible_ranges(self) -> typing.Optional[ITextRangeProvider]: ...
    def range_from_annotation(self, annotation_element: typing.Optional[IRawElementProviderSimple], /) -> typing.Optional[ITextRangeProvider]: ...
    def range_from_child(self, child_element: typing.Optional[IRawElementProviderSimple], /) -> typing.Optional[ITextRangeProvider]: ...
    def range_from_point(self, screen_location: winrt.windows.foundation.Point, /) -> typing.Optional[ITextRangeProvider]: ...
    @_property
    def document_range(self) -> typing.Optional[ITextRangeProvider]: ...
    @_property
    def supported_text_selection(self) -> winrt.microsoft.ui.xaml.automation.SupportedTextSelection: ...

@typing.final
class ITextRangeProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ITextRangeProvider: ...
    def add_to_selection(self) -> None: ...
    def clone(self) -> typing.Optional[ITextRangeProvider]: ...
    def compare(self, text_range_provider: typing.Optional[ITextRangeProvider], /) -> bool: ...
    def compare_endpoints(self, endpoint: winrt.microsoft.ui.xaml.automation.text.TextPatternRangeEndpoint, text_range_provider: typing.Optional[ITextRangeProvider], target_endpoint: winrt.microsoft.ui.xaml.automation.text.TextPatternRangeEndpoint, /) -> winrt.system.Int32: ...
    def expand_to_enclosing_unit(self, unit: winrt.microsoft.ui.xaml.automation.text.TextUnit, /) -> None: ...
    def find_attribute(self, attribute_id: winrt.system.Int32, value: typing.Optional[winrt.system.Object], backward: bool, /) -> typing.Optional[ITextRangeProvider]: ...
    def find_text(self, text: str, backward: bool, ignore_case: bool, /) -> typing.Optional[ITextRangeProvider]: ...
    def get_attribute_value(self, attribute_id: winrt.system.Int32, /) -> typing.Optional[winrt.system.Object]: ...
    def get_bounding_rectangles(self) -> winrt.system.Array[winrt.system.Double]: ...
    def get_children(self) -> typing.Optional[IRawElementProviderSimple]: ...
    def get_enclosing_element(self) -> typing.Optional[IRawElementProviderSimple]: ...
    def get_text(self, max_length: winrt.system.Int32, /) -> str: ...
    def move(self, unit: winrt.microsoft.ui.xaml.automation.text.TextUnit, count: winrt.system.Int32, /) -> winrt.system.Int32: ...
    def move_endpoint_by_range(self, endpoint: winrt.microsoft.ui.xaml.automation.text.TextPatternRangeEndpoint, text_range_provider: typing.Optional[ITextRangeProvider], target_endpoint: winrt.microsoft.ui.xaml.automation.text.TextPatternRangeEndpoint, /) -> None: ...
    def move_endpoint_by_unit(self, endpoint: winrt.microsoft.ui.xaml.automation.text.TextPatternRangeEndpoint, unit: winrt.microsoft.ui.xaml.automation.text.TextUnit, count: winrt.system.Int32, /) -> winrt.system.Int32: ...
    def remove_from_selection(self) -> None: ...
    def scroll_into_view(self, align_to_top: bool, /) -> None: ...
    def select(self) -> None: ...

@typing.final
class ITextRangeProvider2(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ITextRangeProvider2: ...
    def add_to_selection(self) -> None: ...
    def clone(self) -> typing.Optional[ITextRangeProvider]: ...
    def compare(self, text_range_provider: typing.Optional[ITextRangeProvider], /) -> bool: ...
    def compare_endpoints(self, endpoint: winrt.microsoft.ui.xaml.automation.text.TextPatternRangeEndpoint, text_range_provider: typing.Optional[ITextRangeProvider], target_endpoint: winrt.microsoft.ui.xaml.automation.text.TextPatternRangeEndpoint, /) -> winrt.system.Int32: ...
    def expand_to_enclosing_unit(self, unit: winrt.microsoft.ui.xaml.automation.text.TextUnit, /) -> None: ...
    def find_attribute(self, attribute_id: winrt.system.Int32, value: typing.Optional[winrt.system.Object], backward: bool, /) -> typing.Optional[ITextRangeProvider]: ...
    def find_text(self, text: str, backward: bool, ignore_case: bool, /) -> typing.Optional[ITextRangeProvider]: ...
    def get_attribute_value(self, attribute_id: winrt.system.Int32, /) -> typing.Optional[winrt.system.Object]: ...
    def get_bounding_rectangles(self) -> winrt.system.Array[winrt.system.Double]: ...
    def get_children(self) -> typing.Optional[IRawElementProviderSimple]: ...
    def get_enclosing_element(self) -> typing.Optional[IRawElementProviderSimple]: ...
    def get_text(self, max_length: winrt.system.Int32, /) -> str: ...
    def move(self, unit: winrt.microsoft.ui.xaml.automation.text.TextUnit, count: winrt.system.Int32, /) -> winrt.system.Int32: ...
    def move_endpoint_by_range(self, endpoint: winrt.microsoft.ui.xaml.automation.text.TextPatternRangeEndpoint, text_range_provider: typing.Optional[ITextRangeProvider], target_endpoint: winrt.microsoft.ui.xaml.automation.text.TextPatternRangeEndpoint, /) -> None: ...
    def move_endpoint_by_unit(self, endpoint: winrt.microsoft.ui.xaml.automation.text.TextPatternRangeEndpoint, unit: winrt.microsoft.ui.xaml.automation.text.TextUnit, count: winrt.system.Int32, /) -> winrt.system.Int32: ...
    def remove_from_selection(self) -> None: ...
    def scroll_into_view(self, align_to_top: bool, /) -> None: ...
    def select(self) -> None: ...
    def show_context_menu(self) -> None: ...

@typing.final
class IToggleProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IToggleProvider: ...
    def toggle(self) -> None: ...
    @_property
    def toggle_state(self) -> winrt.microsoft.ui.xaml.automation.ToggleState: ...

@typing.final
class ITransformProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ITransformProvider: ...
    def move(self, x: winrt.system.Double, y: winrt.system.Double, /) -> None: ...
    def resize(self, width: winrt.system.Double, height: winrt.system.Double, /) -> None: ...
    def rotate(self, degrees: winrt.system.Double, /) -> None: ...
    @_property
    def can_move(self) -> bool: ...
    @_property
    def can_resize(self) -> bool: ...
    @_property
    def can_rotate(self) -> bool: ...

@typing.final
class ITransformProvider2(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ITransformProvider2: ...
    def move(self, x: winrt.system.Double, y: winrt.system.Double, /) -> None: ...
    def resize(self, width: winrt.system.Double, height: winrt.system.Double, /) -> None: ...
    def rotate(self, degrees: winrt.system.Double, /) -> None: ...
    def zoom(self, zoom: winrt.system.Double, /) -> None: ...
    def zoom_by_unit(self, zoom_unit: winrt.microsoft.ui.xaml.automation.ZoomUnit, /) -> None: ...
    @_property
    def can_zoom(self) -> bool: ...
    @_property
    def max_zoom(self) -> winrt.system.Double: ...
    @_property
    def min_zoom(self) -> winrt.system.Double: ...
    @_property
    def zoom_level(self) -> winrt.system.Double: ...
    @_property
    def can_move(self) -> bool: ...
    @_property
    def can_resize(self) -> bool: ...
    @_property
    def can_rotate(self) -> bool: ...

@typing.final
class IValueProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IValueProvider: ...
    def set_value(self, value: str, /) -> None: ...
    @_property
    def is_read_only(self) -> bool: ...
    @_property
    def value(self) -> str: ...

@typing.final
class IVirtualizedItemProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IVirtualizedItemProvider: ...
    def realize(self) -> None: ...

@typing.final
class IWindowProvider(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> IWindowProvider: ...
    def close(self) -> None: ...
    def set_visual_state(self, state: winrt.microsoft.ui.xaml.automation.WindowVisualState, /) -> None: ...
    def wait_for_input_idle(self, milliseconds: winrt.system.Int32, /) -> bool: ...
    @_property
    def interaction_state(self) -> winrt.microsoft.ui.xaml.automation.WindowInteractionState: ...
    @_property
    def is_modal(self) -> bool: ...
    @_property
    def is_topmost(self) -> bool: ...
    @_property
    def maximizable(self) -> bool: ...
    @_property
    def minimizable(self) -> bool: ...
    @_property
    def visual_state(self) -> winrt.microsoft.ui.xaml.automation.WindowVisualState: ...

