"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Copyright 2022 The ChromiumOS Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.duration_pb2
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _ClickType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _ClickTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ClickType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    CLICK_TYPE_UNSPECIFIED: _ClickType.ValueType  # 0
    CLICK_TYPE_LEFT_CLICK: _ClickType.ValueType  # 1
    CLICK_TYPE_RIGHT_CLICK: _ClickType.ValueType  # 2
    CLICK_TYPE_DOUBLE_CLICK: _ClickType.ValueType  # 3
    CLICK_TYPE_MIDDLE_CLICK: _ClickType.ValueType  # 4

class ClickType(_ClickType, metaclass=_ClickTypeEnumTypeWrapper): ...

CLICK_TYPE_UNSPECIFIED: ClickType.ValueType  # 0
CLICK_TYPE_LEFT_CLICK: ClickType.ValueType  # 1
CLICK_TYPE_RIGHT_CLICK: ClickType.ValueType  # 2
CLICK_TYPE_DOUBLE_CLICK: ClickType.ValueType  # 3
CLICK_TYPE_MIDDLE_CLICK: ClickType.ValueType  # 4
global___ClickType = ClickType

class _MouseButton:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _MouseButtonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MouseButton.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    LEFT_BUTTON: _MouseButton.ValueType  # 0
    RIGHT_BUTTON: _MouseButton.ValueType  # 1
    MIDDLE_BUTTON: _MouseButton.ValueType  # 2
    BACK_BUTTON: _MouseButton.ValueType  # 3
    FORWARD_BUTTON: _MouseButton.ValueType  # 4

class MouseButton(_MouseButton, metaclass=_MouseButtonEnumTypeWrapper):
    """MouseButton describes mouse button types as defined in
    https://cs.chromium.org/chromium/src/chrome/common/extensions/api/autotest_private.idl?l=90
    """

LEFT_BUTTON: MouseButton.ValueType  # 0
RIGHT_BUTTON: MouseButton.ValueType  # 1
MIDDLE_BUTTON: MouseButton.ValueType  # 2
BACK_BUTTON: MouseButton.ValueType  # 3
FORWARD_BUTTON: MouseButton.ValueType  # 4
global___MouseButton = MouseButton

class _Checked:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _CheckedEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Checked.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    CHECKED_UNSPECIFIED: _Checked.ValueType  # 0
    CHECKED_TRUE: _Checked.ValueType  # 1
    CHECKED_FALSE: _Checked.ValueType  # 2
    CHECKED_MIXED: _Checked.ValueType  # 3

class Checked(_Checked, metaclass=_CheckedEnumTypeWrapper):
    """Checked describes tri-state values of a checkbox or radio button.
    As defined in
    https://chromium.googlesource.com/chromium/src/+/refs/heads/main/extensions/common/api/automation.idl
    """

CHECKED_UNSPECIFIED: Checked.ValueType  # 0
CHECKED_TRUE: Checked.ValueType  # 1
CHECKED_FALSE: Checked.ValueType  # 2
CHECKED_MIXED: Checked.ValueType  # 3
global___Checked = Checked

class _Restriction:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _RestrictionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Restriction.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    RESTRICTION_UNSPECIFIED: _Restriction.ValueType  # 0
    RESTRICTION_DISABLED: _Restriction.ValueType  # 1
    """disallows input in itself + any descendants"""
    RESTRICTION_READ_ONLY: _Restriction.ValueType  # 2
    """allow focus/selection but not input"""
    RESTRICTION_NONE: _Restriction.ValueType  # 3
    """enable control or other object that is not disabled"""

class Restriction(_Restriction, metaclass=_RestrictionEnumTypeWrapper):
    """Restriction describes the restriction state of a chrome.automation
    AutomationNode. As defined in
    https://developer.chrome.com/docs/extensions/reference/automation/#type-Restriction
    """

RESTRICTION_UNSPECIFIED: Restriction.ValueType  # 0
RESTRICTION_DISABLED: Restriction.ValueType  # 1
"""disallows input in itself + any descendants"""
RESTRICTION_READ_ONLY: Restriction.ValueType  # 2
"""allow focus/selection but not input"""
RESTRICTION_NONE: Restriction.ValueType  # 3
"""enable control or other object that is not disabled"""
global___Restriction = Restriction

class _State:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _StateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_State.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    STATE_UNSPECIFIED: _State.ValueType  # 0
    STATE_AUTOFILL_AVAILABLE: _State.ValueType  # 1
    STATE_COLLAPSED: _State.ValueType  # 2
    STATE_DEFAULT: _State.ValueType  # 3
    STATE_EDITABLE: _State.ValueType  # 4
    STATE_EXPANDED: _State.ValueType  # 5
    STATE_FOCUSABLE: _State.ValueType  # 6
    STATE_FOCUSED: _State.ValueType  # 7
    STATE_HORIZONTAL: _State.ValueType  # 8
    STATE_HOVERED: _State.ValueType  # 9
    STATE_IGNORED: _State.ValueType  # 10
    STATE_INVISIBLE: _State.ValueType  # 11
    STATE_LINKED: _State.ValueType  # 12
    STATE_MULTILINE: _State.ValueType  # 13
    STATE_MULTISELECTABLE: _State.ValueType  # 14
    STATE_OFFSCREEN: _State.ValueType  # 15
    STATE_PROTECTED: _State.ValueType  # 16
    STATE_REQUIRED: _State.ValueType  # 17
    STATE_RICHLY_EDITABLE: _State.ValueType  # 18
    STATE_VERTICAL: _State.ValueType  # 19
    STATE_VISITED: _State.ValueType  # 20

class State(_State, metaclass=_StateEnumTypeWrapper):
    """State describes the characteristics of the node
    See
    https://developer.chrome.com/docs/extensions/reference/automation/#type-StateType
    """

STATE_UNSPECIFIED: State.ValueType  # 0
STATE_AUTOFILL_AVAILABLE: State.ValueType  # 1
STATE_COLLAPSED: State.ValueType  # 2
STATE_DEFAULT: State.ValueType  # 3
STATE_EDITABLE: State.ValueType  # 4
STATE_EXPANDED: State.ValueType  # 5
STATE_FOCUSABLE: State.ValueType  # 6
STATE_FOCUSED: State.ValueType  # 7
STATE_HORIZONTAL: State.ValueType  # 8
STATE_HOVERED: State.ValueType  # 9
STATE_IGNORED: State.ValueType  # 10
STATE_INVISIBLE: State.ValueType  # 11
STATE_LINKED: State.ValueType  # 12
STATE_MULTILINE: State.ValueType  # 13
STATE_MULTISELECTABLE: State.ValueType  # 14
STATE_OFFSCREEN: State.ValueType  # 15
STATE_PROTECTED: State.ValueType  # 16
STATE_REQUIRED: State.ValueType  # 17
STATE_RICHLY_EDITABLE: State.ValueType  # 18
STATE_VERTICAL: State.ValueType  # 19
STATE_VISITED: State.ValueType  # 20
global___State = State

class _Role:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _RoleEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Role.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    ROLE_UNSPECIFIED: _Role.ValueType  # 0
    ROLE_ABBR: _Role.ValueType  # 1
    ROLE_ALERT: _Role.ValueType  # 2
    ROLE_ALERT_DIALOG: _Role.ValueType  # 3
    ROLE_ANCHOR: _Role.ValueType  # 4
    ROLE_APPLICATION: _Role.ValueType  # 5
    ROLE_ARTICLE: _Role.ValueType  # 6
    ROLE_AUDIO: _Role.ValueType  # 7
    ROLE_BANNER: _Role.ValueType  # 8
    ROLE_BLOCKQUOTE: _Role.ValueType  # 9
    ROLE_BUTTON: _Role.ValueType  # 10
    ROLE_CANVAS: _Role.ValueType  # 11
    ROLE_CAPTION: _Role.ValueType  # 12
    ROLE_CARET: _Role.ValueType  # 13
    ROLE_CELL: _Role.ValueType  # 14
    ROLE_CHECK_BOX: _Role.ValueType  # 15
    ROLE_CLIENT: _Role.ValueType  # 16
    ROLE_CODE: _Role.ValueType  # 17
    ROLE_COLOR_WELL: _Role.ValueType  # 18
    ROLE_COLUMN: _Role.ValueType  # 19
    ROLE_COLUMN_HEADER: _Role.ValueType  # 20
    ROLE_COMBO_BOX_GROUPING: _Role.ValueType  # 21
    ROLE_COMBO_BOX_MENU_BUTTON: _Role.ValueType  # 22
    ROLE_COMBO_BOX_SELECT: _Role.ValueType  # 190
    ROLE_COMMENT: _Role.ValueType  # 23
    ROLE_COMPLEMENTARY: _Role.ValueType  # 24
    ROLE_CONTENT_DELETION: _Role.ValueType  # 25
    ROLE_CONTENT_INSERTION: _Role.ValueType  # 26
    ROLE_CONTENT_INFO: _Role.ValueType  # 27
    ROLE_DATE: _Role.ValueType  # 28
    ROLE_DATE_TIME: _Role.ValueType  # 29
    ROLE_DEFINITION: _Role.ValueType  # 30
    ROLE_DESCRIPTION_LIST: _Role.ValueType  # 31
    ROLE_DESCRIPTION_LIST_DETAIL: _Role.ValueType  # 32
    ROLE_DESCRIPTION_LIST_TERM: _Role.ValueType  # 33
    ROLE_DESKTOP: _Role.ValueType  # 34
    ROLE_DETAILS: _Role.ValueType  # 35
    ROLE_DIALOG: _Role.ValueType  # 36
    ROLE_DIRECTORY: _Role.ValueType  # 37
    ROLE_DISCLOSURE_TRIANGLE: _Role.ValueType  # 38
    ROLE_DOC_ABSTRACT: _Role.ValueType  # 39
    ROLE_DOC_ACKNOWLEDGMENTS: _Role.ValueType  # 40
    ROLE_DOC_AFTERWORD: _Role.ValueType  # 41
    ROLE_DOC_APPENDIX: _Role.ValueType  # 42
    ROLE_DOC_BACK_LINK: _Role.ValueType  # 43
    ROLE_DOC_BIBLIO_ENTRY: _Role.ValueType  # 44
    ROLE_DOC_BIBLIOGRAPHY: _Role.ValueType  # 45
    ROLE_DOC_BIBLIO_REF: _Role.ValueType  # 46
    ROLE_DOC_CHAPTER: _Role.ValueType  # 47
    ROLE_DOC_COLOPHON: _Role.ValueType  # 48
    ROLE_DOC_CONCLUSION: _Role.ValueType  # 49
    ROLE_DOC_COVER: _Role.ValueType  # 50
    ROLE_DOC_CREDIT: _Role.ValueType  # 51
    ROLE_DOC_CREDITS: _Role.ValueType  # 52
    ROLE_DOC_DEDICATION: _Role.ValueType  # 53
    ROLE_DOC_ENDNOTE: _Role.ValueType  # 54
    ROLE_DOC_ENDNOTES: _Role.ValueType  # 55
    ROLE_DOC_EPIGRAPH: _Role.ValueType  # 56
    ROLE_DOC_EPILOGUE: _Role.ValueType  # 57
    ROLE_DOC_ERRATA: _Role.ValueType  # 58
    ROLE_DOC_EXAMPLE: _Role.ValueType  # 59
    ROLE_DOC_FOOTNOTE: _Role.ValueType  # 60
    ROLE_DOC_FOREWORD: _Role.ValueType  # 61
    ROLE_DOC_GLOSSARY: _Role.ValueType  # 62
    ROLE_DOC_GLOSS_REF: _Role.ValueType  # 63
    ROLE_DOC_INDEX: _Role.ValueType  # 64
    ROLE_DOC_INTRODUCTION: _Role.ValueType  # 65
    ROLE_DOC_NOTE_REF: _Role.ValueType  # 66
    ROLE_DOC_NOTICE: _Role.ValueType  # 67
    ROLE_DOC_PAGE_BREAK: _Role.ValueType  # 68
    ROLE_DOC_PAGE_FOOTER: _Role.ValueType  # 69
    ROLE_DOC_PAGE_HEADER: _Role.ValueType  # 70
    ROLE_DOC_PAGE_LIST: _Role.ValueType  # 71
    ROLE_DOC_PART: _Role.ValueType  # 72
    ROLE_DOC_PREFACE: _Role.ValueType  # 73
    ROLE_DOC_PROLOGUE: _Role.ValueType  # 74
    ROLE_DOC_PULLQUOTE: _Role.ValueType  # 75
    ROLE_DOC_QNA: _Role.ValueType  # 76
    ROLE_DOC_SUBTITLE: _Role.ValueType  # 77
    ROLE_DOC_TIP: _Role.ValueType  # 78
    ROLE_DOC_TOC: _Role.ValueType  # 79
    ROLE_DOCUMENT: _Role.ValueType  # 80
    ROLE_EMBEDDED_OBJECT: _Role.ValueType  # 81
    ROLE_EMPHASIS: _Role.ValueType  # 82
    ROLE_FEED: _Role.ValueType  # 83
    ROLE_FIGCAPTION: _Role.ValueType  # 84
    ROLE_FIGURE: _Role.ValueType  # 85
    ROLE_FOOTER: _Role.ValueType  # 86
    ROLE_FOOTER_AS_NON_LANDMARK: _Role.ValueType  # 87
    ROLE_FORM: _Role.ValueType  # 88
    ROLE_GENERIC_CONTAINER: _Role.ValueType  # 89
    ROLE_GRAPHICS_DOCUMENT: _Role.ValueType  # 90
    ROLE_GRAPHICS_OBJECT: _Role.ValueType  # 91
    ROLE_GRAPHICS_SYMBOL: _Role.ValueType  # 92
    ROLE_GRID: _Role.ValueType  # 93
    ROLE_GROUP: _Role.ValueType  # 94
    ROLE_HEADER: _Role.ValueType  # 95
    ROLE_HEADER_AS_NON_LANDMARK: _Role.ValueType  # 96
    ROLE_HEADING: _Role.ValueType  # 97
    ROLE_IFRAME: _Role.ValueType  # 98
    ROLE_IFRAME_PRESENTATIONAL: _Role.ValueType  # 99
    ROLE_IGNORED: _Role.ValueType  # 100
    ROLE_IMAGE: _Role.ValueType  # 101
    ROLE_IMAGE_MAP: _Role.ValueType  # 102
    ROLE_IME_CANDIDATE: _Role.ValueType  # 103
    ROLE_INLINE_TEXT_BOX: _Role.ValueType  # 104
    ROLE_INPUT_TIME: _Role.ValueType  # 105
    ROLE_KEYBOARD: _Role.ValueType  # 106
    ROLE_LABEL_TEXT: _Role.ValueType  # 107
    ROLE_LAYOUT_TABLE: _Role.ValueType  # 108
    ROLE_LAYOUT_TABLE_CELL: _Role.ValueType  # 109
    ROLE_LAYOUT_TABLE_ROW: _Role.ValueType  # 110
    ROLE_LEGEND: _Role.ValueType  # 111
    ROLE_LINE_BREAK: _Role.ValueType  # 112
    ROLE_LINK: _Role.ValueType  # 113
    ROLE_LIST: _Role.ValueType  # 114
    ROLE_LIST_BOX: _Role.ValueType  # 115
    ROLE_LIST_BOX_OPTION: _Role.ValueType  # 116
    ROLE_LIST_GRID: _Role.ValueType  # 117
    ROLE_LIST_ITEM: _Role.ValueType  # 118
    ROLE_LIST_MARKER: _Role.ValueType  # 119
    ROLE_LOG: _Role.ValueType  # 120
    ROLE_MAIN: _Role.ValueType  # 121
    ROLE_MARK: _Role.ValueType  # 122
    ROLE_MARQUEE: _Role.ValueType  # 123
    ROLE_MATH: _Role.ValueType  # 124
    ROLE_MENU: _Role.ValueType  # 125
    ROLE_MENU_BAR: _Role.ValueType  # 126
    ROLE_MENU_ITEM: _Role.ValueType  # 127
    ROLE_MENU_ITEM_CHECK_BOX: _Role.ValueType  # 128
    ROLE_MENU_ITEM_RADIO: _Role.ValueType  # 129
    ROLE_MENU_LIST_OPTION: _Role.ValueType  # 130
    ROLE_MENU_LIST_POPUP: _Role.ValueType  # 131
    ROLE_METER: _Role.ValueType  # 132
    ROLE_NAVIGATION: _Role.ValueType  # 133
    ROLE_NOTE: _Role.ValueType  # 134
    ROLE_PANE: _Role.ValueType  # 135
    ROLE_PARAGRAPH: _Role.ValueType  # 136
    ROLE_PDF_ACTIONABLE_HIGHLIGHT: _Role.ValueType  # 137
    ROLE_PLUGIN_OBJECT: _Role.ValueType  # 138
    ROLE_POP_UP_BUTTON: _Role.ValueType  # 139
    ROLE_PORTAL: _Role.ValueType  # 140
    ROLE_PRE: _Role.ValueType  # 141
    ROLE_PRESENTATIONAL: _Role.ValueType  # 142
    ROLE_PROGRESS_INDICATOR: _Role.ValueType  # 143
    ROLE_RADIO_BUTTON: _Role.ValueType  # 144
    ROLE_RADIO_GROUP: _Role.ValueType  # 145
    ROLE_REGION: _Role.ValueType  # 146
    ROLE_ROOT_WEB_AREA: _Role.ValueType  # 147
    ROLE_ROW: _Role.ValueType  # 148
    ROLE_ROW_GROUP: _Role.ValueType  # 149
    ROLE_ROW_HEADER: _Role.ValueType  # 150
    ROLE_RUBY: _Role.ValueType  # 151
    ROLE_RUBY_ANNOTATION: _Role.ValueType  # 152
    ROLE_SCROLL_BAR: _Role.ValueType  # 153
    ROLE_SCROLL_VIEW: _Role.ValueType  # 154
    ROLE_SEARCH: _Role.ValueType  # 155
    ROLE_SEARCH_BOX: _Role.ValueType  # 156
    ROLE_SECTION: _Role.ValueType  # 157
    ROLE_SLIDER: _Role.ValueType  # 158
    ROLE_SLIDER_THUMB: _Role.ValueType  # 159
    ROLE_SPIN_BUTTON: _Role.ValueType  # 160
    ROLE_SPLITTER: _Role.ValueType  # 161
    ROLE_STATIC_TEXT: _Role.ValueType  # 162
    ROLE_STATUS: _Role.ValueType  # 163
    ROLE_STRONG: _Role.ValueType  # 164
    ROLE_SUGGESTION: _Role.ValueType  # 165
    ROLE_SVG_ROOT: _Role.ValueType  # 166
    ROLE_SWITCH: _Role.ValueType  # 167
    ROLE_TAB: _Role.ValueType  # 168
    ROLE_TAB_LIST: _Role.ValueType  # 169
    ROLE_TAB_PANEL: _Role.ValueType  # 170
    ROLE_TABLE: _Role.ValueType  # 171
    ROLE_TABLE_HEADER_CONTAINER: _Role.ValueType  # 172
    ROLE_TERM: _Role.ValueType  # 173
    ROLE_TEXT_FIELD: _Role.ValueType  # 174
    ROLE_TEXT_FIELD_WITH_COMBO_BOX: _Role.ValueType  # 175
    ROLE_TIME: _Role.ValueType  # 176
    ROLE_TIMER: _Role.ValueType  # 177
    ROLE_TITLE_BAR: _Role.ValueType  # 178
    ROLE_TOGGLE_BUTTON: _Role.ValueType  # 179
    ROLE_TOOLBAR: _Role.ValueType  # 180
    ROLE_TOOLTIP: _Role.ValueType  # 181
    ROLE_TREE: _Role.ValueType  # 182
    ROLE_TREE_GRID: _Role.ValueType  # 183
    ROLE_TREE_ITEM: _Role.ValueType  # 184
    ROLE_UNKNOWN: _Role.ValueType  # 185
    ROLE_VIDEO: _Role.ValueType  # 186
    ROLE_WEB_AREA: _Role.ValueType  # 187
    ROLE_WEB_VIEW: _Role.ValueType  # 188
    ROLE_WINDOW: _Role.ValueType  # 189

class Role(_Role, metaclass=_RoleEnumTypeWrapper):
    """Role describes the purpose of the node
    See
    https://developer.chrome.com/docs/extensions/reference/automation/#type-RoleType
    Next ID:  191
    """

ROLE_UNSPECIFIED: Role.ValueType  # 0
ROLE_ABBR: Role.ValueType  # 1
ROLE_ALERT: Role.ValueType  # 2
ROLE_ALERT_DIALOG: Role.ValueType  # 3
ROLE_ANCHOR: Role.ValueType  # 4
ROLE_APPLICATION: Role.ValueType  # 5
ROLE_ARTICLE: Role.ValueType  # 6
ROLE_AUDIO: Role.ValueType  # 7
ROLE_BANNER: Role.ValueType  # 8
ROLE_BLOCKQUOTE: Role.ValueType  # 9
ROLE_BUTTON: Role.ValueType  # 10
ROLE_CANVAS: Role.ValueType  # 11
ROLE_CAPTION: Role.ValueType  # 12
ROLE_CARET: Role.ValueType  # 13
ROLE_CELL: Role.ValueType  # 14
ROLE_CHECK_BOX: Role.ValueType  # 15
ROLE_CLIENT: Role.ValueType  # 16
ROLE_CODE: Role.ValueType  # 17
ROLE_COLOR_WELL: Role.ValueType  # 18
ROLE_COLUMN: Role.ValueType  # 19
ROLE_COLUMN_HEADER: Role.ValueType  # 20
ROLE_COMBO_BOX_GROUPING: Role.ValueType  # 21
ROLE_COMBO_BOX_MENU_BUTTON: Role.ValueType  # 22
ROLE_COMBO_BOX_SELECT: Role.ValueType  # 190
ROLE_COMMENT: Role.ValueType  # 23
ROLE_COMPLEMENTARY: Role.ValueType  # 24
ROLE_CONTENT_DELETION: Role.ValueType  # 25
ROLE_CONTENT_INSERTION: Role.ValueType  # 26
ROLE_CONTENT_INFO: Role.ValueType  # 27
ROLE_DATE: Role.ValueType  # 28
ROLE_DATE_TIME: Role.ValueType  # 29
ROLE_DEFINITION: Role.ValueType  # 30
ROLE_DESCRIPTION_LIST: Role.ValueType  # 31
ROLE_DESCRIPTION_LIST_DETAIL: Role.ValueType  # 32
ROLE_DESCRIPTION_LIST_TERM: Role.ValueType  # 33
ROLE_DESKTOP: Role.ValueType  # 34
ROLE_DETAILS: Role.ValueType  # 35
ROLE_DIALOG: Role.ValueType  # 36
ROLE_DIRECTORY: Role.ValueType  # 37
ROLE_DISCLOSURE_TRIANGLE: Role.ValueType  # 38
ROLE_DOC_ABSTRACT: Role.ValueType  # 39
ROLE_DOC_ACKNOWLEDGMENTS: Role.ValueType  # 40
ROLE_DOC_AFTERWORD: Role.ValueType  # 41
ROLE_DOC_APPENDIX: Role.ValueType  # 42
ROLE_DOC_BACK_LINK: Role.ValueType  # 43
ROLE_DOC_BIBLIO_ENTRY: Role.ValueType  # 44
ROLE_DOC_BIBLIOGRAPHY: Role.ValueType  # 45
ROLE_DOC_BIBLIO_REF: Role.ValueType  # 46
ROLE_DOC_CHAPTER: Role.ValueType  # 47
ROLE_DOC_COLOPHON: Role.ValueType  # 48
ROLE_DOC_CONCLUSION: Role.ValueType  # 49
ROLE_DOC_COVER: Role.ValueType  # 50
ROLE_DOC_CREDIT: Role.ValueType  # 51
ROLE_DOC_CREDITS: Role.ValueType  # 52
ROLE_DOC_DEDICATION: Role.ValueType  # 53
ROLE_DOC_ENDNOTE: Role.ValueType  # 54
ROLE_DOC_ENDNOTES: Role.ValueType  # 55
ROLE_DOC_EPIGRAPH: Role.ValueType  # 56
ROLE_DOC_EPILOGUE: Role.ValueType  # 57
ROLE_DOC_ERRATA: Role.ValueType  # 58
ROLE_DOC_EXAMPLE: Role.ValueType  # 59
ROLE_DOC_FOOTNOTE: Role.ValueType  # 60
ROLE_DOC_FOREWORD: Role.ValueType  # 61
ROLE_DOC_GLOSSARY: Role.ValueType  # 62
ROLE_DOC_GLOSS_REF: Role.ValueType  # 63
ROLE_DOC_INDEX: Role.ValueType  # 64
ROLE_DOC_INTRODUCTION: Role.ValueType  # 65
ROLE_DOC_NOTE_REF: Role.ValueType  # 66
ROLE_DOC_NOTICE: Role.ValueType  # 67
ROLE_DOC_PAGE_BREAK: Role.ValueType  # 68
ROLE_DOC_PAGE_FOOTER: Role.ValueType  # 69
ROLE_DOC_PAGE_HEADER: Role.ValueType  # 70
ROLE_DOC_PAGE_LIST: Role.ValueType  # 71
ROLE_DOC_PART: Role.ValueType  # 72
ROLE_DOC_PREFACE: Role.ValueType  # 73
ROLE_DOC_PROLOGUE: Role.ValueType  # 74
ROLE_DOC_PULLQUOTE: Role.ValueType  # 75
ROLE_DOC_QNA: Role.ValueType  # 76
ROLE_DOC_SUBTITLE: Role.ValueType  # 77
ROLE_DOC_TIP: Role.ValueType  # 78
ROLE_DOC_TOC: Role.ValueType  # 79
ROLE_DOCUMENT: Role.ValueType  # 80
ROLE_EMBEDDED_OBJECT: Role.ValueType  # 81
ROLE_EMPHASIS: Role.ValueType  # 82
ROLE_FEED: Role.ValueType  # 83
ROLE_FIGCAPTION: Role.ValueType  # 84
ROLE_FIGURE: Role.ValueType  # 85
ROLE_FOOTER: Role.ValueType  # 86
ROLE_FOOTER_AS_NON_LANDMARK: Role.ValueType  # 87
ROLE_FORM: Role.ValueType  # 88
ROLE_GENERIC_CONTAINER: Role.ValueType  # 89
ROLE_GRAPHICS_DOCUMENT: Role.ValueType  # 90
ROLE_GRAPHICS_OBJECT: Role.ValueType  # 91
ROLE_GRAPHICS_SYMBOL: Role.ValueType  # 92
ROLE_GRID: Role.ValueType  # 93
ROLE_GROUP: Role.ValueType  # 94
ROLE_HEADER: Role.ValueType  # 95
ROLE_HEADER_AS_NON_LANDMARK: Role.ValueType  # 96
ROLE_HEADING: Role.ValueType  # 97
ROLE_IFRAME: Role.ValueType  # 98
ROLE_IFRAME_PRESENTATIONAL: Role.ValueType  # 99
ROLE_IGNORED: Role.ValueType  # 100
ROLE_IMAGE: Role.ValueType  # 101
ROLE_IMAGE_MAP: Role.ValueType  # 102
ROLE_IME_CANDIDATE: Role.ValueType  # 103
ROLE_INLINE_TEXT_BOX: Role.ValueType  # 104
ROLE_INPUT_TIME: Role.ValueType  # 105
ROLE_KEYBOARD: Role.ValueType  # 106
ROLE_LABEL_TEXT: Role.ValueType  # 107
ROLE_LAYOUT_TABLE: Role.ValueType  # 108
ROLE_LAYOUT_TABLE_CELL: Role.ValueType  # 109
ROLE_LAYOUT_TABLE_ROW: Role.ValueType  # 110
ROLE_LEGEND: Role.ValueType  # 111
ROLE_LINE_BREAK: Role.ValueType  # 112
ROLE_LINK: Role.ValueType  # 113
ROLE_LIST: Role.ValueType  # 114
ROLE_LIST_BOX: Role.ValueType  # 115
ROLE_LIST_BOX_OPTION: Role.ValueType  # 116
ROLE_LIST_GRID: Role.ValueType  # 117
ROLE_LIST_ITEM: Role.ValueType  # 118
ROLE_LIST_MARKER: Role.ValueType  # 119
ROLE_LOG: Role.ValueType  # 120
ROLE_MAIN: Role.ValueType  # 121
ROLE_MARK: Role.ValueType  # 122
ROLE_MARQUEE: Role.ValueType  # 123
ROLE_MATH: Role.ValueType  # 124
ROLE_MENU: Role.ValueType  # 125
ROLE_MENU_BAR: Role.ValueType  # 126
ROLE_MENU_ITEM: Role.ValueType  # 127
ROLE_MENU_ITEM_CHECK_BOX: Role.ValueType  # 128
ROLE_MENU_ITEM_RADIO: Role.ValueType  # 129
ROLE_MENU_LIST_OPTION: Role.ValueType  # 130
ROLE_MENU_LIST_POPUP: Role.ValueType  # 131
ROLE_METER: Role.ValueType  # 132
ROLE_NAVIGATION: Role.ValueType  # 133
ROLE_NOTE: Role.ValueType  # 134
ROLE_PANE: Role.ValueType  # 135
ROLE_PARAGRAPH: Role.ValueType  # 136
ROLE_PDF_ACTIONABLE_HIGHLIGHT: Role.ValueType  # 137
ROLE_PLUGIN_OBJECT: Role.ValueType  # 138
ROLE_POP_UP_BUTTON: Role.ValueType  # 139
ROLE_PORTAL: Role.ValueType  # 140
ROLE_PRE: Role.ValueType  # 141
ROLE_PRESENTATIONAL: Role.ValueType  # 142
ROLE_PROGRESS_INDICATOR: Role.ValueType  # 143
ROLE_RADIO_BUTTON: Role.ValueType  # 144
ROLE_RADIO_GROUP: Role.ValueType  # 145
ROLE_REGION: Role.ValueType  # 146
ROLE_ROOT_WEB_AREA: Role.ValueType  # 147
ROLE_ROW: Role.ValueType  # 148
ROLE_ROW_GROUP: Role.ValueType  # 149
ROLE_ROW_HEADER: Role.ValueType  # 150
ROLE_RUBY: Role.ValueType  # 151
ROLE_RUBY_ANNOTATION: Role.ValueType  # 152
ROLE_SCROLL_BAR: Role.ValueType  # 153
ROLE_SCROLL_VIEW: Role.ValueType  # 154
ROLE_SEARCH: Role.ValueType  # 155
ROLE_SEARCH_BOX: Role.ValueType  # 156
ROLE_SECTION: Role.ValueType  # 157
ROLE_SLIDER: Role.ValueType  # 158
ROLE_SLIDER_THUMB: Role.ValueType  # 159
ROLE_SPIN_BUTTON: Role.ValueType  # 160
ROLE_SPLITTER: Role.ValueType  # 161
ROLE_STATIC_TEXT: Role.ValueType  # 162
ROLE_STATUS: Role.ValueType  # 163
ROLE_STRONG: Role.ValueType  # 164
ROLE_SUGGESTION: Role.ValueType  # 165
ROLE_SVG_ROOT: Role.ValueType  # 166
ROLE_SWITCH: Role.ValueType  # 167
ROLE_TAB: Role.ValueType  # 168
ROLE_TAB_LIST: Role.ValueType  # 169
ROLE_TAB_PANEL: Role.ValueType  # 170
ROLE_TABLE: Role.ValueType  # 171
ROLE_TABLE_HEADER_CONTAINER: Role.ValueType  # 172
ROLE_TERM: Role.ValueType  # 173
ROLE_TEXT_FIELD: Role.ValueType  # 174
ROLE_TEXT_FIELD_WITH_COMBO_BOX: Role.ValueType  # 175
ROLE_TIME: Role.ValueType  # 176
ROLE_TIMER: Role.ValueType  # 177
ROLE_TITLE_BAR: Role.ValueType  # 178
ROLE_TOGGLE_BUTTON: Role.ValueType  # 179
ROLE_TOOLBAR: Role.ValueType  # 180
ROLE_TOOLTIP: Role.ValueType  # 181
ROLE_TREE: Role.ValueType  # 182
ROLE_TREE_GRID: Role.ValueType  # 183
ROLE_TREE_ITEM: Role.ValueType  # 184
ROLE_UNKNOWN: Role.ValueType  # 185
ROLE_VIDEO: Role.ValueType  # 186
ROLE_WEB_AREA: Role.ValueType  # 187
ROLE_WEB_VIEW: Role.ValueType  # 188
ROLE_WINDOW: Role.ValueType  # 189
global___Role = Role

@typing.final
class LeftClickRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    @property
    def finder(self) -> global___Finder: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["finder", b"finder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["finder", b"finder"]) -> None: ...

global___LeftClickRequest = LeftClickRequest

@typing.final
class MousePressRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MOUSE_BUTTON_FIELD_NUMBER: builtins.int
    FINDER_FIELD_NUMBER: builtins.int
    mouse_button: global___MouseButton.ValueType
    @property
    def finder(self) -> global___Finder: ...
    def __init__(
        self,
        *,
        mouse_button: global___MouseButton.ValueType = ...,
        finder: global___Finder | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["finder", b"finder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["finder", b"finder", "mouse_button", b"mouse_button"]) -> None: ...

global___MousePressRequest = MousePressRequest

@typing.final
class MouseMoveToRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    DURATION_MS_FIELD_NUMBER: builtins.int
    duration_ms: builtins.int
    @property
    def finder(self) -> global___Finder: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
        duration_ms: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["finder", b"finder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["duration_ms", b"duration_ms", "finder", b"finder"]) -> None: ...

global___MouseMoveToRequest = MouseMoveToRequest

@typing.final
class MouseReleaseRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MOUSE_BUTTON_FIELD_NUMBER: builtins.int
    mouse_button: global___MouseButton.ValueType
    def __init__(
        self,
        *,
        mouse_button: global___MouseButton.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["mouse_button", b"mouse_button"]) -> None: ...

global___MouseReleaseRequest = MouseReleaseRequest

@typing.final
class RightClickRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    @property
    def finder(self) -> global___Finder: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["finder", b"finder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["finder", b"finder"]) -> None: ...

global___RightClickRequest = RightClickRequest

@typing.final
class DoubleClickRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    @property
    def finder(self) -> global___Finder: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["finder", b"finder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["finder", b"finder"]) -> None: ...

global___DoubleClickRequest = DoubleClickRequest

@typing.final
class IsNodeFoundRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    @property
    def finder(self) -> global___Finder: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["finder", b"finder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["finder", b"finder"]) -> None: ...

global___IsNodeFoundRequest = IsNodeFoundRequest

@typing.final
class IsNodeFoundResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FOUND_FIELD_NUMBER: builtins.int
    found: builtins.bool
    def __init__(
        self,
        *,
        found: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["found", b"found"]) -> None: ...

global___IsNodeFoundResponse = IsNodeFoundResponse

@typing.final
class MouseClickAtLocationRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CLICK_TYPE_FIELD_NUMBER: builtins.int
    POINT_FIELD_NUMBER: builtins.int
    click_type: global___ClickType.ValueType
    """ClickType describes how user clicks mouse."""
    @property
    def point(self) -> global___Point:
        """Point is the coordinates for the click."""

    def __init__(
        self,
        *,
        click_type: global___ClickType.ValueType = ...,
        point: global___Point | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["point", b"point"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["click_type", b"click_type", "point", b"point"]) -> None: ...

global___MouseClickAtLocationRequest = MouseClickAtLocationRequest

@typing.final
class EnsureFocusedRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    @property
    def finder(self) -> global___Finder: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["finder", b"finder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["finder", b"finder"]) -> None: ...

global___EnsureFocusedRequest = EnsureFocusedRequest

@typing.final
class WaitUntilCheckedStateRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    EXPECTED_STATE_FIELD_NUMBER: builtins.int
    expected_state: builtins.bool
    @property
    def finder(self) -> global___Finder: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
        expected_state: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["finder", b"finder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["expected_state", b"expected_state", "finder", b"finder"]) -> None: ...

global___WaitUntilCheckedStateRequest = WaitUntilCheckedStateRequest

@typing.final
class WaitUntilExistsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    TIMEOUT_FIELD_NUMBER: builtins.int
    @property
    def finder(self) -> global___Finder: ...
    @property
    def timeout(self) -> google.protobuf.duration_pb2.Duration: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
        timeout: google.protobuf.duration_pb2.Duration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["finder", b"finder", "timeout", b"timeout"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["finder", b"finder", "timeout", b"timeout"]) -> None: ...

global___WaitUntilExistsRequest = WaitUntilExistsRequest

@typing.final
class WaitUntilGoneRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    TIMEOUT_FIELD_NUMBER: builtins.int
    @property
    def finder(self) -> global___Finder: ...
    @property
    def timeout(self) -> google.protobuf.duration_pb2.Duration: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
        timeout: google.protobuf.duration_pb2.Duration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["finder", b"finder", "timeout", b"timeout"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["finder", b"finder", "timeout", b"timeout"]) -> None: ...

global___WaitUntilGoneRequest = WaitUntilGoneRequest

@typing.final
class EnsureGoneRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    TIMEOUT_FIELD_NUMBER: builtins.int
    @property
    def finder(self) -> global___Finder: ...
    @property
    def timeout(self) -> google.protobuf.duration_pb2.Duration: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
        timeout: google.protobuf.duration_pb2.Duration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_timeout", b"_timeout", "finder", b"finder", "timeout", b"timeout"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_timeout", b"_timeout", "finder", b"finder", "timeout", b"timeout"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_timeout", b"_timeout"]) -> typing.Literal["timeout"] | None: ...

global___EnsureGoneRequest = EnsureGoneRequest

@typing.final
class InfoRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    @property
    def finder(self) -> global___Finder: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["finder", b"finder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["finder", b"finder"]) -> None: ...

global___InfoRequest = InfoRequest

@typing.final
class InfoResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NODE_INFO_FIELD_NUMBER: builtins.int
    @property
    def node_info(self) -> global___NodeInfo: ...
    def __init__(
        self,
        *,
        node_info: global___NodeInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["node_info", b"node_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["node_info", b"node_info"]) -> None: ...

global___InfoResponse = InfoResponse

@typing.final
class MakeVisibleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    @property
    def finder(self) -> global___Finder: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["finder", b"finder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["finder", b"finder"]) -> None: ...

global___MakeVisibleRequest = MakeVisibleRequest

@typing.final
class WaitForLocationRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    @property
    def finder(self) -> global___Finder: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["finder", b"finder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["finder", b"finder"]) -> None: ...

global___WaitForLocationRequest = WaitForLocationRequest

@typing.final
class CaptureScreenshotRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    @property
    def finder(self) -> global___Finder: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_finder", b"_finder", "finder", b"finder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_finder", b"_finder", "finder", b"finder"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_finder", b"_finder"]) -> typing.Literal["finder"] | None: ...

global___CaptureScreenshotRequest = CaptureScreenshotRequest

@typing.final
class CaptureScreenshotResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PNG_BASE64_FIELD_NUMBER: builtins.int
    png_base64: builtins.bytes
    def __init__(
        self,
        *,
        png_base64: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["png_base64", b"png_base64"]) -> None: ...

global___CaptureScreenshotResponse = CaptureScreenshotResponse

@typing.final
class GetUITreeRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___GetUITreeRequest = GetUITreeRequest

@typing.final
class GetUITreeResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    UI_TREE_FIELD_NUMBER: builtins.int
    ui_tree: builtins.str
    def __init__(
        self,
        *,
        ui_tree: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["ui_tree", b"ui_tree"]) -> None: ...

global___GetUITreeResponse = GetUITreeResponse

@typing.final
class ResetAutomationRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___ResetAutomationRequest = ResetAutomationRequest

@typing.final
class SelectDropDownOptionRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    OPTION_NAME_FIELD_NUMBER: builtins.int
    option_name: builtins.str
    @property
    def finder(self) -> global___Finder: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
        option_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["finder", b"finder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["finder", b"finder", "option_name", b"option_name"]) -> None: ...

global___SelectDropDownOptionRequest = SelectDropDownOptionRequest

@typing.final
class DoDefaultRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINDER_FIELD_NUMBER: builtins.int
    @property
    def finder(self) -> global___Finder: ...
    def __init__(
        self,
        *,
        finder: global___Finder | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["finder", b"finder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["finder", b"finder"]) -> None: ...

global___DoDefaultRequest = DoDefaultRequest

@typing.final
class NodeInfo(google.protobuf.message.Message):
    """NodeInfo is a wrapper around chrome.automation API AutomationNode.
    As defined in
    https://chromium.googlesource.com/chromium/src/+/refs/heads/main/extensions/common/api/automation.idl
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing.final
    class HtmlAttributesEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...

    @typing.final
    class StateEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.bool
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.bool = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...

    CHECKED_FIELD_NUMBER: builtins.int
    CLASS_NAME_FIELD_NUMBER: builtins.int
    HTML_ATTRIBUTES_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    RESTRICTION_FIELD_NUMBER: builtins.int
    ROLE_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    checked: global___Checked.ValueType
    """Checked contains Tri-state value describing checkbox or radio button:
    'false' | 'true' | 'mixed'.
    """
    class_name: builtins.str
    """ClassName is the name of the programmatic backing object."""
    name: builtins.str
    """Name is the accessible name for the node"""
    restriction: global___Restriction.ValueType
    """Restriction controls input restriction"""
    role: global___Role.ValueType
    """Role describes the purpose of the node"""
    value: builtins.str
    """Value for this node: for example the value attribute of an <input> element."""
    @property
    def html_attributes(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
        """HtmlAttribute is a map containing all HTML attributes and their values."""

    @property
    def location(self) -> global___Rect:
        """Location is the rendered location of the bounding of the node in global
        screen coordinates.
        """

    @property
    def state(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.bool]:
        """State describes the characteristics of the node
        As defined in
        https://developer.chrome.com/docs/extensions/reference/automation/#type-StateType
        """

    def __init__(
        self,
        *,
        checked: global___Checked.ValueType = ...,
        class_name: builtins.str = ...,
        html_attributes: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        location: global___Rect | None = ...,
        name: builtins.str = ...,
        restriction: global___Restriction.ValueType = ...,
        role: global___Role.ValueType = ...,
        state: collections.abc.Mapping[builtins.str, builtins.bool] | None = ...,
        value: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["location", b"location"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["checked", b"checked", "class_name", b"class_name", "html_attributes", b"html_attributes", "location", b"location", "name", b"name", "restriction", b"restriction", "role", b"role", "state", b"state", "value", b"value"]) -> None: ...

global___NodeInfo = NodeInfo

@typing.final
class Finder(google.protobuf.message.Message):
    """Finder is a wrapper around chrome.automation.FindParams to Golang with a
    nicer API. As defined in
    https://chromium.googlesource.com/chromium/src/+/refs/heads/main/extensions/common/api/automation.idl
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NODE_WITHS_FIELD_NUMBER: builtins.int
    @property
    def node_withs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NodeWith]:
        """NodeWiths contain the conditions of the finder"""

    def __init__(
        self,
        *,
        node_withs: collections.abc.Iterable[global___NodeWith] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["node_withs", b"node_withs"]) -> None: ...

global___Finder = Finder

@typing.final
class NodeWith(google.protobuf.message.Message):
    """NodeInfo specifies a condition for finding nodes"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing.final
    class StateValue(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        STATE_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        state: global___State.ValueType
        """State describes the characteristics of the node
        See
        https://developer.chrome.com/docs/extensions/reference/automation/#type-StateType
        """
        value: builtins.bool
        def __init__(
            self,
            *,
            state: global___State.ValueType = ...,
            value: builtins.bool = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing.Literal["state", b"state", "value", b"value"]) -> None: ...

    HAS_CLASS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ROLE_FIELD_NUMBER: builtins.int
    NTH_FIELD_NUMBER: builtins.int
    AUTOFILL_AVAILABLE_FIELD_NUMBER: builtins.int
    COLLAPSED_FIELD_NUMBER: builtins.int
    IS_DEFAULT_FIELD_NUMBER: builtins.int
    EDITABLE_FIELD_NUMBER: builtins.int
    EXPANDED_FIELD_NUMBER: builtins.int
    FOCUSABLE_FIELD_NUMBER: builtins.int
    FOCUSED_FIELD_NUMBER: builtins.int
    HORIZONTAL_FIELD_NUMBER: builtins.int
    HOVERED_FIELD_NUMBER: builtins.int
    IGNORED_FIELD_NUMBER: builtins.int
    INVISIBLE_FIELD_NUMBER: builtins.int
    LINKED_FIELD_NUMBER: builtins.int
    MULTILINE_FIELD_NUMBER: builtins.int
    MULTISELECTABLE_FIELD_NUMBER: builtins.int
    OFFSCREEN_FIELD_NUMBER: builtins.int
    IS_PROTECTED_FIELD_NUMBER: builtins.int
    REQUIRED_FIELD_NUMBER: builtins.int
    RICHLY_EDITABLE_FIELD_NUMBER: builtins.int
    VERTICAL_FIELD_NUMBER: builtins.int
    VISITED_FIELD_NUMBER: builtins.int
    VISIBLE_FIELD_NUMBER: builtins.int
    ONSCREEN_FIELD_NUMBER: builtins.int
    FIRST_FIELD_NUMBER: builtins.int
    ROOT_FIELD_NUMBER: builtins.int
    NAME_REGEX_FIELD_NUMBER: builtins.int
    NAME_STARTING_WITH_FIELD_NUMBER: builtins.int
    NAME_CONTAINING_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    ANCESTOR_FIELD_NUMBER: builtins.int
    has_class: builtins.str
    """creates a condition with ClassName containing the specified value."""
    name: builtins.str
    """creates a condition with the specified name."""
    role: global___Role.ValueType
    """creates a condition with the specified role."""
    nth: builtins.int
    """creates a condition that will find the n-th node in the matched nodes of
    the Finder, instead of requiring uniqueness.
    """
    autofill_available: builtins.bool
    """creates a condition with AutofillAvailable set to true."""
    collapsed: builtins.bool
    """creates a condition with Collapsed set to true."""
    is_default: builtins.bool
    """creates a condition with Default set to true.
    Note that the underlying field is "default". It is deemed to be unsafe
    by proto static analysis for potential keyword conflict with programming
    languages, so the field is renamed "is_default".
    """
    editable: builtins.bool
    """creates a condition with Editable set to true."""
    expanded: builtins.bool
    """creates a condition with Expanded set to true."""
    focusable: builtins.bool
    """creates a condition with Focusable set to true."""
    focused: builtins.bool
    """creates a condition with Focused set to true."""
    horizontal: builtins.bool
    """creates a condition with Horizontal set to true."""
    hovered: builtins.bool
    """creates a condition with Hovered set to true."""
    ignored: builtins.bool
    """creates a condition with Ignored set to true."""
    invisible: builtins.bool
    """creates a condition with Invisible set to true."""
    linked: builtins.bool
    """creates a condition with Linked set to true."""
    multiline: builtins.bool
    """creates a condition with Multiline set to true."""
    multiselectable: builtins.bool
    """creates a condition with Multiselectable set to true."""
    offscreen: builtins.bool
    """creates a condition with Offscreen set to true."""
    is_protected: builtins.bool
    """creates a condition with Protected set to true.
    Note that the underlying field is "protected". It is deemed to be unsafe
    by proto static analysis for potential keyword conflict with programming
    languages, so the field is renamed "is_protected".
    """
    required: builtins.bool
    """creates a condition with Required set to true."""
    richly_editable: builtins.bool
    """creates a condition with RichlyEditable set to true."""
    vertical: builtins.bool
    """creates a condition with Vertical set to true."""
    visited: builtins.bool
    """creates a condition with Visited set to true."""
    visible: builtins.bool
    """creates a condition with Invisible set to false."""
    onscreen: builtins.bool
    """creates a condition with Offscreen set to false."""
    first: builtins.bool
    """creates a condition that will find the first node instead of requiring
    uniqueness.
    """
    root: builtins.bool
    """creates a condition that will find the root node."""
    name_regex: builtins.str
    """creates a condition with a name containing the specified regexp."""
    name_starting_with: builtins.str
    """creates a condition with a name starting with the specified string."""
    name_containing: builtins.str
    """creates a condition with a name containing the specified string."""
    @property
    def state(self) -> global___NodeWith.StateValue:
        """creates a condition with the specified state."""

    @property
    def ancestor(self) -> global___Finder:
        """creates a condition with the specified Finder as the ancestor of the node"""

    def __init__(
        self,
        *,
        has_class: builtins.str = ...,
        name: builtins.str = ...,
        role: global___Role.ValueType = ...,
        nth: builtins.int = ...,
        autofill_available: builtins.bool = ...,
        collapsed: builtins.bool = ...,
        is_default: builtins.bool = ...,
        editable: builtins.bool = ...,
        expanded: builtins.bool = ...,
        focusable: builtins.bool = ...,
        focused: builtins.bool = ...,
        horizontal: builtins.bool = ...,
        hovered: builtins.bool = ...,
        ignored: builtins.bool = ...,
        invisible: builtins.bool = ...,
        linked: builtins.bool = ...,
        multiline: builtins.bool = ...,
        multiselectable: builtins.bool = ...,
        offscreen: builtins.bool = ...,
        is_protected: builtins.bool = ...,
        required: builtins.bool = ...,
        richly_editable: builtins.bool = ...,
        vertical: builtins.bool = ...,
        visited: builtins.bool = ...,
        visible: builtins.bool = ...,
        onscreen: builtins.bool = ...,
        first: builtins.bool = ...,
        root: builtins.bool = ...,
        name_regex: builtins.str = ...,
        name_starting_with: builtins.str = ...,
        name_containing: builtins.str = ...,
        state: global___NodeWith.StateValue | None = ...,
        ancestor: global___Finder | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["ancestor", b"ancestor", "autofill_available", b"autofill_available", "collapsed", b"collapsed", "editable", b"editable", "expanded", b"expanded", "first", b"first", "focusable", b"focusable", "focused", b"focused", "has_class", b"has_class", "horizontal", b"horizontal", "hovered", b"hovered", "ignored", b"ignored", "invisible", b"invisible", "is_default", b"is_default", "is_protected", b"is_protected", "linked", b"linked", "multiline", b"multiline", "multiselectable", b"multiselectable", "name", b"name", "name_containing", b"name_containing", "name_regex", b"name_regex", "name_starting_with", b"name_starting_with", "nth", b"nth", "offscreen", b"offscreen", "onscreen", b"onscreen", "required", b"required", "richly_editable", b"richly_editable", "role", b"role", "root", b"root", "state", b"state", "value", b"value", "vertical", b"vertical", "visible", b"visible", "visited", b"visited"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["ancestor", b"ancestor", "autofill_available", b"autofill_available", "collapsed", b"collapsed", "editable", b"editable", "expanded", b"expanded", "first", b"first", "focusable", b"focusable", "focused", b"focused", "has_class", b"has_class", "horizontal", b"horizontal", "hovered", b"hovered", "ignored", b"ignored", "invisible", b"invisible", "is_default", b"is_default", "is_protected", b"is_protected", "linked", b"linked", "multiline", b"multiline", "multiselectable", b"multiselectable", "name", b"name", "name_containing", b"name_containing", "name_regex", b"name_regex", "name_starting_with", b"name_starting_with", "nth", b"nth", "offscreen", b"offscreen", "onscreen", b"onscreen", "required", b"required", "richly_editable", b"richly_editable", "role", b"role", "root", b"root", "state", b"state", "value", b"value", "vertical", b"vertical", "visible", b"visible", "visited", b"visited"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["has_class", "name", "role", "nth", "autofill_available", "collapsed", "is_default", "editable", "expanded", "focusable", "focused", "horizontal", "hovered", "ignored", "invisible", "linked", "multiline", "multiselectable", "offscreen", "is_protected", "required", "richly_editable", "vertical", "visited", "visible", "onscreen", "first", "root", "name_regex", "name_starting_with", "name_containing", "state", "ancestor"] | None: ...

global___NodeWith = NodeWith

@typing.final
class Rect(google.protobuf.message.Message):
    """Rect defines a bounding box
    See
    https://developer.chrome.com/docs/extensions/reference/automation/#type-Rect
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    LEFT_FIELD_NUMBER: builtins.int
    TOP_FIELD_NUMBER: builtins.int
    WIDTH_FIELD_NUMBER: builtins.int
    HEIGHT_FIELD_NUMBER: builtins.int
    left: builtins.int
    top: builtins.int
    width: builtins.int
    height: builtins.int
    def __init__(
        self,
        *,
        left: builtins.int = ...,
        top: builtins.int = ...,
        width: builtins.int = ...,
        height: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["height", b"height", "left", b"left", "top", b"top", "width", b"width"]) -> None: ...

global___Rect = Rect

@typing.final
class Point(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    X_FIELD_NUMBER: builtins.int
    Y_FIELD_NUMBER: builtins.int
    x: builtins.int
    y: builtins.int
    def __init__(
        self,
        *,
        x: builtins.int = ...,
        y: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["x", b"x", "y", b"y"]) -> None: ...

global___Point = Point
