import { AstPath, ParserOptions } from "prettier"; //#region src/node-types.d.ts interface Point { index: number; row: number; column: number; } interface SyntaxNodeBase { value: string; start: Point; end: Point; comments?: CommentNode[]; } interface NamedNodeBase extends SyntaxNodeBase { isNamed: true; fieldName: string | null; children: SyntaxNode[]; namedChildren: NamedNode[]; } interface UnnamedNode extends SyntaxNodeBase { type: T; isNamed: false; fieldName: string | null; } interface CommentNode extends SyntaxNodeBase { type: CommentType; leading: boolean; trailing: boolean; printed: boolean; enclosingNode?: SyntaxNode; precedingNode?: SyntaxNode; followingNode?: SyntaxNode; } type PickNamedType = Node extends { type: T; isNamed: true; } ? Node : never; type NamedNode = PickNamedType; declare const enum SyntaxType { ERROR = "ERROR", AnnotatedType = "annotated_type", Annotation = "annotation", AnnotationArgumentList = "annotation_argument_list", AnnotationTypeBody = "annotation_type_body", AnnotationTypeDeclaration = "annotation_type_declaration", AnnotationTypeElementDeclaration = "annotation_type_element_declaration", ArgumentList = "argument_list", ArrayAccess = "array_access", ArrayCreationExpression = "array_creation_expression", ArrayInitializer = "array_initializer", ArrayType = "array_type", AssertStatement = "assert_statement", AssignmentExpression = "assignment_expression", Asterisk = "asterisk", BinaryExpression = "binary_expression", Block = "block", BreakStatement = "break_statement", CastExpression = "cast_expression", CatchClause = "catch_clause", CatchFormalParameter = "catch_formal_parameter", CatchType = "catch_type", ClassBody = "class_body", ClassDeclaration = "class_declaration", ClassLiteral = "class_literal", CompactConstructorDeclaration = "compact_constructor_declaration", ConstantDeclaration = "constant_declaration", ConstructorBody = "constructor_body", ConstructorDeclaration = "constructor_declaration", ContinueStatement = "continue_statement", Dimensions = "dimensions", DimensionsExpr = "dimensions_expr", DoStatement = "do_statement", ElementValueArrayInitializer = "element_value_array_initializer", ElementValuePair = "element_value_pair", EnhancedForStatement = "enhanced_for_statement", EnumBody = "enum_body", EnumBodyDeclarations = "enum_body_declarations", EnumConstant = "enum_constant", EnumDeclaration = "enum_declaration", ExplicitConstructorInvocation = "explicit_constructor_invocation", ExportsModuleDirective = "exports_module_directive", ExpressionStatement = "expression_statement", ExtendsInterfaces = "extends_interfaces", FieldAccess = "field_access", FieldDeclaration = "field_declaration", FinallyClause = "finally_clause", FloatingPointType = "floating_point_type", ForStatement = "for_statement", FormalParameter = "formal_parameter", FormalParameters = "formal_parameters", GenericType = "generic_type", Guard = "guard", IfStatement = "if_statement", ImportDeclaration = "import_declaration", InferredParameters = "inferred_parameters", InstanceofExpression = "instanceof_expression", IntegralType = "integral_type", InterfaceBody = "interface_body", InterfaceDeclaration = "interface_declaration", LabeledStatement = "labeled_statement", LambdaExpression = "lambda_expression", LocalVariableDeclaration = "local_variable_declaration", MarkerAnnotation = "marker_annotation", MethodDeclaration = "method_declaration", MethodInvocation = "method_invocation", MethodReference = "method_reference", Modifier = "modifier", Modifiers = "modifiers", ModuleBody = "module_body", ModuleDeclaration = "module_declaration", MultilineStringFragment = "multiline_string_fragment", ObjectCreationExpression = "object_creation_expression", OpensModuleDirective = "opens_module_directive", PackageDeclaration = "package_declaration", ParenthesizedExpression = "parenthesized_expression", Pattern = "pattern", Permits = "permits", Program = "program", ProvidesModuleDirective = "provides_module_directive", ReceiverParameter = "receiver_parameter", RecordDeclaration = "record_declaration", RecordPattern = "record_pattern", RecordPatternBody = "record_pattern_body", RecordPatternComponent = "record_pattern_component", RequiresModifier = "requires_modifier", RequiresModuleDirective = "requires_module_directive", Resource = "resource", ResourceSpecification = "resource_specification", ReturnStatement = "return_statement", ScopedIdentifier = "scoped_identifier", ScopedTypeIdentifier = "scoped_type_identifier", SpreadParameter = "spread_parameter", StaticInitializer = "static_initializer", StringInterpolation = "string_interpolation", StringLiteral = "string_literal", SuperInterfaces = "super_interfaces", Superclass = "superclass", SwitchBlock = "switch_block", SwitchBlockStatementGroup = "switch_block_statement_group", SwitchExpression = "switch_expression", SwitchLabel = "switch_label", SwitchRule = "switch_rule", SynchronizedStatement = "synchronized_statement", TemplateExpression = "template_expression", TernaryExpression = "ternary_expression", ThrowStatement = "throw_statement", Throws = "throws", TryStatement = "try_statement", TryWithResourcesStatement = "try_with_resources_statement", TypeArguments = "type_arguments", TypeBound = "type_bound", TypeList = "type_list", TypeParameter = "type_parameter", TypeParameters = "type_parameters", TypePattern = "type_pattern", UnaryExpression = "unary_expression", UpdateExpression = "update_expression", UsesModuleDirective = "uses_module_directive", VariableDeclarator = "variable_declarator", Visibility = "visibility", WhileStatement = "while_statement", Wildcard = "wildcard", YieldStatement = "yield_statement", BinaryIntegerLiteral = "binary_integer_literal", BlockComment = "block_comment", BooleanType = "boolean_type", CharacterLiteral = "character_literal", DecimalFloatingPointLiteral = "decimal_floating_point_literal", DecimalIntegerLiteral = "decimal_integer_literal", EscapeSequence = "escape_sequence", False = "false", HexFloatingPointLiteral = "hex_floating_point_literal", HexIntegerLiteral = "hex_integer_literal", Identifier = "identifier", LineComment = "line_comment", NullLiteral = "null_literal", OctalIntegerLiteral = "octal_integer_literal", StringFragment = "string_fragment", Super = "super", This = "this", True = "true", TypeIdentifier = "type_identifier", UnderscorePattern = "underscore_pattern", VoidType = "void_type" } type CommentType = SyntaxType.BlockComment | SyntaxType.LineComment; type NamedType = Exclude; type UnnamedType = "!" | "!=" | '"' | '"""' | "%" | "%=" | "&" | "&&" | "&=" | "(" | ")" | "*" | "*=" | "+" | "++" | "+=" | "," | "-" | "--" | "-=" | "->" | "." | "..." | "/" | "/=" | ":" | "::" | ";" | "<" | "<<" | "<<=" | "<=" | "=" | "==" | ">" | ">=" | ">>" | ">>=" | ">>>" | ">>>=" | "?" | "@" | "@interface" | "[" | "\\{" | "]" | "^" | "^=" | "abstract" | "assert" | "break" | "byte" | "case" | "catch" | "char" | "class" | "continue" | "default" | "do" | "double" | "else" | "enum" | "exports" | "extends" | "final" | "finally" | "float" | "for" | "if" | "implements" | "import" | "instanceof" | "int" | "interface" | "long" | "module" | "native" | "new" | "non-sealed" | "open" | "opens" | "package" | "permits" | "private" | "protected" | "provides" | "public" | "record" | "requires" | "return" | "sealed" | "short" | "static" | "strictfp" | "switch" | "synchronized" | "throw" | "throws" | "to" | "transient" | "transitive" | "try" | "uses" | "volatile" | "when" | "while" | "with" | "yield" | "{" | "|" | "|=" | "||" | "}" | "~"; type SyntaxNode = ErrorNode | LiteralNode | SimpleTypeNode | TypeNode | UnannotatedTypeNode | DeclarationNode | ExpressionNode | ModuleDirectiveNode | PrimaryExpressionNode | StatementNode | AnnotatedTypeNode | AnnotationNode | AnnotationArgumentListNode | AnnotationTypeBodyNode | AnnotationTypeDeclarationNode | AnnotationTypeElementDeclarationNode | ArgumentListNode | ArrayAccessNode | ArrayCreationExpressionNode | ArrayInitializerNode | ArrayTypeNode | AssertStatementNode | AssignmentExpressionNode | AsteriskNode | BinaryExpressionNode | BlockNode | BreakStatementNode | CastExpressionNode | CatchClauseNode | CatchFormalParameterNode | CatchTypeNode | ClassBodyNode | ClassDeclarationNode | ClassLiteralNode | CompactConstructorDeclarationNode | ConstantDeclarationNode | ConstructorBodyNode | ConstructorDeclarationNode | ContinueStatementNode | DimensionsNode | DimensionsExprNode | DoStatementNode | ElementValueArrayInitializerNode | ElementValuePairNode | EnhancedForStatementNode | EnumBodyNode | EnumBodyDeclarationsNode | EnumConstantNode | EnumDeclarationNode | ExplicitConstructorInvocationNode | ExportsModuleDirectiveNode | ExpressionStatementNode | ExtendsInterfacesNode | FieldAccessNode | FieldDeclarationNode | FinallyClauseNode | FloatingPointTypeNode | ForStatementNode | FormalParameterNode | FormalParametersNode | GenericTypeNode | GuardNode | IfStatementNode | ImportDeclarationNode | InferredParametersNode | InstanceofExpressionNode | IntegralTypeNode | InterfaceBodyNode | InterfaceDeclarationNode | LabeledStatementNode | LambdaExpressionNode | LocalVariableDeclarationNode | MarkerAnnotationNode | MethodDeclarationNode | MethodInvocationNode | MethodReferenceNode | ModifierNode | ModifiersNode | ModuleBodyNode | ModuleDeclarationNode | MultilineStringFragmentNode | ObjectCreationExpressionNode | OpensModuleDirectiveNode | PackageDeclarationNode | ParenthesizedExpressionNode | PatternNode | PermitsNode | ProgramNode | ProvidesModuleDirectiveNode | ReceiverParameterNode | RecordDeclarationNode | RecordPatternNode | RecordPatternBodyNode | RecordPatternComponentNode | RequiresModifierNode | RequiresModuleDirectiveNode | ResourceNode | ResourceSpecificationNode | ReturnStatementNode | ScopedIdentifierNode | ScopedTypeIdentifierNode | SpreadParameterNode | StaticInitializerNode | StringInterpolationNode | StringLiteralNode | SuperInterfacesNode | SuperclassNode | SwitchBlockNode | SwitchBlockStatementGroupNode | SwitchExpressionNode | SwitchLabelNode | SwitchRuleNode | SynchronizedStatementNode | TemplateExpressionNode | TernaryExpressionNode | ThrowStatementNode | ThrowsNode | TryStatementNode | TryWithResourcesStatementNode | TypeArgumentsNode | TypeBoundNode | TypeListNode | TypeParameterNode | TypeParametersNode | TypePatternNode | UnaryExpressionNode | UpdateExpressionNode | UsesModuleDirectiveNode | VariableDeclaratorNode | VisibilityNode | WhileStatementNode | WildcardNode | YieldStatementNode | UnnamedNode<"!"> | UnnamedNode<"!="> | UnnamedNode<'"'> | UnnamedNode<'"""'> | UnnamedNode<"%"> | UnnamedNode<"%="> | UnnamedNode<"&"> | UnnamedNode<"&&"> | UnnamedNode<"&="> | UnnamedNode<"("> | UnnamedNode<")"> | UnnamedNode<"*"> | UnnamedNode<"*="> | UnnamedNode<"+"> | UnnamedNode<"++"> | UnnamedNode<"+="> | UnnamedNode<","> | UnnamedNode<"-"> | UnnamedNode<"--"> | UnnamedNode<"-="> | UnnamedNode<"->"> | UnnamedNode<"."> | UnnamedNode<"..."> | UnnamedNode<"/"> | UnnamedNode<"/="> | UnnamedNode<":"> | UnnamedNode<"::"> | UnnamedNode<";"> | UnnamedNode<"<"> | UnnamedNode<"<<"> | UnnamedNode<"<<="> | UnnamedNode<"<="> | UnnamedNode<"="> | UnnamedNode<"=="> | UnnamedNode<">"> | UnnamedNode<">="> | UnnamedNode<">>"> | UnnamedNode<">>="> | UnnamedNode<">>>"> | UnnamedNode<">>>="> | UnnamedNode<"?"> | UnnamedNode<"@"> | UnnamedNode<"@interface"> | UnnamedNode<"["> | UnnamedNode<"\\{"> | UnnamedNode<"]"> | UnnamedNode<"^"> | UnnamedNode<"^="> | UnnamedNode<"abstract"> | UnnamedNode<"assert"> | BinaryIntegerLiteralNode | BooleanTypeNode | UnnamedNode<"break"> | UnnamedNode<"byte"> | UnnamedNode<"case"> | UnnamedNode<"catch"> | UnnamedNode<"char"> | CharacterLiteralNode | UnnamedNode<"class"> | UnnamedNode<"continue"> | DecimalFloatingPointLiteralNode | DecimalIntegerLiteralNode | UnnamedNode<"default"> | UnnamedNode<"do"> | UnnamedNode<"double"> | UnnamedNode<"else"> | UnnamedNode<"enum"> | EscapeSequenceNode | UnnamedNode<"exports"> | UnnamedNode<"extends"> | FalseNode | UnnamedNode<"final"> | UnnamedNode<"finally"> | UnnamedNode<"float"> | UnnamedNode<"for"> | HexFloatingPointLiteralNode | HexIntegerLiteralNode | IdentifierNode | UnnamedNode<"if"> | UnnamedNode<"implements"> | UnnamedNode<"import"> | UnnamedNode<"instanceof"> | UnnamedNode<"int"> | UnnamedNode<"interface"> | UnnamedNode<"long"> | UnnamedNode<"module"> | UnnamedNode<"native"> | UnnamedNode<"new"> | UnnamedNode<"non-sealed"> | NullLiteralNode | OctalIntegerLiteralNode | UnnamedNode<"open"> | UnnamedNode<"opens"> | UnnamedNode<"package"> | UnnamedNode<"permits"> | UnnamedNode<"private"> | UnnamedNode<"protected"> | UnnamedNode<"provides"> | UnnamedNode<"public"> | UnnamedNode<"record"> | UnnamedNode<"requires"> | UnnamedNode<"return"> | UnnamedNode<"sealed"> | UnnamedNode<"short"> | UnnamedNode<"static"> | UnnamedNode<"strictfp"> | StringFragmentNode | SuperNode | UnnamedNode<"switch"> | UnnamedNode<"synchronized"> | ThisNode | UnnamedNode<"throw"> | UnnamedNode<"throws"> | UnnamedNode<"to"> | UnnamedNode<"transient"> | UnnamedNode<"transitive"> | TrueNode | UnnamedNode<"try"> | TypeIdentifierNode | UnderscorePatternNode | UnnamedNode<"uses"> | VoidTypeNode | UnnamedNode<"volatile"> | UnnamedNode<"when"> | UnnamedNode<"while"> | UnnamedNode<"with"> | UnnamedNode<"yield"> | UnnamedNode<"{"> | UnnamedNode<"|"> | UnnamedNode<"|="> | UnnamedNode<"||"> | UnnamedNode<"}"> | UnnamedNode<"~">; interface ErrorNode extends NamedNodeBase { type: SyntaxType.ERROR; } type LiteralNode = BinaryIntegerLiteralNode | CharacterLiteralNode | DecimalFloatingPointLiteralNode | DecimalIntegerLiteralNode | FalseNode | HexFloatingPointLiteralNode | HexIntegerLiteralNode | NullLiteralNode | OctalIntegerLiteralNode | StringLiteralNode | TrueNode; type SimpleTypeNode = BooleanTypeNode | FloatingPointTypeNode | GenericTypeNode | IntegralTypeNode | ScopedTypeIdentifierNode | TypeIdentifierNode | VoidTypeNode; type TypeNode = UnannotatedTypeNode | AnnotatedTypeNode; type UnannotatedTypeNode = SimpleTypeNode | ArrayTypeNode; type DeclarationNode = AnnotationTypeDeclarationNode | ClassDeclarationNode | EnumDeclarationNode | ImportDeclarationNode | InterfaceDeclarationNode | ModuleDeclarationNode | PackageDeclarationNode | RecordDeclarationNode; type ExpressionNode = AssignmentExpressionNode | BinaryExpressionNode | CastExpressionNode | InstanceofExpressionNode | LambdaExpressionNode | PrimaryExpressionNode | SwitchExpressionNode | TernaryExpressionNode | UnaryExpressionNode | UpdateExpressionNode; type ModuleDirectiveNode = ExportsModuleDirectiveNode | OpensModuleDirectiveNode | ProvidesModuleDirectiveNode | RequiresModuleDirectiveNode | UsesModuleDirectiveNode; type PrimaryExpressionNode = LiteralNode | ArrayAccessNode | ArrayCreationExpressionNode | ClassLiteralNode | FieldAccessNode | IdentifierNode | MethodInvocationNode | MethodReferenceNode | ObjectCreationExpressionNode | ParenthesizedExpressionNode | TemplateExpressionNode | ThisNode; type StatementNode = UnnamedNode<";"> | AssertStatementNode | BlockNode | BreakStatementNode | ContinueStatementNode | DeclarationNode | DoStatementNode | EnhancedForStatementNode | ExpressionStatementNode | ForStatementNode | IfStatementNode | LabeledStatementNode | LocalVariableDeclarationNode | ReturnStatementNode | SwitchExpressionNode | SynchronizedStatementNode | ThrowStatementNode | TryStatementNode | TryWithResourcesStatementNode | WhileStatementNode | YieldStatementNode; interface AnnotatedTypeNode extends NamedNodeBase { type: SyntaxType.AnnotatedType; } interface AnnotationNode extends NamedNodeBase { type: SyntaxType.Annotation; argumentsNode: AnnotationArgumentListNode; nameNode: IdentifierNode | ScopedIdentifierNode; } interface AnnotationArgumentListNode extends NamedNodeBase { type: SyntaxType.AnnotationArgumentList; } interface AnnotationTypeBodyNode extends NamedNodeBase { type: SyntaxType.AnnotationTypeBody; } interface AnnotationTypeDeclarationNode extends NamedNodeBase { type: SyntaxType.AnnotationTypeDeclaration; bodyNode: AnnotationTypeBodyNode; nameNode: IdentifierNode; } interface AnnotationTypeElementDeclarationNode extends NamedNodeBase { type: SyntaxType.AnnotationTypeElementDeclaration; dimensionsNode?: DimensionsNode; nameNode: IdentifierNode; typeNode: UnannotatedTypeNode; valueNode?: AnnotationNode | ElementValueArrayInitializerNode | ExpressionNode | MarkerAnnotationNode; } interface ArgumentListNode extends NamedNodeBase { type: SyntaxType.ArgumentList; } interface ArrayAccessNode extends NamedNodeBase { type: SyntaxType.ArrayAccess; arrayNode: ExpressionNode; indexNode: ExpressionNode; } interface ArrayCreationExpressionNode extends NamedNodeBase { type: SyntaxType.ArrayCreationExpression; dimensionsNodes: (DimensionsNode | DimensionsExprNode)[]; typeNode: SimpleTypeNode; valueNode?: ArrayInitializerNode; } interface ArrayInitializerNode extends NamedNodeBase { type: SyntaxType.ArrayInitializer; } interface ArrayTypeNode extends NamedNodeBase { type: SyntaxType.ArrayType; dimensionsNode: DimensionsNode; elementNode: UnannotatedTypeNode; } interface AssertStatementNode extends NamedNodeBase { type: SyntaxType.AssertStatement; } interface AssignmentExpressionNode extends NamedNodeBase { type: SyntaxType.AssignmentExpression; leftNode: ArrayAccessNode | FieldAccessNode | IdentifierNode; operatorNode: UnnamedNode<"%="> | UnnamedNode<"&="> | UnnamedNode<"*="> | UnnamedNode<"+="> | UnnamedNode<"-="> | UnnamedNode<"/="> | UnnamedNode<"<<="> | UnnamedNode<"="> | UnnamedNode<">>="> | UnnamedNode<">>>="> | UnnamedNode<"^="> | UnnamedNode<"|=">; rightNode: ExpressionNode; } interface AsteriskNode extends NamedNodeBase { type: SyntaxType.Asterisk; } interface BinaryExpressionNode extends NamedNodeBase { type: SyntaxType.BinaryExpression; leftNode: ExpressionNode; operatorNode: UnnamedNode<"!="> | UnnamedNode<"%"> | UnnamedNode<"&"> | UnnamedNode<"&&"> | UnnamedNode<"*"> | UnnamedNode<"+"> | UnnamedNode<"-"> | UnnamedNode<"/"> | UnnamedNode<"<"> | UnnamedNode<"<<"> | UnnamedNode<"<="> | UnnamedNode<"=="> | UnnamedNode<">"> | UnnamedNode<">="> | UnnamedNode<">>"> | UnnamedNode<">>>"> | UnnamedNode<"^"> | UnnamedNode<"|"> | UnnamedNode<"||">; rightNode: ExpressionNode; } interface BlockNode extends NamedNodeBase { type: SyntaxType.Block; } interface BreakStatementNode extends NamedNodeBase { type: SyntaxType.BreakStatement; } interface CastExpressionNode extends NamedNodeBase { type: SyntaxType.CastExpression; typeNodes: TypeNode[]; valueNode: ExpressionNode; } interface CatchClauseNode extends NamedNodeBase { type: SyntaxType.CatchClause; bodyNode: BlockNode; } interface CatchFormalParameterNode extends NamedNodeBase { type: SyntaxType.CatchFormalParameter; dimensionsNode?: DimensionsNode; nameNode: IdentifierNode | UnderscorePatternNode; } interface CatchTypeNode extends NamedNodeBase { type: SyntaxType.CatchType; } interface ClassBodyNode extends NamedNodeBase { type: SyntaxType.ClassBody; } interface ClassDeclarationNode extends NamedNodeBase { type: SyntaxType.ClassDeclaration; bodyNode: ClassBodyNode; interfacesNode?: SuperInterfacesNode; nameNode: IdentifierNode; permitsNode?: PermitsNode; superclassNode?: SuperclassNode; type_parametersNode?: TypeParametersNode; } interface ClassLiteralNode extends NamedNodeBase { type: SyntaxType.ClassLiteral; } interface CompactConstructorDeclarationNode extends NamedNodeBase { type: SyntaxType.CompactConstructorDeclaration; bodyNode: BlockNode; nameNode: IdentifierNode; } interface ConstantDeclarationNode extends NamedNodeBase { type: SyntaxType.ConstantDeclaration; declaratorNodes: VariableDeclaratorNode[]; typeNode: UnannotatedTypeNode; } interface ConstructorBodyNode extends NamedNodeBase { type: SyntaxType.ConstructorBody; } interface ConstructorDeclarationNode extends NamedNodeBase { type: SyntaxType.ConstructorDeclaration; bodyNode: ConstructorBodyNode; nameNode: IdentifierNode; parametersNode: FormalParametersNode; type_parametersNode?: TypeParametersNode; } interface ContinueStatementNode extends NamedNodeBase { type: SyntaxType.ContinueStatement; } interface DimensionsNode extends NamedNodeBase { type: SyntaxType.Dimensions; } interface DimensionsExprNode extends NamedNodeBase { type: SyntaxType.DimensionsExpr; } interface DoStatementNode extends NamedNodeBase { type: SyntaxType.DoStatement; bodyNode: StatementNode; conditionNode: ParenthesizedExpressionNode; } interface ElementValueArrayInitializerNode extends NamedNodeBase { type: SyntaxType.ElementValueArrayInitializer; } interface ElementValuePairNode extends NamedNodeBase { type: SyntaxType.ElementValuePair; keyNode: IdentifierNode; valueNode: AnnotationNode | ElementValueArrayInitializerNode | ExpressionNode | MarkerAnnotationNode; } interface EnhancedForStatementNode extends NamedNodeBase { type: SyntaxType.EnhancedForStatement; bodyNode: StatementNode; dimensionsNode?: DimensionsNode; nameNode: IdentifierNode | UnderscorePatternNode; typeNode: UnannotatedTypeNode; valueNode: ExpressionNode; } interface EnumBodyNode extends NamedNodeBase { type: SyntaxType.EnumBody; } interface EnumBodyDeclarationsNode extends NamedNodeBase { type: SyntaxType.EnumBodyDeclarations; } interface EnumConstantNode extends NamedNodeBase { type: SyntaxType.EnumConstant; argumentsNode?: ArgumentListNode; bodyNode?: ClassBodyNode; nameNode: IdentifierNode; } interface EnumDeclarationNode extends NamedNodeBase { type: SyntaxType.EnumDeclaration; bodyNode: EnumBodyNode; interfacesNode?: SuperInterfacesNode; nameNode: IdentifierNode; } interface ExplicitConstructorInvocationNode extends NamedNodeBase { type: SyntaxType.ExplicitConstructorInvocation; argumentsNode: ArgumentListNode; constructorNode: SuperNode | ThisNode; objectNode?: ExpressionNode; type_argumentsNode?: TypeArgumentsNode; } interface ExportsModuleDirectiveNode extends NamedNodeBase { type: SyntaxType.ExportsModuleDirective; modulesNodes: (IdentifierNode | ScopedIdentifierNode)[]; packageNode: IdentifierNode | ScopedIdentifierNode; } interface ExpressionStatementNode extends NamedNodeBase { type: SyntaxType.ExpressionStatement; } interface ExtendsInterfacesNode extends NamedNodeBase { type: SyntaxType.ExtendsInterfaces; } interface FieldAccessNode extends NamedNodeBase { type: SyntaxType.FieldAccess; fieldNode: IdentifierNode | ThisNode; objectNode: ExpressionNode | SuperNode; } interface FieldDeclarationNode extends NamedNodeBase { type: SyntaxType.FieldDeclaration; declaratorNodes: VariableDeclaratorNode[]; typeNode: UnannotatedTypeNode; } interface FinallyClauseNode extends NamedNodeBase { type: SyntaxType.FinallyClause; } interface FloatingPointTypeNode extends NamedNodeBase { type: SyntaxType.FloatingPointType; } interface ForStatementNode extends NamedNodeBase { type: SyntaxType.ForStatement; bodyNode: StatementNode; conditionNode?: ExpressionNode; initNodes: (ExpressionNode | LocalVariableDeclarationNode)[]; updateNodes: ExpressionNode[]; } interface FormalParameterNode extends NamedNodeBase { type: SyntaxType.FormalParameter; dimensionsNode?: DimensionsNode; nameNode: IdentifierNode | UnderscorePatternNode; typeNode: UnannotatedTypeNode; } interface FormalParametersNode extends NamedNodeBase { type: SyntaxType.FormalParameters; } interface GenericTypeNode extends NamedNodeBase { type: SyntaxType.GenericType; } interface GuardNode extends NamedNodeBase { type: SyntaxType.Guard; } interface IfStatementNode extends NamedNodeBase { type: SyntaxType.IfStatement; alternativeNode?: StatementNode; conditionNode: ParenthesizedExpressionNode; consequenceNode: StatementNode; } interface ImportDeclarationNode extends NamedNodeBase { type: SyntaxType.ImportDeclaration; } interface InferredParametersNode extends NamedNodeBase { type: SyntaxType.InferredParameters; } interface InstanceofExpressionNode extends NamedNodeBase { type: SyntaxType.InstanceofExpression; leftNode: ExpressionNode; nameNode?: IdentifierNode; patternNode?: RecordPatternNode; rightNode?: UnannotatedTypeNode; } interface IntegralTypeNode extends NamedNodeBase { type: SyntaxType.IntegralType; } interface InterfaceBodyNode extends NamedNodeBase { type: SyntaxType.InterfaceBody; } interface InterfaceDeclarationNode extends NamedNodeBase { type: SyntaxType.InterfaceDeclaration; bodyNode: InterfaceBodyNode; nameNode: IdentifierNode; permitsNode?: PermitsNode; type_parametersNode?: TypeParametersNode; } interface LabeledStatementNode extends NamedNodeBase { type: SyntaxType.LabeledStatement; } interface LambdaExpressionNode extends NamedNodeBase { type: SyntaxType.LambdaExpression; bodyNode: BlockNode | ExpressionNode; parametersNode: FormalParametersNode | IdentifierNode | InferredParametersNode; } interface LocalVariableDeclarationNode extends NamedNodeBase { type: SyntaxType.LocalVariableDeclaration; declaratorNodes: VariableDeclaratorNode[]; typeNode: UnannotatedTypeNode; } interface MarkerAnnotationNode extends NamedNodeBase { type: SyntaxType.MarkerAnnotation; nameNode: IdentifierNode | ScopedIdentifierNode; } interface MethodDeclarationNode extends NamedNodeBase { type: SyntaxType.MethodDeclaration; bodyNode?: BlockNode; dimensionsNode?: DimensionsNode; nameNode: IdentifierNode; parametersNode: FormalParametersNode; typeNode: UnannotatedTypeNode; type_parametersNode?: TypeParametersNode; } interface MethodInvocationNode extends NamedNodeBase { type: SyntaxType.MethodInvocation; argumentsNode: ArgumentListNode; nameNode: IdentifierNode; objectNode?: ExpressionNode | SuperNode; type_argumentsNode?: TypeArgumentsNode; } interface MethodReferenceNode extends NamedNodeBase { type: SyntaxType.MethodReference; } interface ModifierNode extends NamedNodeBase { type: SyntaxType.Modifier; } interface ModifiersNode extends NamedNodeBase { type: SyntaxType.Modifiers; } interface ModuleBodyNode extends NamedNodeBase { type: SyntaxType.ModuleBody; } interface ModuleDeclarationNode extends NamedNodeBase { type: SyntaxType.ModuleDeclaration; bodyNode: ModuleBodyNode; nameNode: IdentifierNode | ScopedIdentifierNode; } interface MultilineStringFragmentNode extends NamedNodeBase { type: SyntaxType.MultilineStringFragment; } interface ObjectCreationExpressionNode extends NamedNodeBase { type: SyntaxType.ObjectCreationExpression; argumentsNode: ArgumentListNode; typeNode: SimpleTypeNode; type_argumentsNode?: TypeArgumentsNode; } interface OpensModuleDirectiveNode extends NamedNodeBase { type: SyntaxType.OpensModuleDirective; modulesNodes: (IdentifierNode | ScopedIdentifierNode)[]; packageNode: IdentifierNode | ScopedIdentifierNode; } interface PackageDeclarationNode extends NamedNodeBase { type: SyntaxType.PackageDeclaration; } interface ParenthesizedExpressionNode extends NamedNodeBase { type: SyntaxType.ParenthesizedExpression; } interface PatternNode extends NamedNodeBase { type: SyntaxType.Pattern; } interface PermitsNode extends NamedNodeBase { type: SyntaxType.Permits; } interface ProgramNode extends NamedNodeBase { type: SyntaxType.Program; } interface ProvidesModuleDirectiveNode extends NamedNodeBase { type: SyntaxType.ProvidesModuleDirective; providedNode: IdentifierNode | ScopedIdentifierNode; providerNodes: (IdentifierNode | ScopedIdentifierNode)[]; } interface ReceiverParameterNode extends NamedNodeBase { type: SyntaxType.ReceiverParameter; } interface RecordDeclarationNode extends NamedNodeBase { type: SyntaxType.RecordDeclaration; bodyNode: ClassBodyNode; interfacesNode?: SuperInterfacesNode; nameNode: IdentifierNode; parametersNode: FormalParametersNode; type_parametersNode?: TypeParametersNode; } interface RecordPatternNode extends NamedNodeBase { type: SyntaxType.RecordPattern; } interface RecordPatternBodyNode extends NamedNodeBase { type: SyntaxType.RecordPatternBody; } interface RecordPatternComponentNode extends NamedNodeBase { type: SyntaxType.RecordPatternComponent; } interface RequiresModifierNode extends NamedNodeBase { type: SyntaxType.RequiresModifier; } interface RequiresModuleDirectiveNode extends NamedNodeBase { type: SyntaxType.RequiresModuleDirective; modifiersNodes: RequiresModifierNode[]; moduleNode: IdentifierNode | ScopedIdentifierNode; } interface ResourceNode extends NamedNodeBase { type: SyntaxType.Resource; dimensionsNode?: DimensionsNode; nameNode?: IdentifierNode | UnderscorePatternNode; typeNode?: UnannotatedTypeNode; valueNode?: ExpressionNode; } interface ResourceSpecificationNode extends NamedNodeBase { type: SyntaxType.ResourceSpecification; } interface ReturnStatementNode extends NamedNodeBase { type: SyntaxType.ReturnStatement; } interface ScopedIdentifierNode extends NamedNodeBase { type: SyntaxType.ScopedIdentifier; nameNode: IdentifierNode; scopeNode: IdentifierNode | ScopedIdentifierNode; } interface ScopedTypeIdentifierNode extends NamedNodeBase { type: SyntaxType.ScopedTypeIdentifier; } interface SpreadParameterNode extends NamedNodeBase { type: SyntaxType.SpreadParameter; annotationsNodes: (AnnotationNode | MarkerAnnotationNode)[]; modifiersNode?: ModifiersNode; typeNode: UnannotatedTypeNode; } interface StaticInitializerNode extends NamedNodeBase { type: SyntaxType.StaticInitializer; } interface StringInterpolationNode extends NamedNodeBase { type: SyntaxType.StringInterpolation; } interface StringLiteralNode extends NamedNodeBase { type: SyntaxType.StringLiteral; } interface SuperInterfacesNode extends NamedNodeBase { type: SyntaxType.SuperInterfaces; } interface SuperclassNode extends NamedNodeBase { type: SyntaxType.Superclass; } interface SwitchBlockNode extends NamedNodeBase { type: SyntaxType.SwitchBlock; } interface SwitchBlockStatementGroupNode extends NamedNodeBase { type: SyntaxType.SwitchBlockStatementGroup; } interface SwitchExpressionNode extends NamedNodeBase { type: SyntaxType.SwitchExpression; bodyNode: SwitchBlockNode; conditionNode: ParenthesizedExpressionNode; } interface SwitchLabelNode extends NamedNodeBase { type: SyntaxType.SwitchLabel; } interface SwitchRuleNode extends NamedNodeBase { type: SyntaxType.SwitchRule; } interface SynchronizedStatementNode extends NamedNodeBase { type: SyntaxType.SynchronizedStatement; bodyNode: BlockNode; } interface TemplateExpressionNode extends NamedNodeBase { type: SyntaxType.TemplateExpression; template_argumentNode: StringLiteralNode; template_processorNode: ExpressionNode; } interface TernaryExpressionNode extends NamedNodeBase { type: SyntaxType.TernaryExpression; alternativeNode: ExpressionNode; conditionNode: ExpressionNode; consequenceNode: ExpressionNode; } interface ThrowStatementNode extends NamedNodeBase { type: SyntaxType.ThrowStatement; } interface ThrowsNode extends NamedNodeBase { type: SyntaxType.Throws; } interface TryStatementNode extends NamedNodeBase { type: SyntaxType.TryStatement; bodyNode: BlockNode; } interface TryWithResourcesStatementNode extends NamedNodeBase { type: SyntaxType.TryWithResourcesStatement; bodyNode: BlockNode; resourcesNode: ResourceSpecificationNode; } interface TypeArgumentsNode extends NamedNodeBase { type: SyntaxType.TypeArguments; } interface TypeBoundNode extends NamedNodeBase { type: SyntaxType.TypeBound; } interface TypeListNode extends NamedNodeBase { type: SyntaxType.TypeList; } interface TypeParameterNode extends NamedNodeBase { type: SyntaxType.TypeParameter; } interface TypeParametersNode extends NamedNodeBase { type: SyntaxType.TypeParameters; } interface TypePatternNode extends NamedNodeBase { type: SyntaxType.TypePattern; } interface UnaryExpressionNode extends NamedNodeBase { type: SyntaxType.UnaryExpression; operandNode: ExpressionNode; operatorNode: UnnamedNode<"!"> | UnnamedNode<"+"> | UnnamedNode<"-"> | UnnamedNode<"~">; } interface UpdateExpressionNode extends NamedNodeBase { type: SyntaxType.UpdateExpression; } interface UsesModuleDirectiveNode extends NamedNodeBase { type: SyntaxType.UsesModuleDirective; typeNode: IdentifierNode | ScopedIdentifierNode; } interface VariableDeclaratorNode extends NamedNodeBase { type: SyntaxType.VariableDeclarator; dimensionsNode?: DimensionsNode; nameNode: IdentifierNode | UnderscorePatternNode; valueNode?: ArrayInitializerNode | ExpressionNode; } interface VisibilityNode extends NamedNodeBase { type: SyntaxType.Visibility; } interface WhileStatementNode extends NamedNodeBase { type: SyntaxType.WhileStatement; bodyNode: StatementNode; conditionNode: ParenthesizedExpressionNode; } interface WildcardNode extends NamedNodeBase { type: SyntaxType.Wildcard; } interface YieldStatementNode extends NamedNodeBase { type: SyntaxType.YieldStatement; } interface BinaryIntegerLiteralNode extends NamedNodeBase { type: SyntaxType.BinaryIntegerLiteral; } interface BooleanTypeNode extends NamedNodeBase { type: SyntaxType.BooleanType; } interface CharacterLiteralNode extends NamedNodeBase { type: SyntaxType.CharacterLiteral; } interface DecimalFloatingPointLiteralNode extends NamedNodeBase { type: SyntaxType.DecimalFloatingPointLiteral; } interface DecimalIntegerLiteralNode extends NamedNodeBase { type: SyntaxType.DecimalIntegerLiteral; } interface EscapeSequenceNode extends NamedNodeBase { type: SyntaxType.EscapeSequence; } interface FalseNode extends NamedNodeBase { type: SyntaxType.False; } interface HexFloatingPointLiteralNode extends NamedNodeBase { type: SyntaxType.HexFloatingPointLiteral; } interface HexIntegerLiteralNode extends NamedNodeBase { type: SyntaxType.HexIntegerLiteral; } interface IdentifierNode extends NamedNodeBase { type: SyntaxType.Identifier; } interface NullLiteralNode extends NamedNodeBase { type: SyntaxType.NullLiteral; } interface OctalIntegerLiteralNode extends NamedNodeBase { type: SyntaxType.OctalIntegerLiteral; } interface StringFragmentNode extends NamedNodeBase { type: SyntaxType.StringFragment; } interface SuperNode extends NamedNodeBase { type: SyntaxType.Super; } interface ThisNode extends NamedNodeBase { type: SyntaxType.This; } interface TrueNode extends NamedNodeBase { type: SyntaxType.True; } interface TypeIdentifierNode extends NamedNodeBase { type: SyntaxType.TypeIdentifier; } interface UnderscorePatternNode extends NamedNodeBase { type: SyntaxType.UnderscorePattern; } interface VoidTypeNode extends NamedNodeBase { type: SyntaxType.VoidType; } //#endregion //#region src/printers/helpers.d.ts type JavaParserOptions = ParserOptions; //#endregion //#region src/comments.d.ts declare function willPrintOwnComments(path: AstPath): boolean; declare function canAttachComment(node: SyntaxNode, ancestors: SyntaxNode[]): boolean; declare function handleLineComment(commentNode: CommentNode, _: string, options: JavaParserOptions): boolean; declare function handleRemainingComment(commentNode: CommentNode): boolean; //#endregion //#region src/index.d.ts declare const _default: { languages: { name: string; parsers: "java"[]; group: string; tmScope: string; aceMode: string; codemirrorMode: string; codemirrorMimeType: string; extensions: string[]; linguistLanguageId: number; vscodeLanguageIds: string[]; }[]; parsers: { java: { parse(text: string): Promise<(ErrorNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (BinaryIntegerLiteralNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (CharacterLiteralNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (DecimalFloatingPointLiteralNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (DecimalIntegerLiteralNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (FalseNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (HexFloatingPointLiteralNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (HexIntegerLiteralNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (NullLiteralNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (OctalIntegerLiteralNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (StringLiteralNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (TrueNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (BooleanTypeNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (FloatingPointTypeNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (GenericTypeNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (IntegralTypeNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ScopedTypeIdentifierNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (TypeIdentifierNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (VoidTypeNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ArrayTypeNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (AnnotatedTypeNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (AnnotationTypeDeclarationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ClassDeclarationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (EnumDeclarationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ImportDeclarationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (InterfaceDeclarationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ModuleDeclarationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (PackageDeclarationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (RecordDeclarationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (AssignmentExpressionNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (BinaryExpressionNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (CastExpressionNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (InstanceofExpressionNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (LambdaExpressionNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ArrayAccessNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ArrayCreationExpressionNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ClassLiteralNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (FieldAccessNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (IdentifierNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (MethodInvocationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (MethodReferenceNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ObjectCreationExpressionNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ParenthesizedExpressionNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (TemplateExpressionNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ThisNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (SwitchExpressionNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (TernaryExpressionNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnaryExpressionNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UpdateExpressionNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ExportsModuleDirectiveNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (OpensModuleDirectiveNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ProvidesModuleDirectiveNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (RequiresModuleDirectiveNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UsesModuleDirectiveNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<";"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (AssertStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (BlockNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (BreakStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ContinueStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (DoStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (EnhancedForStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ExpressionStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ForStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (IfStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (LabeledStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (LocalVariableDeclarationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ReturnStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (SynchronizedStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ThrowStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (TryStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (TryWithResourcesStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (WhileStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (YieldStatementNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (AnnotationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (AnnotationArgumentListNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (AnnotationTypeBodyNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (AnnotationTypeElementDeclarationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ArgumentListNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ArrayInitializerNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (AsteriskNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (CatchClauseNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (CatchFormalParameterNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (CatchTypeNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ClassBodyNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (CompactConstructorDeclarationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ConstantDeclarationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ConstructorBodyNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ConstructorDeclarationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (DimensionsNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (DimensionsExprNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ElementValueArrayInitializerNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ElementValuePairNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (EnumBodyNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (EnumBodyDeclarationsNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (EnumConstantNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ExplicitConstructorInvocationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ExtendsInterfacesNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (FieldDeclarationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (FinallyClauseNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (FormalParameterNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (FormalParametersNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (GuardNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (InferredParametersNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (InterfaceBodyNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (MarkerAnnotationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (MethodDeclarationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ModifierNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ModifiersNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ModuleBodyNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (MultilineStringFragmentNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (PatternNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (PermitsNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ProgramNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ReceiverParameterNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (RecordPatternNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (RecordPatternBodyNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (RecordPatternComponentNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (RequiresModifierNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ResourceNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ResourceSpecificationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ScopedIdentifierNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (SpreadParameterNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (StaticInitializerNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (StringInterpolationNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (SuperInterfacesNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (SuperclassNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (SwitchBlockNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (SwitchBlockStatementGroupNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (SwitchLabelNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (SwitchRuleNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (ThrowsNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (TypeArgumentsNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (TypeBoundNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (TypeListNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (TypeParameterNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (TypeParametersNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (TypePatternNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (VariableDeclaratorNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (VisibilityNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (WildcardNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"!"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"!="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"\""> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"\"\"\""> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"%"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"%="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"&"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"&&"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"&="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"("> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<")"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"*"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"*="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"+"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"++"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"+="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<","> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"-"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"--"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"-="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"->"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"."> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"..."> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"/"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"/="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<":"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"::"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"<"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"<<"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"<<="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"<="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"=="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<">"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<">="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<">>"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<">>="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<">>>"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<">>>="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"?"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"@"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"@interface"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"["> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"\\{"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"]"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"^"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"^="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"abstract"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"assert"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"break"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"byte"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"case"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"catch"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"char"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"class"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"continue"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"default"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"do"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"double"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"else"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"enum"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (EscapeSequenceNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"exports"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"extends"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"final"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"finally"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"float"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"for"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"if"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"implements"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"import"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"instanceof"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"int"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"interface"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"long"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"module"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"native"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"new"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"non-sealed"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"open"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"opens"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"package"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"permits"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"private"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"protected"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"provides"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"public"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"record"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"requires"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"return"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"sealed"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"short"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"static"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"strictfp"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (StringFragmentNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (SuperNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"switch"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"synchronized"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"throw"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"throws"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"to"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"transient"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"transitive"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"try"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnderscorePatternNode & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"uses"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"volatile"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"when"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"while"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"with"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"yield"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"{"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"|"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"|="> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"||"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"}"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; }) | (UnnamedNode<"~"> & { [key: `${string}Node`]: SyntaxNode | undefined; [key: `${string}Nodes`]: SyntaxNode[]; })>; astFormat: string; hasPragma(text: string): boolean; locStart(node: SyntaxNode | CommentNode): number; locEnd(node: SyntaxNode | CommentNode): number; }; }; printers: { java: { print(path: import("prettier").AstPath, options: import("prettier").ParserOptions, print: (path: import("prettier").AstPath) => import("prettier").Doc, args: unknown): import("prettier/doc.js").builders.Doc; embed(path: import("prettier").AstPath): ((textToDoc: (text: string, options: import("prettier").Options) => Promise) => Promise) | null; hasPrettierIgnore(path: import("prettier").AstPath): boolean; canAttachComment: typeof canAttachComment; isBlockComment(node: SyntaxNode): boolean; willPrintOwnComments: typeof willPrintOwnComments; printComment(commentPath: import("prettier").AstPath): string | import("prettier/doc.js").builders.Doc[]; getCommentChildNodes(node: SyntaxNode): SyntaxNode[]; handleComments: { ownLine: typeof handleLineComment; endOfLine: typeof handleLineComment; remaining: typeof handleRemainingComment; }; getVisitorKeys(): string[]; }; }; options: { arrowParens: { type: "choice"; category: string; default: string; choices: { value: string; description: string; }[]; description: string; }; trailingComma: { type: "choice"; category: string; default: string; choices: { value: string; description: string; }[]; description: string; }; experimentalOperatorPosition: { type: "choice"; category: string; default: string; choices: { value: string; description: string; }[]; description: string; }; }; defaultOptions: { arrowParens: "avoid"; }; }; export = _default;