from __future__ import annotations

from typing import TypedDict


class AstNodeAttrs(TypedDict, total=False):
    label_c: str
    label_l: str
    label_text: str
    label_type: str
    label_field_accessors: int
    label_field_alias: int
    label_field_alternative: int
    label_field_alternatives: int
    label_field_argument: int
    label_field_arguments: int
    label_field_array: int
    label_field_attribute: int
    label_field_attributes: int
    label_field_base: int
    label_field_begin: int
    label_field_block: int
    label_field_body: int
    label_field_bound: int
    label_field_bound_identifier: int
    label_field_capacity: int
    label_field_captures: int
    label_field_cause: int
    label_field_channel: int
    label_field_class: int
    label_field_class_parameters: int
    label_field_clauses: int
    label_field_close_tag: int
    label_field_code: int
    label_field_collection: int
    label_field_communication: int
    label_field_computed_value: int
    label_field_condition: int
    label_field_conditional_expressions: int
    label_field_consequence: int
    label_field_constrained_type: int
    label_field_constraint: int
    label_field_constructed_type: int
    label_field_constructor: int
    label_field_content: int
    label_field_data_contents: int
    label_field_declaration: int
    label_field_declaration_kind: int
    label_field_declarator: int
    label_field_decorator: int
    label_field_default_value: int
    label_field_definition: int
    label_field_derive: int
    label_field_dimensions: int
    label_field_element: int
    label_field_else: int
    label_field_end: int
    label_field_end_tag: int
    label_field_enumerators: int
    label_field_error: int
    label_field_exceptions: int
    label_field_expr: int
    label_field_expression: int
    label_field_extend: int
    label_field_external_name: int
    label_field_extra: int
    label_field_field: int
    label_field_final: int
    label_field_finalizer: int
    label_field_first: int
    label_field_flags: int
    label_field_format_specifier: int
    label_field_function: int
    label_field_guard: int
    label_field_handler: int
    label_field_identifier: int
    label_field_if_false: int
    label_field_if_nil: int
    label_field_if_true: int
    label_field_increment: int
    label_field_index: int
    label_field_index_type: int
    label_field_inherits_from: int
    label_field_init: int
    label_field_initialize: int
    label_field_initializer: int
    label_field_interfaces: int
    label_field_interpolation: int
    label_field_interpolator: int
    label_field_item: int
    label_field_key: int
    label_field_kind: int
    label_field_label: int
    label_field_lambda_start: int
    label_field_left: int
    label_field_length: int
    label_field_lhs: int
    label_field_locals: int
    label_field_member: int
    label_field_method: int
    label_field_modifiers: int
    label_field_module: int
    label_field_module_name: int
    label_field_modules: int
    label_field_must_equal: int
    label_field_must_inherit: int
    label_field_mutability: int
    label_field_name: int
    label_field_object: int
    label_field_op: int
    label_field_open_tag: int
    label_field_operand: int
    label_field_operation: int
    label_field_operator: int
    label_field_operators: int
    label_field_optional_chain: int
    label_field_package: int
    label_field_parameter: int
    label_field_parameter_types: int
    label_field_parameters: int
    label_field_params: int
    label_field_path: int
    label_field_pattern: int
    label_field_permits: int
    label_field_prefix: int
    label_field_property: int
    label_field_provided: int
    label_field_provider: int
    label_field_qualifier: int
    label_field_rank: int
    label_field_raw_value: int
    label_field_readonly: int
    label_field_receiver: int
    label_field_reference_modifier: int
    label_field_reference_specifier: int
    label_field_resources: int
    label_field_result: int
    label_field_return_expression: int
    label_field_return_type: int
    label_field_returns: int
    label_field_rhs: int
    label_field_right: int
    label_field_scope: int
    label_field_second: int
    label_field_selector: int
    label_field_sign: int
    label_field_source: int
    label_field_start: int
    label_field_static_modifier: int
    label_field_subject: int
    label_field_subscript: int
    label_field_suffix: int
    label_field_superclass: int
    label_field_superclasses: int
    label_field_suppressed: int
    label_field_tag: int
    label_field_target: int
    label_field_template_argument: int
    label_field_template_processor: int
    label_field_text: int
    label_field_type: int
    label_field_type_arguments: int
    label_field_type_conversion: int
    label_field_type_parameters: int
    label_field_update: int
    label_field_val: int
    label_field_value: int
    label_field_variable: int
    label_field_visibility: int
    label_field_wrapped: int
