UNPKG

ast-types

Version:

Esprima-compatible implementation of the Mozilla JS Parser API

1,183 lines 115 kB
import * as K from "./kinds"; import { namedTypes } from "./namedTypes"; export interface FileBuilder { (program: K.ProgramKind, name?: string | null): namedTypes.File; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; name?: string | null; program: K.ProgramKind; }): namedTypes.File; } export interface ProgramBuilder { (body: K.StatementKind[]): namedTypes.Program; from(params: { body: K.StatementKind[]; comments?: K.CommentKind[] | null; directives?: K.DirectiveKind[]; interpreter?: K.InterpreterDirectiveKind | null; loc?: K.SourceLocationKind | null; }): namedTypes.Program; } export interface IdentifierBuilder { (name: string): namedTypes.Identifier; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; name: string; optional?: boolean; typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null; }): namedTypes.Identifier; } export interface BlockStatementBuilder { (body: K.StatementKind[]): namedTypes.BlockStatement; from(params: { body: K.StatementKind[]; comments?: K.CommentKind[] | null; directives?: K.DirectiveKind[]; loc?: K.SourceLocationKind | null; }): namedTypes.BlockStatement; } export interface EmptyStatementBuilder { (): namedTypes.EmptyStatement; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.EmptyStatement; } export interface ExpressionStatementBuilder { (expression: K.ExpressionKind): namedTypes.ExpressionStatement; from(params: { comments?: K.CommentKind[] | null; expression: K.ExpressionKind; loc?: K.SourceLocationKind | null; }): namedTypes.ExpressionStatement; } export interface IfStatementBuilder { (test: K.ExpressionKind, consequent: K.StatementKind, alternate?: K.StatementKind | null): namedTypes.IfStatement; from(params: { alternate?: K.StatementKind | null; comments?: K.CommentKind[] | null; consequent: K.StatementKind; loc?: K.SourceLocationKind | null; test: K.ExpressionKind; }): namedTypes.IfStatement; } export interface LabeledStatementBuilder { (label: K.IdentifierKind, body: K.StatementKind): namedTypes.LabeledStatement; from(params: { body: K.StatementKind; comments?: K.CommentKind[] | null; label: K.IdentifierKind; loc?: K.SourceLocationKind | null; }): namedTypes.LabeledStatement; } export interface BreakStatementBuilder { (label?: K.IdentifierKind | null): namedTypes.BreakStatement; from(params: { comments?: K.CommentKind[] | null; label?: K.IdentifierKind | null; loc?: K.SourceLocationKind | null; }): namedTypes.BreakStatement; } export interface ContinueStatementBuilder { (label?: K.IdentifierKind | null): namedTypes.ContinueStatement; from(params: { comments?: K.CommentKind[] | null; label?: K.IdentifierKind | null; loc?: K.SourceLocationKind | null; }): namedTypes.ContinueStatement; } export interface WithStatementBuilder { (object: K.ExpressionKind, body: K.StatementKind): namedTypes.WithStatement; from(params: { body: K.StatementKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; object: K.ExpressionKind; }): namedTypes.WithStatement; } export interface SwitchStatementBuilder { (discriminant: K.ExpressionKind, cases: K.SwitchCaseKind[], lexical?: boolean): namedTypes.SwitchStatement; from(params: { cases: K.SwitchCaseKind[]; comments?: K.CommentKind[] | null; discriminant: K.ExpressionKind; lexical?: boolean; loc?: K.SourceLocationKind | null; }): namedTypes.SwitchStatement; } export interface SwitchCaseBuilder { (test: K.ExpressionKind | null, consequent: K.StatementKind[]): namedTypes.SwitchCase; from(params: { comments?: K.CommentKind[] | null; consequent: K.StatementKind[]; loc?: K.SourceLocationKind | null; test: K.ExpressionKind | null; }): namedTypes.SwitchCase; } export interface ReturnStatementBuilder { (argument: K.ExpressionKind | null): namedTypes.ReturnStatement; from(params: { argument: K.ExpressionKind | null; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.ReturnStatement; } export interface ThrowStatementBuilder { (argument: K.ExpressionKind): namedTypes.ThrowStatement; from(params: { argument: K.ExpressionKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.ThrowStatement; } export interface TryStatementBuilder { (block: K.BlockStatementKind, handler?: K.CatchClauseKind | null, finalizer?: K.BlockStatementKind | null): namedTypes.TryStatement; from(params: { block: K.BlockStatementKind; comments?: K.CommentKind[] | null; finalizer?: K.BlockStatementKind | null; guardedHandlers?: K.CatchClauseKind[]; handler?: K.CatchClauseKind | null; handlers?: K.CatchClauseKind[]; loc?: K.SourceLocationKind | null; }): namedTypes.TryStatement; } export interface CatchClauseBuilder { (param: K.PatternKind | null | undefined, guard: K.ExpressionKind | null | undefined, body: K.BlockStatementKind): namedTypes.CatchClause; from(params: { body: K.BlockStatementKind; comments?: K.CommentKind[] | null; guard?: K.ExpressionKind | null; loc?: K.SourceLocationKind | null; param?: K.PatternKind | null; }): namedTypes.CatchClause; } export interface WhileStatementBuilder { (test: K.ExpressionKind, body: K.StatementKind): namedTypes.WhileStatement; from(params: { body: K.StatementKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; test: K.ExpressionKind; }): namedTypes.WhileStatement; } export interface DoWhileStatementBuilder { (body: K.StatementKind, test: K.ExpressionKind): namedTypes.DoWhileStatement; from(params: { body: K.StatementKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; test: K.ExpressionKind; }): namedTypes.DoWhileStatement; } export interface ForStatementBuilder { (init: K.VariableDeclarationKind | K.ExpressionKind | null, test: K.ExpressionKind | null, update: K.ExpressionKind | null, body: K.StatementKind): namedTypes.ForStatement; from(params: { body: K.StatementKind; comments?: K.CommentKind[] | null; init: K.VariableDeclarationKind | K.ExpressionKind | null; loc?: K.SourceLocationKind | null; test: K.ExpressionKind | null; update: K.ExpressionKind | null; }): namedTypes.ForStatement; } export interface VariableDeclarationBuilder { (kind: "var" | "let" | "const", declarations: (K.VariableDeclaratorKind | K.IdentifierKind)[]): namedTypes.VariableDeclaration; from(params: { comments?: K.CommentKind[] | null; declarations: (K.VariableDeclaratorKind | K.IdentifierKind)[]; kind: "var" | "let" | "const"; loc?: K.SourceLocationKind | null; }): namedTypes.VariableDeclaration; } export interface ForInStatementBuilder { (left: K.VariableDeclarationKind | K.ExpressionKind, right: K.ExpressionKind, body: K.StatementKind): namedTypes.ForInStatement; from(params: { body: K.StatementKind; comments?: K.CommentKind[] | null; left: K.VariableDeclarationKind | K.ExpressionKind; loc?: K.SourceLocationKind | null; right: K.ExpressionKind; }): namedTypes.ForInStatement; } export interface DebuggerStatementBuilder { (): namedTypes.DebuggerStatement; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.DebuggerStatement; } export interface FunctionDeclarationBuilder { (id: K.IdentifierKind | null, params: K.PatternKind[], body: K.BlockStatementKind, generator?: boolean, expression?: boolean): namedTypes.FunctionDeclaration; from(params: { async?: boolean; body: K.BlockStatementKind; comments?: K.CommentKind[] | null; defaults?: (K.ExpressionKind | null)[]; expression?: boolean; generator?: boolean; id: K.IdentifierKind | null; loc?: K.SourceLocationKind | null; params: K.PatternKind[]; predicate?: K.FlowPredicateKind | null; rest?: K.IdentifierKind | null; returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null; typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null; }): namedTypes.FunctionDeclaration; } export interface FunctionExpressionBuilder { (id: K.IdentifierKind | null | undefined, params: K.PatternKind[], body: K.BlockStatementKind, generator?: boolean, expression?: boolean): namedTypes.FunctionExpression; from(params: { async?: boolean; body: K.BlockStatementKind; comments?: K.CommentKind[] | null; defaults?: (K.ExpressionKind | null)[]; expression?: boolean; generator?: boolean; id?: K.IdentifierKind | null; loc?: K.SourceLocationKind | null; params: K.PatternKind[]; predicate?: K.FlowPredicateKind | null; rest?: K.IdentifierKind | null; returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null; typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null; }): namedTypes.FunctionExpression; } export interface VariableDeclaratorBuilder { (id: K.PatternKind, init?: K.ExpressionKind | null): namedTypes.VariableDeclarator; from(params: { comments?: K.CommentKind[] | null; id: K.PatternKind; init?: K.ExpressionKind | null; loc?: K.SourceLocationKind | null; }): namedTypes.VariableDeclarator; } export interface ThisExpressionBuilder { (): namedTypes.ThisExpression; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.ThisExpression; } export interface ArrayExpressionBuilder { (elements: (K.ExpressionKind | K.SpreadElementKind | K.RestElementKind | null)[]): namedTypes.ArrayExpression; from(params: { comments?: K.CommentKind[] | null; elements: (K.ExpressionKind | K.SpreadElementKind | K.RestElementKind | null)[]; loc?: K.SourceLocationKind | null; }): namedTypes.ArrayExpression; } export interface ObjectExpressionBuilder { (properties: (K.PropertyKind | K.ObjectMethodKind | K.ObjectPropertyKind | K.SpreadPropertyKind | K.SpreadElementKind)[]): namedTypes.ObjectExpression; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; properties: (K.PropertyKind | K.ObjectMethodKind | K.ObjectPropertyKind | K.SpreadPropertyKind | K.SpreadElementKind)[]; }): namedTypes.ObjectExpression; } export interface PropertyBuilder { (kind: "init" | "get" | "set", key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, value: K.ExpressionKind | K.PatternKind): namedTypes.Property; from(params: { comments?: K.CommentKind[] | null; computed?: boolean; decorators?: K.DecoratorKind[] | null; key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind; kind: "init" | "get" | "set"; loc?: K.SourceLocationKind | null; method?: boolean; shorthand?: boolean; value: K.ExpressionKind | K.PatternKind; }): namedTypes.Property; } export interface LiteralBuilder { (value: string | boolean | null | number | RegExp): namedTypes.Literal; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; regex?: { pattern: string; flags: string; } | null; value: string | boolean | null | number | RegExp; }): namedTypes.Literal; } export interface SequenceExpressionBuilder { (expressions: K.ExpressionKind[]): namedTypes.SequenceExpression; from(params: { comments?: K.CommentKind[] | null; expressions: K.ExpressionKind[]; loc?: K.SourceLocationKind | null; }): namedTypes.SequenceExpression; } export interface UnaryExpressionBuilder { (operator: "-" | "+" | "!" | "~" | "typeof" | "void" | "delete", argument: K.ExpressionKind, prefix?: boolean): namedTypes.UnaryExpression; from(params: { argument: K.ExpressionKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; operator: "-" | "+" | "!" | "~" | "typeof" | "void" | "delete"; prefix?: boolean; }): namedTypes.UnaryExpression; } export interface BinaryExpressionBuilder { (operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "&" | "|" | "^" | "in" | "instanceof" | "**", left: K.ExpressionKind, right: K.ExpressionKind): namedTypes.BinaryExpression; from(params: { comments?: K.CommentKind[] | null; left: K.ExpressionKind; loc?: K.SourceLocationKind | null; operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "&" | "|" | "^" | "in" | "instanceof" | "**"; right: K.ExpressionKind; }): namedTypes.BinaryExpression; } export interface AssignmentExpressionBuilder { (operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "**=", left: K.PatternKind | K.MemberExpressionKind, right: K.ExpressionKind): namedTypes.AssignmentExpression; from(params: { comments?: K.CommentKind[] | null; left: K.PatternKind | K.MemberExpressionKind; loc?: K.SourceLocationKind | null; operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "**="; right: K.ExpressionKind; }): namedTypes.AssignmentExpression; } export interface MemberExpressionBuilder { (object: K.ExpressionKind, property: K.IdentifierKind | K.ExpressionKind, computed?: boolean): namedTypes.MemberExpression; from(params: { comments?: K.CommentKind[] | null; computed?: boolean; loc?: K.SourceLocationKind | null; object: K.ExpressionKind; optional?: boolean; property: K.IdentifierKind | K.ExpressionKind; }): namedTypes.MemberExpression; } export interface UpdateExpressionBuilder { (operator: "++" | "--", argument: K.ExpressionKind, prefix: boolean): namedTypes.UpdateExpression; from(params: { argument: K.ExpressionKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; operator: "++" | "--"; prefix: boolean; }): namedTypes.UpdateExpression; } export interface LogicalExpressionBuilder { (operator: "||" | "&&" | "??", left: K.ExpressionKind, right: K.ExpressionKind): namedTypes.LogicalExpression; from(params: { comments?: K.CommentKind[] | null; left: K.ExpressionKind; loc?: K.SourceLocationKind | null; operator: "||" | "&&" | "??"; right: K.ExpressionKind; }): namedTypes.LogicalExpression; } export interface ConditionalExpressionBuilder { (test: K.ExpressionKind, consequent: K.ExpressionKind, alternate: K.ExpressionKind): namedTypes.ConditionalExpression; from(params: { alternate: K.ExpressionKind; comments?: K.CommentKind[] | null; consequent: K.ExpressionKind; loc?: K.SourceLocationKind | null; test: K.ExpressionKind; }): namedTypes.ConditionalExpression; } export interface NewExpressionBuilder { (callee: K.ExpressionKind, argumentsParam: (K.ExpressionKind | K.SpreadElementKind)[]): namedTypes.NewExpression; from(params: { arguments: (K.ExpressionKind | K.SpreadElementKind)[]; callee: K.ExpressionKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; typeArguments?: null | K.TypeParameterInstantiationKind; }): namedTypes.NewExpression; } export interface CallExpressionBuilder { (callee: K.ExpressionKind, argumentsParam: (K.ExpressionKind | K.SpreadElementKind)[]): namedTypes.CallExpression; from(params: { arguments: (K.ExpressionKind | K.SpreadElementKind)[]; callee: K.ExpressionKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; optional?: boolean; typeArguments?: null | K.TypeParameterInstantiationKind; }): namedTypes.CallExpression; } export interface RestElementBuilder { (argument: K.PatternKind): namedTypes.RestElement; from(params: { argument: K.PatternKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null; }): namedTypes.RestElement; } export interface TypeAnnotationBuilder { (typeAnnotation: K.FlowTypeKind): namedTypes.TypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; typeAnnotation: K.FlowTypeKind; }): namedTypes.TypeAnnotation; } export interface TSTypeAnnotationBuilder { (typeAnnotation: K.TSTypeKind | K.TSTypeAnnotationKind): namedTypes.TSTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; typeAnnotation: K.TSTypeKind | K.TSTypeAnnotationKind; }): namedTypes.TSTypeAnnotation; } export interface SpreadElementPatternBuilder { (argument: K.PatternKind): namedTypes.SpreadElementPattern; from(params: { argument: K.PatternKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.SpreadElementPattern; } export interface ArrowFunctionExpressionBuilder { (params: K.PatternKind[], body: K.BlockStatementKind | K.ExpressionKind, expression?: boolean): namedTypes.ArrowFunctionExpression; from(params: { async?: boolean; body: K.BlockStatementKind | K.ExpressionKind; comments?: K.CommentKind[] | null; defaults?: (K.ExpressionKind | null)[]; expression?: boolean; generator?: false; id?: null; loc?: K.SourceLocationKind | null; params: K.PatternKind[]; predicate?: K.FlowPredicateKind | null; rest?: K.IdentifierKind | null; returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null; typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null; }): namedTypes.ArrowFunctionExpression; } export interface ForOfStatementBuilder { (left: K.VariableDeclarationKind | K.PatternKind, right: K.ExpressionKind, body: K.StatementKind): namedTypes.ForOfStatement; from(params: { await?: boolean; body: K.StatementKind; comments?: K.CommentKind[] | null; left: K.VariableDeclarationKind | K.PatternKind; loc?: K.SourceLocationKind | null; right: K.ExpressionKind; }): namedTypes.ForOfStatement; } export interface YieldExpressionBuilder { (argument: K.ExpressionKind | null, delegate?: boolean): namedTypes.YieldExpression; from(params: { argument: K.ExpressionKind | null; comments?: K.CommentKind[] | null; delegate?: boolean; loc?: K.SourceLocationKind | null; }): namedTypes.YieldExpression; } export interface GeneratorExpressionBuilder { (body: K.ExpressionKind, blocks: K.ComprehensionBlockKind[], filter: K.ExpressionKind | null): namedTypes.GeneratorExpression; from(params: { blocks: K.ComprehensionBlockKind[]; body: K.ExpressionKind; comments?: K.CommentKind[] | null; filter: K.ExpressionKind | null; loc?: K.SourceLocationKind | null; }): namedTypes.GeneratorExpression; } export interface ComprehensionBlockBuilder { (left: K.PatternKind, right: K.ExpressionKind, each: boolean): namedTypes.ComprehensionBlock; from(params: { comments?: K.CommentKind[] | null; each: boolean; left: K.PatternKind; loc?: K.SourceLocationKind | null; right: K.ExpressionKind; }): namedTypes.ComprehensionBlock; } export interface ComprehensionExpressionBuilder { (body: K.ExpressionKind, blocks: K.ComprehensionBlockKind[], filter: K.ExpressionKind | null): namedTypes.ComprehensionExpression; from(params: { blocks: K.ComprehensionBlockKind[]; body: K.ExpressionKind; comments?: K.CommentKind[] | null; filter: K.ExpressionKind | null; loc?: K.SourceLocationKind | null; }): namedTypes.ComprehensionExpression; } export interface ObjectPropertyBuilder { (key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, value: K.ExpressionKind | K.PatternKind): namedTypes.ObjectProperty; from(params: { accessibility?: K.LiteralKind | null; comments?: K.CommentKind[] | null; computed?: boolean; key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind; loc?: K.SourceLocationKind | null; shorthand?: boolean; value: K.ExpressionKind | K.PatternKind; }): namedTypes.ObjectProperty; } export interface PropertyPatternBuilder { (key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, pattern: K.PatternKind): namedTypes.PropertyPattern; from(params: { comments?: K.CommentKind[] | null; computed?: boolean; key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind; loc?: K.SourceLocationKind | null; pattern: K.PatternKind; }): namedTypes.PropertyPattern; } export interface ObjectPatternBuilder { (properties: (K.PropertyKind | K.PropertyPatternKind | K.SpreadPropertyPatternKind | K.SpreadPropertyKind | K.ObjectPropertyKind | K.RestPropertyKind)[]): namedTypes.ObjectPattern; from(params: { comments?: K.CommentKind[] | null; decorators?: K.DecoratorKind[] | null; loc?: K.SourceLocationKind | null; properties: (K.PropertyKind | K.PropertyPatternKind | K.SpreadPropertyPatternKind | K.SpreadPropertyKind | K.ObjectPropertyKind | K.RestPropertyKind)[]; typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null; }): namedTypes.ObjectPattern; } export interface ArrayPatternBuilder { (elements: (K.PatternKind | K.SpreadElementKind | null)[]): namedTypes.ArrayPattern; from(params: { comments?: K.CommentKind[] | null; elements: (K.PatternKind | K.SpreadElementKind | null)[]; loc?: K.SourceLocationKind | null; }): namedTypes.ArrayPattern; } export interface SpreadElementBuilder { (argument: K.ExpressionKind): namedTypes.SpreadElement; from(params: { argument: K.ExpressionKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.SpreadElement; } export interface AssignmentPatternBuilder { (left: K.PatternKind, right: K.ExpressionKind): namedTypes.AssignmentPattern; from(params: { comments?: K.CommentKind[] | null; left: K.PatternKind; loc?: K.SourceLocationKind | null; right: K.ExpressionKind; }): namedTypes.AssignmentPattern; } export interface MethodDefinitionBuilder { (kind: "constructor" | "method" | "get" | "set", key: K.ExpressionKind, value: K.FunctionKind, staticParam?: boolean): namedTypes.MethodDefinition; from(params: { comments?: K.CommentKind[] | null; computed?: boolean; decorators?: K.DecoratorKind[] | null; key: K.ExpressionKind; kind: "constructor" | "method" | "get" | "set"; loc?: K.SourceLocationKind | null; static?: boolean; value: K.FunctionKind; }): namedTypes.MethodDefinition; } export interface ClassPropertyDefinitionBuilder { (definition: K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind): namedTypes.ClassPropertyDefinition; from(params: { comments?: K.CommentKind[] | null; definition: K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind; loc?: K.SourceLocationKind | null; }): namedTypes.ClassPropertyDefinition; } export interface ClassPropertyBuilder { (key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, value: K.ExpressionKind | null, typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null, staticParam?: boolean): namedTypes.ClassProperty; from(params: { access?: "public" | "private" | "protected" | undefined; comments?: K.CommentKind[] | null; computed?: boolean; key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind; loc?: K.SourceLocationKind | null; static?: boolean; typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null; value: K.ExpressionKind | null; variance?: K.VarianceKind | "plus" | "minus" | null; }): namedTypes.ClassProperty; } export interface ClassBodyBuilder { (body: (K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind | K.ClassPrivatePropertyKind | K.ClassMethodKind | K.ClassPrivateMethodKind | K.TSDeclareMethodKind | K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[]): namedTypes.ClassBody; from(params: { body: (K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind | K.ClassPrivatePropertyKind | K.ClassMethodKind | K.ClassPrivateMethodKind | K.TSDeclareMethodKind | K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[]; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.ClassBody; } export interface ClassDeclarationBuilder { (id: K.IdentifierKind | null, body: K.ClassBodyKind, superClass?: K.ExpressionKind | null): namedTypes.ClassDeclaration; from(params: { body: K.ClassBodyKind; comments?: K.CommentKind[] | null; id: K.IdentifierKind | null; implements?: K.ClassImplementsKind[] | K.TSExpressionWithTypeArgumentsKind[]; loc?: K.SourceLocationKind | null; superClass?: K.ExpressionKind | null; superTypeParameters?: K.TypeParameterInstantiationKind | K.TSTypeParameterInstantiationKind | null; typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null; }): namedTypes.ClassDeclaration; } export interface ClassExpressionBuilder { (id: K.IdentifierKind | null | undefined, body: K.ClassBodyKind, superClass?: K.ExpressionKind | null): namedTypes.ClassExpression; from(params: { body: K.ClassBodyKind; comments?: K.CommentKind[] | null; id?: K.IdentifierKind | null; implements?: K.ClassImplementsKind[] | K.TSExpressionWithTypeArgumentsKind[]; loc?: K.SourceLocationKind | null; superClass?: K.ExpressionKind | null; superTypeParameters?: K.TypeParameterInstantiationKind | K.TSTypeParameterInstantiationKind | null; typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null; }): namedTypes.ClassExpression; } export interface SuperBuilder { (): namedTypes.Super; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.Super; } export interface ImportSpecifierBuilder { (imported: K.IdentifierKind, local?: K.IdentifierKind | null): namedTypes.ImportSpecifier; from(params: { comments?: K.CommentKind[] | null; id?: K.IdentifierKind | null; imported: K.IdentifierKind; loc?: K.SourceLocationKind | null; local?: K.IdentifierKind | null; name?: K.IdentifierKind | null; }): namedTypes.ImportSpecifier; } export interface ImportDefaultSpecifierBuilder { (local?: K.IdentifierKind | null): namedTypes.ImportDefaultSpecifier; from(params: { comments?: K.CommentKind[] | null; id?: K.IdentifierKind | null; loc?: K.SourceLocationKind | null; local?: K.IdentifierKind | null; name?: K.IdentifierKind | null; }): namedTypes.ImportDefaultSpecifier; } export interface ImportNamespaceSpecifierBuilder { (local?: K.IdentifierKind | null): namedTypes.ImportNamespaceSpecifier; from(params: { comments?: K.CommentKind[] | null; id?: K.IdentifierKind | null; loc?: K.SourceLocationKind | null; local?: K.IdentifierKind | null; name?: K.IdentifierKind | null; }): namedTypes.ImportNamespaceSpecifier; } export interface ImportDeclarationBuilder { (specifiers: (K.ImportSpecifierKind | K.ImportNamespaceSpecifierKind | K.ImportDefaultSpecifierKind)[] | undefined, source: K.LiteralKind, importKind?: "value" | "type" | "typeof"): namedTypes.ImportDeclaration; from(params: { comments?: K.CommentKind[] | null; importKind?: "value" | "type" | "typeof"; loc?: K.SourceLocationKind | null; source: K.LiteralKind; specifiers?: (K.ImportSpecifierKind | K.ImportNamespaceSpecifierKind | K.ImportDefaultSpecifierKind)[]; }): namedTypes.ImportDeclaration; } export interface ExportNamedDeclarationBuilder { (declaration: K.DeclarationKind | null, specifiers?: K.ExportSpecifierKind[], source?: K.LiteralKind | null): namedTypes.ExportNamedDeclaration; from(params: { comments?: K.CommentKind[] | null; declaration: K.DeclarationKind | null; loc?: K.SourceLocationKind | null; source?: K.LiteralKind | null; specifiers?: K.ExportSpecifierKind[]; }): namedTypes.ExportNamedDeclaration; } export interface ExportSpecifierBuilder { (id?: K.IdentifierKind | null, name?: K.IdentifierKind | null): namedTypes.ExportSpecifier; from(params: { comments?: K.CommentKind[] | null; exported: K.IdentifierKind; id?: K.IdentifierKind | null; loc?: K.SourceLocationKind | null; local?: K.IdentifierKind | null; name?: K.IdentifierKind | null; }): namedTypes.ExportSpecifier; } export interface ExportDefaultDeclarationBuilder { (declaration: K.DeclarationKind | K.ExpressionKind): namedTypes.ExportDefaultDeclaration; from(params: { comments?: K.CommentKind[] | null; declaration: K.DeclarationKind | K.ExpressionKind; loc?: K.SourceLocationKind | null; }): namedTypes.ExportDefaultDeclaration; } export interface ExportAllDeclarationBuilder { (source: K.LiteralKind, exported: K.IdentifierKind | null): namedTypes.ExportAllDeclaration; from(params: { comments?: K.CommentKind[] | null; exported: K.IdentifierKind | null; loc?: K.SourceLocationKind | null; source: K.LiteralKind; }): namedTypes.ExportAllDeclaration; } export interface TaggedTemplateExpressionBuilder { (tag: K.ExpressionKind, quasi: K.TemplateLiteralKind): namedTypes.TaggedTemplateExpression; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; quasi: K.TemplateLiteralKind; tag: K.ExpressionKind; }): namedTypes.TaggedTemplateExpression; } export interface TemplateLiteralBuilder { (quasis: K.TemplateElementKind[], expressions: K.ExpressionKind[]): namedTypes.TemplateLiteral; from(params: { comments?: K.CommentKind[] | null; expressions: K.ExpressionKind[]; loc?: K.SourceLocationKind | null; quasis: K.TemplateElementKind[]; }): namedTypes.TemplateLiteral; } export interface TemplateElementBuilder { (value: { cooked: string | null; raw: string; }, tail: boolean): namedTypes.TemplateElement; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; tail: boolean; value: { cooked: string | null; raw: string; }; }): namedTypes.TemplateElement; } export interface MetaPropertyBuilder { (meta: K.IdentifierKind, property: K.IdentifierKind): namedTypes.MetaProperty; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; meta: K.IdentifierKind; property: K.IdentifierKind; }): namedTypes.MetaProperty; } export interface AwaitExpressionBuilder { (argument: K.ExpressionKind | null, all?: boolean): namedTypes.AwaitExpression; from(params: { all?: boolean; argument: K.ExpressionKind | null; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.AwaitExpression; } export interface SpreadPropertyBuilder { (argument: K.ExpressionKind): namedTypes.SpreadProperty; from(params: { argument: K.ExpressionKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.SpreadProperty; } export interface SpreadPropertyPatternBuilder { (argument: K.PatternKind): namedTypes.SpreadPropertyPattern; from(params: { argument: K.PatternKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.SpreadPropertyPattern; } export interface ImportExpressionBuilder { (source: K.ExpressionKind): namedTypes.ImportExpression; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; source: K.ExpressionKind; }): namedTypes.ImportExpression; } export interface ChainExpressionBuilder { (expression: K.ChainElementKind): namedTypes.ChainExpression; from(params: { comments?: K.CommentKind[] | null; expression: K.ChainElementKind; loc?: K.SourceLocationKind | null; }): namedTypes.ChainExpression; } export interface OptionalCallExpressionBuilder { (callee: K.ExpressionKind, argumentsParam: (K.ExpressionKind | K.SpreadElementKind)[], optional?: boolean): namedTypes.OptionalCallExpression; from(params: { arguments: (K.ExpressionKind | K.SpreadElementKind)[]; callee: K.ExpressionKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; optional?: boolean; typeArguments?: null | K.TypeParameterInstantiationKind; }): namedTypes.OptionalCallExpression; } export interface OptionalMemberExpressionBuilder { (object: K.ExpressionKind, property: K.IdentifierKind | K.ExpressionKind, computed?: boolean, optional?: boolean): namedTypes.OptionalMemberExpression; from(params: { comments?: K.CommentKind[] | null; computed?: boolean; loc?: K.SourceLocationKind | null; object: K.ExpressionKind; optional?: boolean; property: K.IdentifierKind | K.ExpressionKind; }): namedTypes.OptionalMemberExpression; } export interface JSXAttributeBuilder { (name: K.JSXIdentifierKind | K.JSXNamespacedNameKind, value?: K.LiteralKind | K.JSXExpressionContainerKind | K.JSXElementKind | K.JSXFragmentKind | null): namedTypes.JSXAttribute; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; name: K.JSXIdentifierKind | K.JSXNamespacedNameKind; value?: K.LiteralKind | K.JSXExpressionContainerKind | K.JSXElementKind | K.JSXFragmentKind | null; }): namedTypes.JSXAttribute; } export interface JSXIdentifierBuilder { (name: string): namedTypes.JSXIdentifier; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; name: string; optional?: boolean; typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null; }): namedTypes.JSXIdentifier; } export interface JSXNamespacedNameBuilder { (namespace: K.JSXIdentifierKind, name: K.JSXIdentifierKind): namedTypes.JSXNamespacedName; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; name: K.JSXIdentifierKind; namespace: K.JSXIdentifierKind; }): namedTypes.JSXNamespacedName; } export interface JSXExpressionContainerBuilder { (expression: K.ExpressionKind | K.JSXEmptyExpressionKind): namedTypes.JSXExpressionContainer; from(params: { comments?: K.CommentKind[] | null; expression: K.ExpressionKind | K.JSXEmptyExpressionKind; loc?: K.SourceLocationKind | null; }): namedTypes.JSXExpressionContainer; } export interface JSXElementBuilder { (openingElement: K.JSXOpeningElementKind, closingElement?: K.JSXClosingElementKind | null, children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[]): namedTypes.JSXElement; from(params: { attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[]; children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[]; closingElement?: K.JSXClosingElementKind | null; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; name?: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind; openingElement: K.JSXOpeningElementKind; selfClosing?: boolean; }): namedTypes.JSXElement; } export interface JSXFragmentBuilder { (openingFragment: K.JSXOpeningFragmentKind, closingFragment: K.JSXClosingFragmentKind, children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[]): namedTypes.JSXFragment; from(params: { children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[]; closingFragment: K.JSXClosingFragmentKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; openingFragment: K.JSXOpeningFragmentKind; }): namedTypes.JSXFragment; } export interface JSXMemberExpressionBuilder { (object: K.JSXIdentifierKind | K.JSXMemberExpressionKind, property: K.JSXIdentifierKind): namedTypes.JSXMemberExpression; from(params: { comments?: K.CommentKind[] | null; computed?: boolean; loc?: K.SourceLocationKind | null; object: K.JSXIdentifierKind | K.JSXMemberExpressionKind; optional?: boolean; property: K.JSXIdentifierKind; }): namedTypes.JSXMemberExpression; } export interface JSXSpreadAttributeBuilder { (argument: K.ExpressionKind): namedTypes.JSXSpreadAttribute; from(params: { argument: K.ExpressionKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.JSXSpreadAttribute; } export interface JSXEmptyExpressionBuilder { (): namedTypes.JSXEmptyExpression; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.JSXEmptyExpression; } export interface JSXTextBuilder { (value: string, raw?: string): namedTypes.JSXText; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; raw?: string; regex?: { pattern: string; flags: string; } | null; value: string; }): namedTypes.JSXText; } export interface JSXSpreadChildBuilder { (expression: K.ExpressionKind): namedTypes.JSXSpreadChild; from(params: { comments?: K.CommentKind[] | null; expression: K.ExpressionKind; loc?: K.SourceLocationKind | null; }): namedTypes.JSXSpreadChild; } export interface JSXOpeningElementBuilder { (name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind, attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[], selfClosing?: boolean): namedTypes.JSXOpeningElement; from(params: { attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[]; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind; selfClosing?: boolean; }): namedTypes.JSXOpeningElement; } export interface JSXClosingElementBuilder { (name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind): namedTypes.JSXClosingElement; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind; }): namedTypes.JSXClosingElement; } export interface JSXOpeningFragmentBuilder { (): namedTypes.JSXOpeningFragment; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.JSXOpeningFragment; } export interface JSXClosingFragmentBuilder { (): namedTypes.JSXClosingFragment; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.JSXClosingFragment; } export interface DecoratorBuilder { (expression: K.ExpressionKind): namedTypes.Decorator; from(params: { comments?: K.CommentKind[] | null; expression: K.ExpressionKind; loc?: K.SourceLocationKind | null; }): namedTypes.Decorator; } export interface PrivateNameBuilder { (id: K.IdentifierKind): namedTypes.PrivateName; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind; loc?: K.SourceLocationKind | null; }): namedTypes.PrivateName; } export interface ClassPrivatePropertyBuilder { (key: K.PrivateNameKind, value?: K.ExpressionKind | null): namedTypes.ClassPrivateProperty; from(params: { access?: "public" | "private" | "protected" | undefined; comments?: K.CommentKind[] | null; computed?: boolean; key: K.PrivateNameKind; loc?: K.SourceLocationKind | null; static?: boolean; typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null; value?: K.ExpressionKind | null; variance?: K.VarianceKind | "plus" | "minus" | null; }): namedTypes.ClassPrivateProperty; } export interface TypeParameterDeclarationBuilder { (params: K.TypeParameterKind[]): namedTypes.TypeParameterDeclaration; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; params: K.TypeParameterKind[]; }): namedTypes.TypeParameterDeclaration; } export interface TSTypeParameterDeclarationBuilder { (params: K.TSTypeParameterKind[]): namedTypes.TSTypeParameterDeclaration; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; params: K.TSTypeParameterKind[]; }): namedTypes.TSTypeParameterDeclaration; } export interface TypeParameterInstantiationBuilder { (params: K.FlowTypeKind[]): namedTypes.TypeParameterInstantiation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; params: K.FlowTypeKind[]; }): namedTypes.TypeParameterInstantiation; } export interface TSTypeParameterInstantiationBuilder { (params: K.TSTypeKind[]): namedTypes.TSTypeParameterInstantiation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; params: K.TSTypeKind[]; }): namedTypes.TSTypeParameterInstantiation; } export interface ClassImplementsBuilder { (id: K.IdentifierKind): namedTypes.ClassImplements; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind; loc?: K.SourceLocationKind | null; superClass?: K.ExpressionKind | null; typeParameters?: K.TypeParameterInstantiationKind | null; }): namedTypes.ClassImplements; } export interface TSExpressionWithTypeArgumentsBuilder { (expression: K.IdentifierKind | K.TSQualifiedNameKind, typeParameters?: K.TSTypeParameterInstantiationKind | null): namedTypes.TSExpressionWithTypeArguments; from(params: { comments?: K.CommentKind[] | null; expression: K.IdentifierKind | K.TSQualifiedNameKind; loc?: K.SourceLocationKind | null; typeParameters?: K.TSTypeParameterInstantiationKind | null; }): namedTypes.TSExpressionWithTypeArguments; } export interface AnyTypeAnnotationBuilder { (): namedTypes.AnyTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.AnyTypeAnnotation; } export interface EmptyTypeAnnotationBuilder { (): namedTypes.EmptyTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.EmptyTypeAnnotation; } export interface MixedTypeAnnotationBuilder { (): namedTypes.MixedTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.MixedTypeAnnotation; } export interface VoidTypeAnnotationBuilder { (): namedTypes.VoidTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.VoidTypeAnnotation; } export interface SymbolTypeAnnotationBuilder { (): namedTypes.SymbolTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.SymbolTypeAnnotation; } export interface NumberTypeAnnotationBuilder { (): namedTypes.NumberTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.NumberTypeAnnotation; } export interface BigIntTypeAnnotationBuilder { (): namedTypes.BigIntTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.BigIntTypeAnnotation; } export interface NumberLiteralTypeAnnotationBuilder { (value: number, raw: string): namedTypes.NumberLiteralTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; raw: string; value: number; }): namedTypes.NumberLiteralTypeAnnotation; } export interface NumericLiteralTypeAnnotationBuilder { (value: number, raw: string): namedTypes.NumericLiteralTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; raw: string; value: number; }): namedTypes.NumericLiteralTypeAnnotation; } export interface BigIntLiteralTypeAnnotationBuilder { (value: null, raw: string): namedTypes.BigIntLiteralTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; raw: string; value: null; }): namedTypes.BigIntLiteralTypeAnnotation; } export interface StringTypeAnnotationBuilder { (): namedTypes.StringTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.StringTypeAnnotation; } export interface StringLiteralTypeAnnotationBuilder { (value: string, raw: string): namedTypes.StringLiteralTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; raw: string; value: string; }): namedTypes.StringLiteralTypeAnnotation; } export interface BooleanTypeAnnotationBuilder { (): namedTypes.BooleanTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.BooleanTypeAnnotation; } export interface BooleanLiteralTypeAnnotationBuilder { (value: boolean, raw: string): namedTypes.BooleanLiteralTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; raw: string; value: boolean; }): namedTypes.BooleanLiteralTypeAnnotation; } export interface NullableTypeAnnotationBuilder { (typeAnnotation: K.FlowTypeKind): namedTypes.NullableTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; typeAnnotation: K.FlowTypeKind; }): namedTypes.NullableTypeAnnotation; } export interface NullLiteralTypeAnnotationBuilder { (): namedTypes.NullLiteralTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.NullLiteralTypeAnnotation; } export interface NullTypeAnnotationBuilder { (): namedTypes.NullTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.NullTypeAnnotation; } export interface ThisTypeAnnotationBuilder { (): namedTypes.ThisTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.ThisTypeAnnotation; } export interface ExistsTypeAnnotationBuilder { (): namedTypes.ExistsTypeAnnotation; from(params: { comments?: