UNPKG

ast-types

Version:

Esprima-compatible implementation of the Mozilla JS Parser API

2,707 lines (2,706 loc) 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?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.ExistsTypeAnnotation; } export interface ExistentialTypeParamBuilder { (): namedTypes.ExistentialTypeParam; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.ExistentialTypeParam; } export interface FunctionTypeAnnotationBuilder { (params: K.FunctionTypeParamKind[], returnType: K.FlowTypeKind, rest: K.FunctionTypeParamKind | null, typeParameters: K.TypeParameterDeclarationKind | null): namedTypes.FunctionTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; params: K.FunctionTypeParamKind[]; rest: K.FunctionTypeParamKind | null; returnType: K.FlowTypeKind; typeParameters: K.TypeParameterDeclarationKind | null; }): namedTypes.FunctionTypeAnnotation; } export interface FunctionTypeParamBuilder { (name: K.IdentifierKind | null, typeAnnotation: K.FlowTypeKind, optional: boolean): namedTypes.FunctionTypeParam; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; name: K.IdentifierKind | null; optional: boolean; typeAnnotation: K.FlowTypeKind; }): namedTypes.FunctionTypeParam; } export interface ArrayTypeAnnotationBuilder { (elementType: K.FlowTypeKind): namedTypes.ArrayTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; elementType: K.FlowTypeKind; loc?: K.SourceLocationKind | null; }): namedTypes.ArrayTypeAnnotation; } export interface ObjectTypeAnnotationBuilder { (properties: (K.ObjectTypePropertyKind | K.ObjectTypeSpreadPropertyKind)[], indexers?: K.ObjectTypeIndexerKind[], callProperties?: K.ObjectTypeCallPropertyKind[]): namedTypes.ObjectTypeAnnotation; from(params: { callProperties?: K.ObjectTypeCallPropertyKind[]; comments?: K.CommentKind[] | null; exact?: boolean; indexers?: K.ObjectTypeIndexerKind[]; inexact?: boolean | undefined; internalSlots?: K.ObjectTypeInternalSlotKind[]; loc?: K.SourceLocationKind | null; properties: (K.ObjectTypePropertyKind | K.ObjectTypeSpreadPropertyKind)[]; }): namedTypes.ObjectTypeAnnotation; } export interface ObjectTypePropertyBuilder { (key: K.LiteralKind | K.IdentifierKind, value: K.FlowTypeKind, optional: boolean): namedTypes.ObjectTypeProperty; from(params: { comments?: K.CommentKind[] | null; key: K.LiteralKind | K.IdentifierKind; loc?: K.SourceLocationKind | null; optional: boolean; value: K.FlowTypeKind; variance?: K.VarianceKind | "plus" | "minus" | null; }): namedTypes.ObjectTypeProperty; } export interface ObjectTypeSpreadPropertyBuilder { (argument: K.FlowTypeKind): namedTypes.ObjectTypeSpreadProperty; from(params: { argument: K.FlowTypeKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.ObjectTypeSpreadProperty; } export interface ObjectTypeIndexerBuilder { (id: K.IdentifierKind, key: K.FlowTypeKind, value: K.FlowTypeKind): namedTypes.ObjectTypeIndexer; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind; key: K.FlowTypeKind; loc?: K.SourceLocationKind | null; static?: boolean; value: K.FlowTypeKind; variance?: K.VarianceKind | "plus" | "minus" | null; }): namedTypes.ObjectTypeIndexer; } export interface ObjectTypeCallPropertyBuilder { (value: K.FunctionTypeAnnotationKind): namedTypes.ObjectTypeCallProperty; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; static?: boolean; value: K.FunctionTypeAnnotationKind; }): namedTypes.ObjectTypeCallProperty; } export interface ObjectTypeInternalSlotBuilder { (id: K.IdentifierKind, value: K.FlowTypeKind, optional: boolean, staticParam: boolean, method: boolean): namedTypes.ObjectTypeInternalSlot; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind; loc?: K.SourceLocationKind | null; method: boolean; optional: boolean; static: boolean; value: K.FlowTypeKind; }): namedTypes.ObjectTypeInternalSlot; } export interface VarianceBuilder { (kind: "plus" | "minus"): namedTypes.Variance; from(params: { comments?: K.CommentKind[] | null; kind: "plus" | "minus"; loc?: K.SourceLocationKind | null; }): namedTypes.Variance; } export interface QualifiedTypeIdentifierBuilder { (qualification: K.IdentifierKind | K.QualifiedTypeIdentifierKind, id: K.IdentifierKind): namedTypes.QualifiedTypeIdentifier; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind; loc?: K.SourceLocationKind | null; qualification: K.IdentifierKind | K.QualifiedTypeIdentifierKind; }): namedTypes.QualifiedTypeIdentifier; } export interface GenericTypeAnnotationBuilder { (id: K.IdentifierKind | K.QualifiedTypeIdentifierKind, typeParameters: K.TypeParameterInstantiationKind | null): namedTypes.GenericTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind | K.QualifiedTypeIdentifierKind; loc?: K.SourceLocationKind | null; typeParameters: K.TypeParameterInstantiationKind | null; }): namedTypes.GenericTypeAnnotation; } export interface MemberTypeAnnotationBuilder { (object: K.IdentifierKind, property: K.MemberTypeAnnotationKind | K.GenericTypeAnnotationKind): namedTypes.MemberTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; object: K.IdentifierKind; property: K.MemberTypeAnnotationKind | K.GenericTypeAnnotationKind; }): namedTypes.MemberTypeAnnotation; } export interface UnionTypeAnnotationBuilder { (types: K.FlowTypeKind[]): namedTypes.UnionTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; types: K.FlowTypeKind[]; }): namedTypes.UnionTypeAnnotation; } export interface IntersectionTypeAnnotationBuilder { (types: K.FlowTypeKind[]): namedTypes.IntersectionTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; types: K.FlowTypeKind[]; }): namedTypes.IntersectionTypeAnnotation; } export interface TypeofTypeAnnotationBuilder { (argument: K.FlowTypeKind): namedTypes.TypeofTypeAnnotation; from(params: { argument: K.FlowTypeKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TypeofTypeAnnotation; } export interface TypeParameterBuilder { (name: string, variance?: K.VarianceKind | "plus" | "minus" | null, bound?: K.TypeAnnotationKind | null, defaultParam?: K.FlowTypeKind | null): namedTypes.TypeParameter; from(params: { bound?: K.TypeAnnotationKind | null; comments?: K.CommentKind[] | null; default?: K.FlowTypeKind | null; loc?: K.SourceLocationKind | null; name: string; variance?: K.VarianceKind | "plus" | "minus" | null; }): namedTypes.TypeParameter; } export interface InterfaceTypeAnnotationBuilder { (body: K.ObjectTypeAnnotationKind, extendsParam?: K.InterfaceExtendsKind[] | null): namedTypes.InterfaceTypeAnnotation; from(params: { body: K.ObjectTypeAnnotationKind; comments?: K.CommentKind[] | null; extends?: K.InterfaceExtendsKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.InterfaceTypeAnnotation; } export interface InterfaceExtendsBuilder { (id: K.IdentifierKind): namedTypes.InterfaceExtends; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind; loc?: K.SourceLocationKind | null; typeParameters?: K.TypeParameterInstantiationKind | null; }): namedTypes.InterfaceExtends; } export interface InterfaceDeclarationBuilder { (id: K.IdentifierKind, body: K.ObjectTypeAnnotationKind, extendsParam: K.InterfaceExtendsKind[]): namedTypes.InterfaceDeclaration; from(params: { body: K.ObjectTypeAnnotationKind; comments?: K.CommentKind[] | null; extends: K.InterfaceExtendsKind[]; id: K.IdentifierKind; loc?: K.SourceLocationKind | null; typeParameters?: K.TypeParameterDeclarationKind | null; }): namedTypes.InterfaceDeclaration; } export interface DeclareInterfaceBuilder { (id: K.IdentifierKind, body: K.ObjectTypeAnnotationKind, extendsParam: K.InterfaceExtendsKind[]): namedTypes.DeclareInterface; from(params: { body: K.ObjectTypeAnnotationKind; comments?: K.CommentKind[] | null; extends: K.InterfaceExtendsKind[]; id: K.IdentifierKind; loc?: K.SourceLocationKind | null; typeParameters?: K.TypeParameterDeclarationKind | null; }): namedTypes.DeclareInterface; } export interface TypeAliasBuilder { (id: K.IdentifierKind, typeParameters: K.TypeParameterDeclarationKind | null, right: K.FlowTypeKind): namedTypes.TypeAlias; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind; loc?: K.SourceLocationKind | null; right: K.FlowTypeKind; typeParameters: K.TypeParameterDeclarationKind | null; }): namedTypes.TypeAlias; } export interface DeclareTypeAliasBuilder { (id: K.IdentifierKind, typeParameters: K.TypeParameterDeclarationKind | null, right: K.FlowTypeKind): namedTypes.DeclareTypeAlias; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind; loc?: K.SourceLocationKind | null; right: K.FlowTypeKind; typeParameters: K.TypeParameterDeclarationKind | null; }): namedTypes.DeclareTypeAlias; } export interface OpaqueTypeBuilder { (id: K.IdentifierKind, typeParameters: K.TypeParameterDeclarationKind | null, impltype: K.FlowTypeKind, supertype: K.FlowTypeKind | null): namedTypes.OpaqueType; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind; impltype: K.FlowTypeKind; loc?: K.SourceLocationKind | null; supertype: K.FlowTypeKind | null; typeParameters: K.TypeParameterDeclarationKind | null; }): namedTypes.OpaqueType; } export interface DeclareOpaqueTypeBuilder { (id: K.IdentifierKind, typeParameters: K.TypeParameterDeclarationKind | null, supertype: K.FlowTypeKind | null): namedTypes.DeclareOpaqueType; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind; impltype: K.FlowTypeKind | null; loc?: K.SourceLocationKind | null; supertype: K.FlowTypeKind | null; typeParameters: K.TypeParameterDeclarationKind | null; }): namedTypes.DeclareOpaqueType; } export interface TypeCastExpressionBuilder { (expression: K.ExpressionKind, typeAnnotation: K.TypeAnnotationKind): namedTypes.TypeCastExpression; from(params: { comments?: K.CommentKind[] | null; expression: K.ExpressionKind; loc?: K.SourceLocationKind | null; typeAnnotation: K.TypeAnnotationKind; }): namedTypes.TypeCastExpression; } export interface TupleTypeAnnotationBuilder { (types: K.FlowTypeKind[]): namedTypes.TupleTypeAnnotation; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; types: K.FlowTypeKind[]; }): namedTypes.TupleTypeAnnotation; } export interface DeclareVariableBuilder { (id: K.IdentifierKind): namedTypes.DeclareVariable; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind; loc?: K.SourceLocationKind | null; }): namedTypes.DeclareVariable; } export interface DeclareFunctionBuilder { (id: K.IdentifierKind): namedTypes.DeclareFunction; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind; loc?: K.SourceLocationKind | null; predicate?: K.FlowPredicateKind | null; }): namedTypes.DeclareFunction; } export interface DeclareClassBuilder { (id: K.IdentifierKind): namedTypes.DeclareClass; from(params: { body: K.ObjectTypeAnnotationKind; comments?: K.CommentKind[] | null; extends: K.InterfaceExtendsKind[]; id: K.IdentifierKind; loc?: K.SourceLocationKind | null; typeParameters?: K.TypeParameterDeclarationKind | null; }): namedTypes.DeclareClass; } export interface DeclareModuleBuilder { (id: K.IdentifierKind | K.LiteralKind, body: K.BlockStatementKind): namedTypes.DeclareModule; from(params: { body: K.BlockStatementKind; comments?: K.CommentKind[] | null; id: K.IdentifierKind | K.LiteralKind; loc?: K.SourceLocationKind | null; }): namedTypes.DeclareModule; } export interface DeclareModuleExportsBuilder { (typeAnnotation: K.TypeAnnotationKind): namedTypes.DeclareModuleExports; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; typeAnnotation: K.TypeAnnotationKind; }): namedTypes.DeclareModuleExports; } export interface DeclareExportDeclarationBuilder { (defaultParam: boolean, declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | K.TypeAliasKind | K.DeclareOpaqueTypeKind | K.InterfaceDeclarationKind | null, specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[], source?: K.LiteralKind | null): namedTypes.DeclareExportDeclaration; from(params: { comments?: K.CommentKind[] | null; declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | K.TypeAliasKind | K.DeclareOpaqueTypeKind | K.InterfaceDeclarationKind | null; default: boolean; loc?: K.SourceLocationKind | null; source?: K.LiteralKind | null; specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[]; }): namedTypes.DeclareExportDeclaration; } export interface ExportBatchSpecifierBuilder { (): namedTypes.ExportBatchSpecifier; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.ExportBatchSpecifier; } export interface DeclareExportAllDeclarationBuilder { (source?: K.LiteralKind | null): namedTypes.DeclareExportAllDeclaration; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; source?: K.LiteralKind | null; }): namedTypes.DeclareExportAllDeclaration; } export interface InferredPredicateBuilder { (): namedTypes.InferredPredicate; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.InferredPredicate; } export interface DeclaredPredicateBuilder { (value: K.ExpressionKind): namedTypes.DeclaredPredicate; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; value: K.ExpressionKind; }): namedTypes.DeclaredPredicate; } export interface EnumDeclarationBuilder { (id: K.IdentifierKind, body: K.EnumBooleanBodyKind | K.EnumNumberBodyKind | K.EnumStringBodyKind | K.EnumSymbolBodyKind): namedTypes.EnumDeclaration; from(params: { body: K.EnumBooleanBodyKind | K.EnumNumberBodyKind | K.EnumStringBodyKind | K.EnumSymbolBodyKind; comments?: K.CommentKind[] | null; id: K.IdentifierKind; loc?: K.SourceLocationKind | null; }): namedTypes.EnumDeclaration; } export interface EnumBooleanBodyBuilder { (members: K.EnumBooleanMemberKind[], explicitType: boolean): namedTypes.EnumBooleanBody; from(params: { explicitType: boolean; members: K.EnumBooleanMemberKind[]; }): namedTypes.EnumBooleanBody; } export interface EnumNumberBodyBuilder { (members: K.EnumNumberMemberKind[], explicitType: boolean): namedTypes.EnumNumberBody; from(params: { explicitType: boolean; members: K.EnumNumberMemberKind[]; }): namedTypes.EnumNumberBody; } export interface EnumStringBodyBuilder { (members: K.EnumStringMemberKind[] | K.EnumDefaultedMemberKind[], explicitType: boolean): namedTypes.EnumStringBody; from(params: { explicitType: boolean; members: K.EnumStringMemberKind[] | K.EnumDefaultedMemberKind[]; }): namedTypes.EnumStringBody; } export interface EnumSymbolBodyBuilder { (members: K.EnumDefaultedMemberKind[]): namedTypes.EnumSymbolBody; from(params: { members: K.EnumDefaultedMemberKind[]; }): namedTypes.EnumSymbolBody; } export interface EnumBooleanMemberBuilder { (id: K.IdentifierKind, init: K.LiteralKind | boolean): namedTypes.EnumBooleanMember; from(params: { id: K.IdentifierKind; init: K.LiteralKind | boolean; }): namedTypes.EnumBooleanMember; } export interface EnumNumberMemberBuilder { (id: K.IdentifierKind, init: K.LiteralKind): namedTypes.EnumNumberMember; from(params: { id: K.IdentifierKind; init: K.LiteralKind; }): namedTypes.EnumNumberMember; } export interface EnumStringMemberBuilder { (id: K.IdentifierKind, init: K.LiteralKind): namedTypes.EnumStringMember; from(params: { id: K.IdentifierKind; init: K.LiteralKind; }): namedTypes.EnumStringMember; } export interface EnumDefaultedMemberBuilder { (id: K.IdentifierKind): namedTypes.EnumDefaultedMember; from(params: { id: K.IdentifierKind; }): namedTypes.EnumDefaultedMember; } export interface ExportDeclarationBuilder { (defaultParam: boolean, declaration: K.DeclarationKind | K.ExpressionKind | null, specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[], source?: K.LiteralKind | null): namedTypes.ExportDeclaration; from(params: { comments?: K.CommentKind[] | null; declaration: K.DeclarationKind | K.ExpressionKind | null; default: boolean; loc?: K.SourceLocationKind | null; source?: K.LiteralKind | null; specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[]; }): namedTypes.ExportDeclaration; } export interface BlockBuilder { (value: string, leading?: boolean, trailing?: boolean): namedTypes.Block; from(params: { leading?: boolean; loc?: K.SourceLocationKind | null; trailing?: boolean; value: string; }): namedTypes.Block; } export interface LineBuilder { (value: string, leading?: boolean, trailing?: boolean): namedTypes.Line; from(params: { leading?: boolean; loc?: K.SourceLocationKind | null; trailing?: boolean; value: string; }): namedTypes.Line; } export interface NoopBuilder { (): namedTypes.Noop; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.Noop; } export interface DoExpressionBuilder { (body: K.StatementKind[]): namedTypes.DoExpression; from(params: { body: K.StatementKind[]; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.DoExpression; } export interface BindExpressionBuilder { (object: K.ExpressionKind | null, callee: K.ExpressionKind): namedTypes.BindExpression; from(params: { callee: K.ExpressionKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; object: K.ExpressionKind | null; }): namedTypes.BindExpression; } export interface ParenthesizedExpressionBuilder { (expression: K.ExpressionKind): namedTypes.ParenthesizedExpression; from(params: { comments?: K.CommentKind[] | null; expression: K.ExpressionKind; loc?: K.SourceLocationKind | null; }): namedTypes.ParenthesizedExpression; } export interface ExportNamespaceSpecifierBuilder { (exported: K.IdentifierKind): namedTypes.ExportNamespaceSpecifier; from(params: { comments?: K.CommentKind[] | null; exported: K.IdentifierKind; loc?: K.SourceLocationKind | null; }): namedTypes.ExportNamespaceSpecifier; } export interface ExportDefaultSpecifierBuilder { (exported: K.IdentifierKind): namedTypes.ExportDefaultSpecifier; from(params: { comments?: K.CommentKind[] | null; exported: K.IdentifierKind; loc?: K.SourceLocationKind | null; }): namedTypes.ExportDefaultSpecifier; } export interface CommentBlockBuilder { (value: string, leading?: boolean, trailing?: boolean): namedTypes.CommentBlock; from(params: { leading?: boolean; loc?: K.SourceLocationKind | null; trailing?: boolean; value: string; }): namedTypes.CommentBlock; } export interface CommentLineBuilder { (value: string, leading?: boolean, trailing?: boolean): namedTypes.CommentLine; from(params: { leading?: boolean; loc?: K.SourceLocationKind | null; trailing?: boolean; value: string; }): namedTypes.CommentLine; } export interface DirectiveBuilder { (value: K.DirectiveLiteralKind): namedTypes.Directive; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; value: K.DirectiveLiteralKind; }): namedTypes.Directive; } export interface DirectiveLiteralBuilder { (value?: string): namedTypes.DirectiveLiteral; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; value?: string; }): namedTypes.DirectiveLiteral; } export interface InterpreterDirectiveBuilder { (value: string): namedTypes.InterpreterDirective; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; value: string; }): namedTypes.InterpreterDirective; } export interface StringLiteralBuilder { (value: string): namedTypes.StringLiteral; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; regex?: { pattern: string; flags: string; } | null; value: string; }): namedTypes.StringLiteral; } export interface NumericLiteralBuilder { (value: number): namedTypes.NumericLiteral; from(params: { comments?: K.CommentKind[] | null; extra?: { rawValue: number; raw: string; }; loc?: K.SourceLocationKind | null; raw?: string | null; regex?: { pattern: string; flags: string; } | null; value: number; }): namedTypes.NumericLiteral; } export interface BigIntLiteralBuilder { (value: string | number): namedTypes.BigIntLiteral; from(params: { comments?: K.CommentKind[] | null; extra?: { rawValue: string; raw: string; }; loc?: K.SourceLocationKind | null; regex?: { pattern: string; flags: string; } | null; value: string | number; }): namedTypes.BigIntLiteral; } export interface NullLiteralBuilder { (): namedTypes.NullLiteral; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; regex?: { pattern: string; flags: string; } | null; value?: null; }): namedTypes.NullLiteral; } export interface BooleanLiteralBuilder { (value: boolean): namedTypes.BooleanLiteral; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; regex?: { pattern: string; flags: string; } | null; value: boolean; }): namedTypes.BooleanLiteral; } export interface RegExpLiteralBuilder { (pattern: string, flags: string): namedTypes.RegExpLiteral; from(params: { comments?: K.CommentKind[] | null; flags: string; loc?: K.SourceLocationKind | null; pattern: string; regex?: { pattern: string; flags: string; } | null; value?: RegExp; }): namedTypes.RegExpLiteral; } export interface ObjectMethodBuilder { (kind: "method" | "get" | "set", key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, params: K.PatternKind[], body: K.BlockStatementKind, computed?: boolean): namedTypes.ObjectMethod; from(params: { accessibility?: K.LiteralKind | null; async?: boolean; body: K.BlockStatementKind; comments?: K.CommentKind[] | null; computed?: boolean; decorators?: K.DecoratorKind[] | null; defaults?: (K.ExpressionKind | null)[]; expression?: boolean; generator?: boolean; id?: K.IdentifierKind | null; key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind; kind: "method" | "get" | "set"; 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.ObjectMethod; } export interface ClassMethodBuilder { (kind: "get" | "set" | "method" | "constructor" | undefined, key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, params: K.PatternKind[], body: K.BlockStatementKind, computed?: boolean, staticParam?: boolean | null): namedTypes.ClassMethod; from(params: { abstract?: boolean | null; access?: "public" | "private" | "protected" | null; accessibility?: "public" | "private" | "protected" | null; async?: boolean; body: K.BlockStatementKind; comments?: K.CommentKind[] | null; computed?: boolean; decorators?: K.DecoratorKind[] | null; defaults?: (K.ExpressionKind | null)[]; expression?: boolean; generator?: boolean; id?: K.IdentifierKind | null; key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind; kind?: "get" | "set" | "method" | "constructor"; loc?: K.SourceLocationKind | null; optional?: boolean | null; params: K.PatternKind[]; predicate?: K.FlowPredicateKind | null; rest?: K.IdentifierKind | null; returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null; static?: boolean | null; typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null; }): namedTypes.ClassMethod; } export interface ClassPrivateMethodBuilder { (key: K.PrivateNameKind, params: K.PatternKind[], body: K.BlockStatementKind, kind?: "get" | "set" | "method" | "constructor", computed?: boolean, staticParam?: boolean | null): namedTypes.ClassPrivateMethod; from(params: { abstract?: boolean | null; access?: "public" | "private" | "protected" | null; accessibility?: "public" | "private" | "protected" | null; async?: boolean; body: K.BlockStatementKind; comments?: K.CommentKind[] | null; computed?: boolean; decorators?: K.DecoratorKind[] | null; defaults?: (K.ExpressionKind | null)[]; expression?: boolean; generator?: boolean; id?: K.IdentifierKind | null; key: K.PrivateNameKind; kind?: "get" | "set" | "method" | "constructor"; loc?: K.SourceLocationKind | null; optional?: boolean | null; params: K.PatternKind[]; predicate?: K.FlowPredicateKind | null; rest?: K.IdentifierKind | null; returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null; static?: boolean | null; typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null; }): namedTypes.ClassPrivateMethod; } export interface RestPropertyBuilder { (argument: K.ExpressionKind): namedTypes.RestProperty; from(params: { argument: K.ExpressionKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.RestProperty; } export interface ForAwaitStatementBuilder { (left: K.VariableDeclarationKind | K.ExpressionKind, right: K.ExpressionKind, body: K.StatementKind): namedTypes.ForAwaitStatement; from(params: { body: K.StatementKind; comments?: K.CommentKind[] | null; left: K.VariableDeclarationKind | K.ExpressionKind; loc?: K.SourceLocationKind | null; right: K.ExpressionKind; }): namedTypes.ForAwaitStatement; } export interface ImportBuilder { (): namedTypes.Import; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.Import; } export interface TSQualifiedNameBuilder { (left: K.IdentifierKind | K.TSQualifiedNameKind, right: K.IdentifierKind | K.TSQualifiedNameKind): namedTypes.TSQualifiedName; from(params: { comments?: K.CommentKind[] | null; left: K.IdentifierKind | K.TSQualifiedNameKind; loc?: K.SourceLocationKind | null; right: K.IdentifierKind | K.TSQualifiedNameKind; }): namedTypes.TSQualifiedName; } export interface TSTypeReferenceBuilder { (typeName: K.IdentifierKind | K.TSQualifiedNameKind, typeParameters?: K.TSTypeParameterInstantiationKind | null): namedTypes.TSTypeReference; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; typeName: K.IdentifierKind | K.TSQualifiedNameKind; typeParameters?: K.TSTypeParameterInstantiationKind | null; }): namedTypes.TSTypeReference; } export interface TSAsExpressionBuilder { (expression: K.ExpressionKind, typeAnnotation: K.TSTypeKind): namedTypes.TSAsExpression; from(params: { comments?: K.CommentKind[] | null; expression: K.ExpressionKind; extra?: { parenthesized: boolean; } | null; loc?: K.SourceLocationKind | null; typeAnnotation: K.TSTypeKind; }): namedTypes.TSAsExpression; } export interface TSNonNullExpressionBuilder { (expression: K.ExpressionKind): namedTypes.TSNonNullExpression; from(params: { comments?: K.CommentKind[] | null; expression: K.ExpressionKind; loc?: K.SourceLocationKind | null; }): namedTypes.TSNonNullExpression; } export interface TSAnyKeywordBuilder { (): namedTypes.TSAnyKeyword; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSAnyKeyword; } export interface TSBigIntKeywordBuilder { (): namedTypes.TSBigIntKeyword; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSBigIntKeyword; } export interface TSBooleanKeywordBuilder { (): namedTypes.TSBooleanKeyword; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSBooleanKeyword; } export interface TSNeverKeywordBuilder { (): namedTypes.TSNeverKeyword; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSNeverKeyword; } export interface TSNullKeywordBuilder { (): namedTypes.TSNullKeyword; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSNullKeyword; } export interface TSNumberKeywordBuilder { (): namedTypes.TSNumberKeyword; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSNumberKeyword; } export interface TSObjectKeywordBuilder { (): namedTypes.TSObjectKeyword; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSObjectKeyword; } export interface TSStringKeywordBuilder { (): namedTypes.TSStringKeyword; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSStringKeyword; } export interface TSSymbolKeywordBuilder { (): namedTypes.TSSymbolKeyword; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSSymbolKeyword; } export interface TSUndefinedKeywordBuilder { (): namedTypes.TSUndefinedKeyword; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSUndefinedKeyword; } export interface TSUnknownKeywordBuilder { (): namedTypes.TSUnknownKeyword; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSUnknownKeyword; } export interface TSVoidKeywordBuilder { (): namedTypes.TSVoidKeyword; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSVoidKeyword; } export interface TSThisTypeBuilder { (): namedTypes.TSThisType; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSThisType; } export interface TSArrayTypeBuilder { (elementType: K.TSTypeKind): namedTypes.TSArrayType; from(params: { comments?: K.CommentKind[] | null; elementType: K.TSTypeKind; loc?: K.SourceLocationKind | null; }): namedTypes.TSArrayType; } export interface TSLiteralTypeBuilder { (literal: K.NumericLiteralKind | K.StringLiteralKind | K.BooleanLiteralKind | K.TemplateLiteralKind | K.UnaryExpressionKind): namedTypes.TSLiteralType; from(params: { comments?: K.CommentKind[] | null; literal: K.NumericLiteralKind | K.StringLiteralKind | K.BooleanLiteralKind | K.TemplateLiteralKind | K.UnaryExpressionKind; loc?: K.SourceLocationKind | null; }): namedTypes.TSLiteralType; } export interface TSUnionTypeBuilder { (types: K.TSTypeKind[]): namedTypes.TSUnionType; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; types: K.TSTypeKind[]; }): namedTypes.TSUnionType; } export interface TSIntersectionTypeBuilder { (types: K.TSTypeKind[]): namedTypes.TSIntersectionType; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; types: K.TSTypeKind[]; }): namedTypes.TSIntersectionType; } export interface TSConditionalTypeBuilder { (checkType: K.TSTypeKind, extendsType: K.TSTypeKind, trueType: K.TSTypeKind, falseType: K.TSTypeKind): namedTypes.TSConditionalType; from(params: { checkType: K.TSTypeKind; comments?: K.CommentKind[] | null; extendsType: K.TSTypeKind; falseType: K.TSTypeKind; loc?: K.SourceLocationKind | null; trueType: K.TSTypeKind; }): namedTypes.TSConditionalType; } export interface TSInferTypeBuilder { (typeParameter: K.TSTypeParameterKind): namedTypes.TSInferType; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; typeParameter: K.TSTypeParameterKind; }): namedTypes.TSInferType; } export interface TSTypeParameterBuilder { (name: string, constraint?: K.TSTypeKind | undefined, defaultParam?: K.TSTypeKind | undefined): namedTypes.TSTypeParameter; from(params: { comments?: K.CommentKind[] | null; constraint?: K.TSTypeKind | undefined; default?: K.TSTypeKind | undefined; loc?: K.SourceLocationKind | null; name: string; optional?: boolean; typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null; }): namedTypes.TSTypeParameter; } export interface TSParenthesizedTypeBuilder { (typeAnnotation: K.TSTypeKind): namedTypes.TSParenthesizedType; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; typeAnnotation: K.TSTypeKind; }): namedTypes.TSParenthesizedType; } export interface TSFunctionTypeBuilder { (parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[]): namedTypes.TSFunctionType; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[]; typeAnnotation?: K.TSTypeAnnotationKind | null; typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined; }): namedTypes.TSFunctionType; } export interface TSConstructorTypeBuilder { (parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[]): namedTypes.TSConstructorType; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[]; typeAnnotation?: K.TSTypeAnnotationKind | null; typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined; }): namedTypes.TSConstructorType; } export interface TSDeclareFunctionBuilder { (id: K.IdentifierKind | null | undefined, params: K.PatternKind[], returnType?: K.TSTypeAnnotationKind | K.NoopKind | null): namedTypes.TSDeclareFunction; from(params: { async?: boolean; comments?: K.CommentKind[] | null; declare?: boolean; generator?: boolean; id?: K.IdentifierKind | null; loc?: K.SourceLocationKind | null; params: K.PatternKind[]; returnType?: K.TSTypeAnnotationKind | K.NoopKind | null; typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined; }): namedTypes.TSDeclareFunction; } export interface TSDeclareMethodBuilder { (key: K.IdentifierKind | K.StringLiteralKind | K.NumericLiteralKind | K.ExpressionKind, params: K.PatternKind[], returnType?: K.TSTypeAnnotationKind | K.NoopKind | null): namedTypes.TSDeclareMethod; from(params: { abstract?: boolean; access?: "public" | "private" | "protected" | undefined; accessibility?: "public" | "private" | "protected" | undefined; async?: boolean; comments?: K.CommentKind[] | null; computed?: boolean; decorators?: K.DecoratorKind[] | null; generator?: boolean; key: K.IdentifierKind | K.StringLiteralKind | K.NumericLiteralKind | K.ExpressionKind; kind?: "get" | "set" | "method" | "constructor"; loc?: K.SourceLocationKind | null; optional?: boolean; params: K.PatternKind[]; returnType?: K.TSTypeAnnotationKind | K.NoopKind | null; static?: boolean; typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined; }): namedTypes.TSDeclareMethod; } export interface TSMappedTypeBuilder { (typeParameter: K.TSTypeParameterKind, typeAnnotation?: K.TSTypeKind | null): namedTypes.TSMappedType; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; optional?: boolean | "+" | "-"; readonly?: boolean | "+" | "-"; typeAnnotation?: K.TSTypeKind | null; typeParameter: K.TSTypeParameterKind; }): namedTypes.TSMappedType; } export interface TSTupleTypeBuilder { (elementTypes: (K.TSTypeKind | K.TSNamedTupleMemberKind)[]): namedTypes.TSTupleType; from(params: { comments?: K.CommentKind[] | null; elementTypes: (K.TSTypeKind | K.TSNamedTupleMemberKind)[]; loc?: K.SourceLocationKind | null; }): namedTypes.TSTupleType; } export interface TSNamedTupleMemberBuilder { (label: K.IdentifierKind, elementType: K.TSTypeKind, optional?: boolean): namedTypes.TSNamedTupleMember; from(params: { comments?: K.CommentKind[] | null; elementType: K.TSTypeKind; label: K.IdentifierKind; loc?: K.SourceLocationKind | null; optional?: boolean; }): namedTypes.TSNamedTupleMember; } export interface TSRestTypeBuilder { (typeAnnotation: K.TSTypeKind): namedTypes.TSRestType; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; typeAnnotation: K.TSTypeKind; }): namedTypes.TSRestType; } export interface TSOptionalTypeBuilder { (typeAnnotation: K.TSTypeKind): namedTypes.TSOptionalType; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; typeAnnotation: K.TSTypeKind; }): namedTypes.TSOptionalType; } export interface TSIndexedAccessTypeBuilder { (objectType: K.TSTypeKind, indexType: K.TSTypeKind): namedTypes.TSIndexedAccessType; from(params: { comments?: K.CommentKind[] | null; indexType: K.TSTypeKind; loc?: K.SourceLocationKind | null; objectType: K.TSTypeKind; }): namedTypes.TSIndexedAccessType; } export interface TSTypeOperatorBuilder { (operator: string): namedTypes.TSTypeOperator; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; operator: string; typeAnnotation: K.TSTypeKind; }): namedTypes.TSTypeOperator; } export interface TSIndexSignatureBuilder { (parameters: K.IdentifierKind[], typeAnnotation?: K.TSTypeAnnotationKind | null): namedTypes.TSIndexSignature; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; parameters: K.IdentifierKind[]; readonly?: boolean; typeAnnotation?: K.TSTypeAnnotationKind | null; }): namedTypes.TSIndexSignature; } export interface TSPropertySignatureBuilder { (key: K.ExpressionKind, typeAnnotation?: K.TSTypeAnnotationKind | null, optional?: boolean): namedTypes.TSPropertySignature; from(params: { comments?: K.CommentKind[] | null; computed?: boolean; initializer?: K.ExpressionKind | null; key: K.ExpressionKind; loc?: K.SourceLocationKind | null; optional?: boolean; readonly?: boolean; typeAnnotation?: K.TSTypeAnnotationKind | null; }): namedTypes.TSPropertySignature; } export interface TSMethodSignatureBuilder { (key: K.ExpressionKind, parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[], typeAnnotation?: K.TSTypeAnnotationKind | null): namedTypes.TSMethodSignature; from(params: { comments?: K.CommentKind[] | null; computed?: boolean; key: K.ExpressionKind; loc?: K.SourceLocationKind | null; optional?: boolean; parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[]; typeAnnotation?: K.TSTypeAnnotationKind | null; typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined; }): namedTypes.TSMethodSignature; } export interface TSTypePredicateBuilder { (parameterName: K.IdentifierKind | K.TSThisTypeKind, typeAnnotation?: K.TSTypeAnnotationKind | null, asserts?: boolean): namedTypes.TSTypePredicate; from(params: { asserts?: boolean; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; parameterName: K.IdentifierKind | K.TSThisTypeKind; typeAnnotation?: K.TSTypeAnnotationKind | null; }): namedTypes.TSTypePredicate; } export interface TSCallSignatureDeclarationBuilder { (parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[], typeAnnotation?: K.TSTypeAnnotationKind | null): namedTypes.TSCallSignatureDeclaration; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[]; typeAnnotation?: K.TSTypeAnnotationKind | null; typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined; }): namedTypes.TSCallSignatureDeclaration; } export interface TSConstructSignatureDeclarationBuilder { (parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[], typeAnnotation?: K.TSTypeAnnotationKind | null): namedTypes.TSConstructSignatureDeclaration; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[]; typeAnnotation?: K.TSTypeAnnotationKind | null; typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined; }): namedTypes.TSConstructSignatureDeclaration; } export interface TSEnumMemberBuilder { (id: K.IdentifierKind | K.StringLiteralKind, initializer?: K.ExpressionKind | null): namedTypes.TSEnumMember; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind | K.StringLiteralKind; initializer?: K.ExpressionKind | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSEnumMember; } export interface TSTypeQueryBuilder { (exprName: K.IdentifierKind | K.TSQualifiedNameKind | K.TSImportTypeKind): namedTypes.TSTypeQuery; from(params: { comments?: K.CommentKind[] | null; exprName: K.IdentifierKind | K.TSQualifiedNameKind | K.TSImportTypeKind; loc?: K.SourceLocationKind | null; }): namedTypes.TSTypeQuery; } export interface TSImportTypeBuilder { (argument: K.StringLiteralKind, qualifier?: K.IdentifierKind | K.TSQualifiedNameKind | undefined, typeParameters?: K.TSTypeParameterInstantiationKind | null): namedTypes.TSImportType; from(params: { argument: K.StringLiteralKind; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; qualifier?: K.IdentifierKind | K.TSQualifiedNameKind | undefined; typeParameters?: K.TSTypeParameterInstantiationKind | null; }): namedTypes.TSImportType; } export interface TSTypeLiteralBuilder { (members: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[]): namedTypes.TSTypeLiteral; from(params: { comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; members: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[]; }): namedTypes.TSTypeLiteral; } export interface TSTypeAssertionBuilder { (typeAnnotation: K.TSTypeKind, expression: K.ExpressionKind): namedTypes.TSTypeAssertion; from(params: { comments?: K.CommentKind[] | null; expression: K.ExpressionKind; extra?: { parenthesized: boolean; } | null; loc?: K.SourceLocationKind | null; typeAnnotation: K.TSTypeKind; }): namedTypes.TSTypeAssertion; } export interface TSEnumDeclarationBuilder { (id: K.IdentifierKind, members: K.TSEnumMemberKind[]): namedTypes.TSEnumDeclaration; from(params: { comments?: K.CommentKind[] | null; const?: boolean; declare?: boolean; id: K.IdentifierKind; initializer?: K.ExpressionKind | null; loc?: K.SourceLocationKind | null; members: K.TSEnumMemberKind[]; }): namedTypes.TSEnumDeclaration; } export interface TSTypeAliasDeclarationBuilder { (id: K.IdentifierKind, typeAnnotation: K.TSTypeKind): namedTypes.TSTypeAliasDeclaration; from(params: { comments?: K.CommentKind[] | null; declare?: boolean; id: K.IdentifierKind; loc?: K.SourceLocationKind | null; typeAnnotation: K.TSTypeKind; typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined; }): namedTypes.TSTypeAliasDeclaration; } export interface TSModuleBlockBuilder { (body: K.StatementKind[]): namedTypes.TSModuleBlock; from(params: { body: K.StatementKind[]; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSModuleBlock; } export interface TSModuleDeclarationBuilder { (id: K.StringLiteralKind | K.IdentifierKind | K.TSQualifiedNameKind, body?: K.TSModuleBlockKind | K.TSModuleDeclarationKind | null): namedTypes.TSModuleDeclaration; from(params: { body?: K.TSModuleBlockKind | K.TSModuleDeclarationKind | null; comments?: K.CommentKind[] | null; declare?: boolean; global?: boolean; id: K.StringLiteralKind | K.IdentifierKind | K.TSQualifiedNameKind; loc?: K.SourceLocationKind | null; }): namedTypes.TSModuleDeclaration; } export interface TSImportEqualsDeclarationBuilder { (id: K.IdentifierKind, moduleReference: K.IdentifierKind | K.TSQualifiedNameKind | K.TSExternalModuleReferenceKind): namedTypes.TSImportEqualsDeclaration; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind; isExport?: boolean; loc?: K.SourceLocationKind | null; moduleReference: K.IdentifierKind | K.TSQualifiedNameKind | K.TSExternalModuleReferenceKind; }): namedTypes.TSImportEqualsDeclaration; } export interface TSExternalModuleReferenceBuilder { (expression: K.StringLiteralKind): namedTypes.TSExternalModuleReference; from(params: { comments?: K.CommentKind[] | null; expression: K.StringLiteralKind; loc?: K.SourceLocationKind | null; }): namedTypes.TSExternalModuleReference; } export interface TSExportAssignmentBuilder { (expression: K.ExpressionKind): namedTypes.TSExportAssignment; from(params: { comments?: K.CommentKind[] | null; expression: K.ExpressionKind; loc?: K.SourceLocationKind | null; }): namedTypes.TSExportAssignment; } export interface TSNamespaceExportDeclarationBuilder { (id: K.IdentifierKind): namedTypes.TSNamespaceExportDeclaration; from(params: { comments?: K.CommentKind[] | null; id: K.IdentifierKind; loc?: K.SourceLocationKind | null; }): namedTypes.TSNamespaceExportDeclaration; } export interface TSInterfaceBodyBuilder { (body: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[]): namedTypes.TSInterfaceBody; from(params: { body: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[]; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; }): namedTypes.TSInterfaceBody; } export interface TSInterfaceDeclarationBuilder { (id: K.IdentifierKind | K.TSQualifiedNameKind, body: K.TSInterfaceBodyKind): namedTypes.TSInterfaceDeclaration; from(params: { body: K.TSInterfaceBodyKind; comments?: K.CommentKind[] | null; declare?: boolean; extends?: K.TSExpressionWithTypeArgumentsKind[] | null; id: K.IdentifierKind | K.TSQualifiedNameKind; loc?: K.SourceLocationKind | null; typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined; }): namedTypes.TSInterfaceDeclaration; } export interface TSParameterPropertyBuilder { (parameter: K.IdentifierKind | K.AssignmentPatternKind): namedTypes.TSParameterProperty; from(params: { accessibility?: "public" | "private" | "protected" | undefined; comments?: K.CommentKind[] | null; loc?: K.SourceLocationKind | null; parameter: K.IdentifierKind | K.AssignmentPatternKind; readonly?: boolean; }): namedTypes.TSParameterProperty; } export interface builders { file: FileBuilder; program: ProgramBuilder; identifier: IdentifierBuilder; blockStatement: BlockStatementBuilder; emptyStatement: EmptyStatementBuilder; expressionStatement: ExpressionStatementBuilder; ifStatement: IfStatementBuilder; labeledStatement: LabeledStatementBuilder; breakStatement: BreakStatementBuilder; continueStatement: ContinueStatementBuilder; withStatement: WithStatementBuilder; switchStatement: SwitchStatementBuilder; switchCase: SwitchCaseBuilder; returnStatement: ReturnStatementBuilder; throwStatement: ThrowStatementBuilder; tryStatement: TryStatementBuilder; catchClause: CatchClauseBuilder; whileStatement: WhileStatementBuilder; doWhileStatement: DoWhileStatementBuilder; forStatement: ForStatementBuilder; variableDeclaration: VariableDeclarationBuilder; forInStatement: ForInStatementBuilder; debuggerStatement: DebuggerStatementBuilder; functionDeclaration: FunctionDeclarationBuilder; functionExpression: FunctionExpressionBuilder; variableDeclarator: VariableDeclaratorBuilder; thisExpression: ThisExpressionBuilder; arrayExpression: ArrayExpressionBuilder; objectExpression: ObjectExpressionBuilder; property: PropertyBuilder; literal: LiteralBuilder; sequenceExpression: SequenceExpressionBuilder; unaryExpression: UnaryExpressionBuilder; binaryExpression: BinaryExpressionBuilder; assignmentExpression: AssignmentExpressionBuilder; memberExpression: MemberExpressionBuilder; updateExpression: UpdateExpressionBuilder; logicalExpression: LogicalExpressionBuilder; conditionalExpression: ConditionalExpressionBuilder; newExpression: NewExpressionBuilder; callExpression: CallExpressionBuilder; restElement: RestElementBuilder; typeAnnotation: TypeAnnotationBuilder; tsTypeAnnotation: TSTypeAnnotationBuilder; spreadElementPattern: SpreadElementPatternBuilder; arrowFunctionExpression: ArrowFunctionExpressionBuilder; forOfStatement: ForOfStatementBuilder; yieldExpression: YieldExpressionBuilder; generatorExpression: GeneratorExpressionBuilder; comprehensionBlock: ComprehensionBlockBuilder; comprehensionExpression: ComprehensionExpressionBuilder; objectProperty: ObjectPropertyBuilder; propertyPattern: PropertyPatternBuilder; objectPattern: ObjectPatternBuilder; arrayPattern: ArrayPatternBuilder; spreadElement: SpreadElementBuilder; assignmentPattern: AssignmentPatternBuilder; methodDefinition: MethodDefinitionBuilder; classPropertyDefinition: ClassPropertyDefinitionBuilder; classProperty: ClassPropertyBuilder; classBody: ClassBodyBuilder; classDeclaration: ClassDeclarationBuilder; classExpression: ClassExpressionBuilder; super: SuperBuilder; importSpecifier: ImportSpecifierBuilder; importDefaultSpecifier: ImportDefaultSpecifierBuilder; importNamespaceSpecifier: ImportNamespaceSpecifierBuilder; importDeclaration: ImportDeclarationBuilder; exportNamedDeclaration: ExportNamedDeclarationBuilder; exportSpecifier: ExportSpecifierBuilder; exportDefaultDeclaration: ExportDefaultDeclarationBuilder; exportAllDeclaration: ExportAllDeclarationBuilder; taggedTemplateExpression: TaggedTemplateExpressionBuilder; templateLiteral: TemplateLiteralBuilder; templateElement: TemplateElementBuilder; metaProperty: MetaPropertyBuilder; awaitExpression: AwaitExpressionBuilder; spreadProperty: SpreadPropertyBuilder; spreadPropertyPattern: SpreadPropertyPatternBuilder; importExpression: ImportExpressionBuilder; chainExpression: ChainExpressionBuilder; optionalCallExpression: OptionalCallExpressionBuilder; optionalMemberExpression: OptionalMemberExpressionBuilder; jsxAttribute: JSXAttributeBuilder; jsxIdentifier: JSXIdentifierBuilder; jsxNamespacedName: JSXNamespacedNameBuilder; jsxExpressionContainer: JSXExpressionContainerBuilder; jsxElement: JSXElementBuilder; jsxFragment: JSXFragmentBuilder; jsxMemberExpression: JSXMemberExpressionBuilder; jsxSpreadAttribute: JSXSpreadAttributeBuilder; jsxEmptyExpression: JSXEmptyExpressionBuilder; jsxText: JSXTextBuilder; jsxSpreadChild: JSXSpreadChildBuilder; jsxOpeningElement: JSXOpeningElementBuilder; jsxClosingElement: JSXClosingElementBuilder; jsxOpeningFragment: JSXOpeningFragmentBuilder; jsxClosingFragment: JSXClosingFragmentBuilder; decorator: DecoratorBuilder; privateName: PrivateNameBuilder; classPrivateProperty: ClassPrivatePropertyBuilder; typeParameterDeclaration: TypeParameterDeclarationBuilder; tsTypeParameterDeclaration: TSTypeParameterDeclarationBuilder; typeParameterInstantiation: TypeParameterInstantiationBuilder; tsTypeParameterInstantiation: TSTypeParameterInstantiationBuilder; classImplements: ClassImplementsBuilder; tsExpressionWithTypeArguments: TSExpressionWithTypeArgumentsBuilder; anyTypeAnnotation: AnyTypeAnnotationBuilder; emptyTypeAnnotation: EmptyTypeAnnotationBuilder; mixedTypeAnnotation: MixedTypeAnnotationBuilder; voidTypeAnnotation: VoidTypeAnnotationBuilder; symbolTypeAnnotation: SymbolTypeAnnotationBuilder; numberTypeAnnotation: NumberTypeAnnotationBuilder; bigIntTypeAnnotation: BigIntTypeAnnotationBuilder; numberLiteralTypeAnnotation: NumberLiteralTypeAnnotationBuilder; numericLiteralTypeAnnotation: NumericLiteralTypeAnnotationBuilder; bigIntLiteralTypeAnnotation: BigIntLiteralTypeAnnotationBuilder; stringTypeAnnotation: StringTypeAnnotationBuilder; stringLiteralTypeAnnotation: StringLiteralTypeAnnotationBuilder; booleanTypeAnnotation: BooleanTypeAnnotationBuilder; booleanLiteralTypeAnnotation: BooleanLiteralTypeAnnotationBuilder; nullableTypeAnnotation: NullableTypeAnnotationBuilder; nullLiteralTypeAnnotation: NullLiteralTypeAnnotationBuilder; nullTypeAnnotation: NullTypeAnnotationBuilder; thisTypeAnnotation: ThisTypeAnnotationBuilder; existsTypeAnnotation: ExistsTypeAnnotationBuilder; existentialTypeParam: ExistentialTypeParamBuilder; functionTypeAnnotation: FunctionTypeAnnotationBuilder; functionTypeParam: FunctionTypeParamBuilder; arrayTypeAnnotation: ArrayTypeAnnotationBuilder; objectTypeAnnotation: ObjectTypeAnnotationBuilder; objectTypeProperty: ObjectTypePropertyBuilder; objectTypeSpreadProperty: ObjectTypeSpreadPropertyBuilder; objectTypeIndexer: ObjectTypeIndexerBuilder; objectTypeCallProperty: ObjectTypeCallPropertyBuilder; objectTypeInternalSlot: ObjectTypeInternalSlotBuilder; variance: VarianceBuilder; qualifiedTypeIdentifier: QualifiedTypeIdentifierBuilder; genericTypeAnnotation: GenericTypeAnnotationBuilder; memberTypeAnnotation: MemberTypeAnnotationBuilder; unionTypeAnnotation: UnionTypeAnnotationBuilder; intersectionTypeAnnotation: IntersectionTypeAnnotationBuilder; typeofTypeAnnotation: TypeofTypeAnnotationBuilder; typeParameter: TypeParameterBuilder; interfaceTypeAnnotation: InterfaceTypeAnnotationBuilder; interfaceExtends: InterfaceExtendsBuilder; interfaceDeclaration: InterfaceDeclarationBuilder; declareInterface: DeclareInterfaceBuilder; typeAlias: TypeAliasBuilder; declareTypeAlias: DeclareTypeAliasBuilder; opaqueType: OpaqueTypeBuilder; declareOpaqueType: DeclareOpaqueTypeBuilder; typeCastExpression: TypeCastExpressionBuilder; tupleTypeAnnotation: TupleTypeAnnotationBuilder; declareVariable: DeclareVariableBuilder; declareFunction: DeclareFunctionBuilder; declareClass: DeclareClassBuilder; declareModule: DeclareModuleBuilder; declareModuleExports: DeclareModuleExportsBuilder; declareExportDeclaration: DeclareExportDeclarationBuilder; exportBatchSpecifier: ExportBatchSpecifierBuilder; declareExportAllDeclaration: DeclareExportAllDeclarationBuilder; inferredPredicate: InferredPredicateBuilder; declaredPredicate: DeclaredPredicateBuilder; enumDeclaration: EnumDeclarationBuilder; enumBooleanBody: EnumBooleanBodyBuilder; enumNumberBody: EnumNumberBodyBuilder; enumStringBody: EnumStringBodyBuilder; enumSymbolBody: EnumSymbolBodyBuilder; enumBooleanMember: EnumBooleanMemberBuilder; enumNumberMember: EnumNumberMemberBuilder; enumStringMember: EnumStringMemberBuilder; enumDefaultedMember: EnumDefaultedMemberBuilder; exportDeclaration: ExportDeclarationBuilder; block: BlockBuilder; line: LineBuilder; noop: NoopBuilder; doExpression: DoExpressionBuilder; bindExpression: BindExpressionBuilder; parenthesizedExpression: ParenthesizedExpressionBuilder; exportNamespaceSpecifier: ExportNamespaceSpecifierBuilder; exportDefaultSpecifier: ExportDefaultSpecifierBuilder; commentBlock: CommentBlockBuilder; commentLine: CommentLineBuilder; directive: DirectiveBuilder; directiveLiteral: DirectiveLiteralBuilder; interpreterDirective: InterpreterDirectiveBuilder; stringLiteral: StringLiteralBuilder; numericLiteral: NumericLiteralBuilder; bigIntLiteral: BigIntLiteralBuilder; nullLiteral: NullLiteralBuilder; booleanLiteral: BooleanLiteralBuilder; regExpLiteral: RegExpLiteralBuilder; objectMethod: ObjectMethodBuilder; classMethod: ClassMethodBuilder; classPrivateMethod: ClassPrivateMethodBuilder; restProperty: RestPropertyBuilder; forAwaitStatement: ForAwaitStatementBuilder; import: ImportBuilder; tsQualifiedName: TSQualifiedNameBuilder; tsTypeReference: TSTypeReferenceBuilder; tsAsExpression: TSAsExpressionBuilder; tsNonNullExpression: TSNonNullExpressionBuilder; tsAnyKeyword: TSAnyKeywordBuilder; tsBigIntKeyword: TSBigIntKeywordBuilder; tsBooleanKeyword: TSBooleanKeywordBuilder; tsNeverKeyword: TSNeverKeywordBuilder; tsNullKeyword: TSNullKeywordBuilder; tsNumberKeyword: TSNumberKeywordBuilder; tsObjectKeyword: TSObjectKeywordBuilder; tsStringKeyword: TSStringKeywordBuilder; tsSymbolKeyword: TSSymbolKeywordBuilder; tsUndefinedKeyword: TSUndefinedKeywordBuilder; tsUnknownKeyword: TSUnknownKeywordBuilder; tsVoidKeyword: TSVoidKeywordBuilder; tsThisType: TSThisTypeBuilder; tsArrayType: TSArrayTypeBuilder; tsLiteralType: TSLiteralTypeBuilder; tsUnionType: TSUnionTypeBuilder; tsIntersectionType: TSIntersectionTypeBuilder; tsConditionalType: TSConditionalTypeBuilder; tsInferType: TSInferTypeBuilder; tsTypeParameter: TSTypeParameterBuilder; tsParenthesizedType: TSParenthesizedTypeBuilder; tsFunctionType: TSFunctionTypeBuilder; tsConstructorType: TSConstructorTypeBuilder; tsDeclareFunction: TSDeclareFunctionBuilder; tsDeclareMethod: TSDeclareMethodBuilder; tsMappedType: TSMappedTypeBuilder; tsTupleType: TSTupleTypeBuilder; tsNamedTupleMember: TSNamedTupleMemberBuilder; tsRestType: TSRestTypeBuilder; tsOptionalType: TSOptionalTypeBuilder; tsIndexedAccessType: TSIndexedAccessTypeBuilder; tsTypeOperator: TSTypeOperatorBuilder; tsIndexSignature: TSIndexSignatureBuilder; tsPropertySignature: TSPropertySignatureBuilder; tsMethodSignature: TSMethodSignatureBuilder; tsTypePredicate: TSTypePredicateBuilder; tsCallSignatureDeclaration: TSCallSignatureDeclarationBuilder; tsConstructSignatureDeclaration: TSConstructSignatureDeclarationBuilder; tsEnumMember: TSEnumMemberBuilder; tsTypeQuery: TSTypeQueryBuilder; tsImportType: TSImportTypeBuilder; tsTypeLiteral: TSTypeLiteralBuilder; tsTypeAssertion: TSTypeAssertionBuilder; tsEnumDeclaration: TSEnumDeclarationBuilder; tsTypeAliasDeclaration: TSTypeAliasDeclarationBuilder; tsModuleBlock: TSModuleBlockBuilder; tsModuleDeclaration: TSModuleDeclarationBuilder; tsImportEqualsDeclaration: TSImportEqualsDeclarationBuilder; tsExternalModuleReference: TSExternalModuleReferenceBuilder; tsExportAssignment: TSExportAssignmentBuilder; tsNamespaceExportDeclaration: TSNamespaceExportDeclarationBuilder; tsInterfaceBody: TSInterfaceBodyBuilder; tsInterfaceDeclaration: TSInterfaceDeclarationBuilder; tsParameterProperty: TSParameterPropertyBuilder; [builderName: string]: any; }