typescript
Version:
TypeScript is a language for application scale JavaScript development
413 lines • 66.6 kB
TypeScript
import { NodeFlags } from "#enums/nodeFlags";
import { SyntaxKind } from "#enums/syntaxKind";
import { TokenFlags } from "#enums/tokenFlags";
import type { ArrayBindingPattern, ArrayLiteralExpression, ArrayTypeNode, ArrowFunction, AsExpression, AssertsKeyword, AsteriskToken, AwaitExpression, AwaitKeyword, BigIntLiteral, BinaryExpression, BinaryOperatorToken, BindingElement, BindingName, Block, BreakStatement, CallExpression, CallSignatureDeclaration, CaseBlock, CaseClause, CaseOrDefaultClause, CatchClause, ClassDeclaration, ClassElement, ClassExpression, ClassStaticBlockDeclaration, ColonToken, ComputedPropertyName, ConciseBody, ConditionalExpression, ConditionalTypeNode, ConstructorDeclaration, ConstructorTypeNode, ConstructSignatureDeclaration, ContinueStatement, DebuggerStatement, Decorator, DefaultClause, DeleteExpression, DoStatement, DotDotDotToken, ElementAccessExpression, EmptyStatement, EndOfFile, EntityName, EnumDeclaration, EnumMember, EqualsGreaterThanToken, EqualsToken, ExclamationToken, ExportAssignment, ExportDeclaration, ExportSpecifier, Expression, ExpressionStatement, ExpressionWithTypeArguments, ExternalModuleReference, ForInitializer, ForInStatement, ForOfStatement, ForStatement, FunctionBody, FunctionDeclaration, FunctionExpression, FunctionTypeNode, GetAccessorDeclaration, HeritageClause, Identifier, IfStatement, ImportAttribute, ImportAttributeName, ImportAttributes, ImportClause, ImportDeclaration, ImportEqualsDeclaration, ImportPhaseModifierSyntaxKind, ImportSpecifier, ImportTypeNode, IndexedAccessTypeNode, IndexSignatureDeclaration, InferTypeNode, InterfaceDeclaration, IntersectionTypeNode, JSDoc, JSDocAllType, JSDocAugmentsTag, JSDocCallbackTag, JSDocComment, JSDocDeprecatedTag, JSDocFullName, JSDocImplementsTag, JSDocImportTag, JSDocLink, JSDocLinkCode, JSDocLinkPlain, JSDocNameReference, JSDocNonNullableType, JSDocNullableType, JSDocOptionalType, JSDocOverloadTag, JSDocOverrideTag, JSDocParameterTag, JSDocPrivateTag, JSDocPropertyTag, JSDocProtectedTag, JSDocPublicTag, JSDocReadonlyTag, JSDocReturnTag, JSDocSatisfiesTag, JSDocSeeTag, JSDocSignature, JSDocTag, JSDocTemplateTag, JSDocText, JSDocThisTag, JSDocThrowsTag, JSDocTypedefTag, JSDocTypeExpression, JSDocTypeLiteral, JSDocTypeTag, JSDocUnknownTag, JSDocVariadicType, JsxAttribute, JsxAttributeLike, JsxAttributeName, JsxAttributes, JsxAttributeValue, JsxChild, JsxClosingElement, JsxClosingFragment, JsxElement, JsxExpression, JsxFragment, JsxNamespacedName, JsxOpeningElement, JsxOpeningFragment, JsxSelfClosingElement, JsxSpreadAttribute, JsxTagNameExpression, JsxText, KeywordExpression, KeywordExpressionSyntaxKind, KeywordTypeNode, KeywordTypeSyntaxKind, LabeledStatement, LeftHandSideExpression, LiteralTypeNode, MappedTypeNode, MemberName, MetaProperty, MethodDeclaration, MethodSignatureDeclaration, MinusToken, MissingDeclaration, ModifierLike, ModuleBlock, ModuleBody, ModuleDeclaration, ModuleExportName, ModuleName, ModuleReference, NamedExportBindings, NamedExports, NamedImportBindings, NamedImports, NamedTupleMember, NamespaceExport, NamespaceExportDeclaration, NamespaceImport, NewExpression, Node, NodeArray, NonNullExpression, NoSubstitutionTemplateLiteral, NotEmittedStatement, NotEmittedTypeElement, NumericLiteral, ObjectBindingPattern, ObjectLiteralElementLike, ObjectLiteralExpression, OmittedExpression, OptionalTypeNode, ParameterDeclaration, ParenthesizedExpression, ParenthesizedTypeNode, PartiallyEmittedExpression, Path, PlusToken, PostfixUnaryExpression, PrefixUnaryExpression, PrivateIdentifier, PropertyAccessExpression, PropertyAssignment, PropertyDeclaration, PropertyName, PropertySignatureDeclaration, QualifiedName, QuestionDotToken, QuestionToken, ReadonlyKeyword, RegularExpressionLiteral, RestTypeNode, ReturnStatement, SatisfiesExpression, SemicolonClassElement, SetAccessorDeclaration, ShorthandPropertyAssignment, SourceFile, SpreadAssignment, SpreadElement, Statement, StringLiteral, SwitchStatement, SyntaxList, SyntheticExpression, SyntheticReferenceExpression, TaggedTemplateExpression, TemplateExpression, TemplateHead, TemplateLiteral, TemplateLiteralTypeNode, TemplateLiteralTypeSpan, TemplateMiddle, TemplateMiddleOrTail, TemplateSpan, TemplateTail, ThisTypeNode, ThrowStatement, Token, TokenSyntaxKind, TryStatement, TupleTypeNode, TypeAliasDeclaration, TypeAssertion, TypeElement, TypeLiteralNode, TypeNode, TypeOfExpression, TypeOperatorNode, TypeParameterDeclaration, TypePredicateNode, TypePredicateParameterName, TypeQueryNode, TypeReferenceNode, UnionTypeNode, VariableDeclaration, VariableDeclarationList, VariableStatement, VoidExpression, WhileStatement, WithStatement, YieldExpression } from "./ast.ts";
export declare class NodeObject {
readonly kind: SyntaxKind;
flags: NodeFlags;
readonly pos: number;
readonly end: number;
parent: Node;
_data: any;
constructor(kind: SyntaxKind, data: any);
get ambientModuleNames(): any;
get argument(): any;
get argumentExpression(): any;
get arguments(): any;
get assertsModifier(): any;
get asteriskToken(): any;
get attributes(): any;
get awaitModifier(): any;
get block(): any;
get body(): any;
get caseBlock(): any;
get catchClause(): any;
get checkType(): any;
get children(): any;
get className(): any;
get clauses(): any;
get closingElement(): any;
get closingFragment(): any;
get colonToken(): any;
get comment(): any;
get condition(): any;
get constraint(): any;
get containsOnlyTriviaWhiteSpaces(): any;
get declarationList(): any;
get declarations(): any;
get defaultType(): any;
get dotDotDotToken(): any;
get elementType(): any;
get elements(): any;
get elseStatement(): any;
get endOfFileToken(): any;
get equalsGreaterThanToken(): any;
get equalsToken(): any;
get exclamationToken(): any;
get exportClause(): any;
get exprName(): any;
get expression(): any;
get extendsType(): any;
get externalModuleIndicator(): any;
get falseType(): any;
get fileName(): any;
get finallyBlock(): any;
get head(): any;
get heritageClauses(): any;
get importClause(): any;
get imports(): any;
get incrementor(): any;
get indexType(): any;
get initializer(): any;
get isArrayType(): any;
get isBracketed(): any;
get isDeclarationFile(): any;
get isExportEquals(): any;
get isNameFirst(): any;
get isSpread(): any;
get isTypeOf(): any;
get isTypeOnly(): any;
get jsdocPropertyTags(): any;
get keyword(): any;
get keywordToken(): any;
get label(): any;
get languageVariant(): any;
get left(): any;
get libReferenceDirectives(): any;
get literal(): any;
get members(): any;
get modifiers(): any;
get moduleAugmentations(): any;
get moduleReference(): any;
get moduleSpecifier(): any;
get multiLine(): any;
get name(): any;
get nameExpression(): any;
get nameType(): any;
get namedBindings(): any;
get namespace(): any;
get objectAssignmentInitializer(): any;
get objectType(): any;
get openingElement(): any;
get openingFragment(): any;
get operand(): any;
get operator(): any;
get operatorToken(): any;
get parameterName(): any;
get parameters(): any;
get path(): any;
get phaseModifier(): any;
get postfixToken(): any;
get properties(): any;
get propertyName(): any;
get qualifier(): any;
get questionDotToken(): any;
get questionToken(): any;
get rawText(): any;
get readonlyToken(): any;
get referencedFiles(): any;
get right(): any;
get scriptKind(): any;
get statement(): any;
get statements(): any;
get tag(): any;
get tagName(): any;
get tags(): any;
get template(): any;
get templateFlags(): any;
get templateSpans(): any;
get text(): any;
get thenStatement(): any;
get thisArg(): any;
get token(): any;
get tokenCache(): any;
get tokenFlags(): any;
get trueType(): any;
get tryBlock(): any;
get tupleNameSource(): any;
get type(): any;
get typeArguments(): any;
get typeExpression(): any;
get typeName(): any;
get typeParameter(): any;
get typeParameters(): any;
get typeReferenceDirectives(): any;
get types(): any;
get value(): any;
get variableDeclaration(): any;
get whenFalse(): any;
get whenTrue(): any;
forEachChild<T>(visitor: (node: Node) => T, visitArray?: (nodes: NodeArray<Node>) => T): T | undefined;
getSourceFile(): SourceFile;
getStart(sourceFile?: SourceFile, includeJsDocComment?: boolean): number;
getFullStart(): number;
getEnd(): number;
getWidth(sourceFile?: SourceFile): number;
getFullWidth(): number;
getLeadingTriviaWidth(sourceFile?: SourceFile): number;
getFullText(sourceFile?: SourceFile): string;
getText(sourceFile?: SourceFile): string;
}
export declare function createNodeArray<T extends Node>(elements: readonly T[], pos?: number, end?: number): NodeArray<T>;
export declare function cloneNode<T extends Node>(node: T): T;
export declare function createToken<TKind extends TokenSyntaxKind>(kind: TKind): Token<TKind>;
export declare function createIdentifier(text: string): Identifier;
export declare function createPrivateIdentifier(text: string): PrivateIdentifier;
export declare function createQualifiedName(left: EntityName, right: Identifier): QualifiedName;
export declare function createComputedPropertyName(expression: Expression): ComputedPropertyName;
export declare function createDecorator(expression: LeftHandSideExpression): Decorator;
export declare function createEmptyStatement(): EmptyStatement;
export declare function createIfStatement(expression: Expression, thenStatement: Statement, elseStatement?: Statement): IfStatement;
export declare function createDoStatement(statement: Statement, expression: Expression): DoStatement;
export declare function createWhileStatement(expression: Expression, statement: Statement): WhileStatement;
export declare function createForStatement(initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement;
export declare function createBreakStatement(label?: Identifier): BreakStatement;
export declare function createContinueStatement(label?: Identifier): ContinueStatement;
export declare function createReturnStatement(expression?: Expression): ReturnStatement;
export declare function createWithStatement(expression: Expression, statement: Statement): WithStatement;
export declare function createSwitchStatement(expression: Expression, caseBlock: CaseBlock): SwitchStatement;
export declare function createCaseBlock(clauses: readonly CaseOrDefaultClause[]): CaseBlock;
export declare function createThrowStatement(expression: Expression): ThrowStatement;
export declare function createTryStatement(tryBlock: Block, catchClause?: CatchClause, finallyBlock?: Block): TryStatement;
export declare function createCatchClause(variableDeclaration: VariableDeclaration | undefined, block: Block): CatchClause;
export declare function createDebuggerStatement(): DebuggerStatement;
export declare function createLabeledStatement(label: Identifier, statement: Statement): LabeledStatement;
export declare function createExpressionStatement(expression: Expression): ExpressionStatement;
export declare function createBlock(statements: readonly Statement[], multiLine?: boolean): Block;
export declare function createVariableStatement(modifiers: readonly ModifierLike[] | undefined, declarationList: VariableDeclarationList): VariableStatement;
export declare function createVariableDeclaration(name: BindingName, exclamationToken?: ExclamationToken, type?: TypeNode, initializer?: Expression): VariableDeclaration;
export declare function createVariableDeclarationList(declarations: readonly VariableDeclaration[], flags: NodeFlags): VariableDeclarationList;
export declare function createParameterDeclaration(modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration;
export declare function createBindingElement(dotDotDotToken?: DotDotDotToken, propertyName?: PropertyName, name?: BindingName, initializer?: Expression): BindingElement;
export declare function createMissingDeclaration(modifiers?: readonly ModifierLike[]): MissingDeclaration;
export declare function createFunctionDeclaration(modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode, body?: FunctionBody): FunctionDeclaration;
export declare function createClassDeclaration(modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
export declare function createClassExpression(modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression;
export declare function createHeritageClause(token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword, types: readonly ExpressionWithTypeArguments[]): HeritageClause;
export declare function createInterfaceDeclaration(modifiers: readonly ModifierLike[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
export declare function createTypeAliasDeclaration(modifiers: readonly ModifierLike[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
export declare function createEnumMember(name: PropertyName, initializer?: Expression): EnumMember;
export declare function createEnumDeclaration(modifiers: readonly ModifierLike[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;
export declare function createModuleBlock(statements: readonly Statement[]): ModuleBlock;
export declare function createNotEmittedStatement(): NotEmittedStatement;
export declare function createNotEmittedTypeElement(): NotEmittedTypeElement;
export declare function createImportDeclaration(modifiers: readonly ModifierLike[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, attributes?: ImportAttributes): ImportDeclaration;
export declare function createExternalModuleReference(expression: Expression): ExternalModuleReference;
export declare function createNamespaceImport(name: Identifier): NamespaceImport;
export declare function createNamedImports(elements: readonly ImportSpecifier[]): NamedImports;
export declare function createExportAssignment(modifiers: readonly ModifierLike[] | undefined, isExportEquals: boolean | undefined, type: TypeNode, expression: Expression): ExportAssignment;
export declare function createNamespaceExportDeclaration(modifiers: readonly ModifierLike[] | undefined, name: Identifier): NamespaceExportDeclaration;
export declare function createNamespaceExport(name: ModuleExportName): NamespaceExport;
export declare function createNamedExports(elements: readonly ExportSpecifier[]): NamedExports;
export declare function createExportSpecifier(isTypeOnly: boolean | undefined, propertyName: ModuleExportName | undefined, name: ModuleExportName): ExportSpecifier;
export declare function createCallSignatureDeclaration(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode): CallSignatureDeclaration;
export declare function createConstructSignatureDeclaration(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode): ConstructSignatureDeclaration;
export declare function createConstructorDeclaration(modifiers: readonly ModifierLike[] | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode, body?: FunctionBody): ConstructorDeclaration;
export declare function createGetAccessorDeclaration(modifiers: readonly ModifierLike[] | undefined, name: PropertyName, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode, body?: FunctionBody): GetAccessorDeclaration;
export declare function createSetAccessorDeclaration(modifiers: readonly ModifierLike[] | undefined, name: PropertyName, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode, body?: FunctionBody): SetAccessorDeclaration;
export declare function createIndexSignatureDeclaration(modifiers: readonly ModifierLike[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
export declare function createMethodSignatureDeclaration(modifiers: readonly ModifierLike[] | undefined, name: PropertyName, postfixToken: QuestionToken | ExclamationToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode): MethodSignatureDeclaration;
export declare function createMethodDeclaration(modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, postfixToken: QuestionToken | ExclamationToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode, body?: FunctionBody): MethodDeclaration;
export declare function createPropertySignatureDeclaration(modifiers: readonly ModifierLike[] | undefined, name: PropertyName, postfixToken: QuestionToken | ExclamationToken | undefined, type: TypeNode, initializer: Expression): PropertySignatureDeclaration;
export declare function createPropertyDeclaration(modifiers: readonly ModifierLike[] | undefined, name: PropertyName, postfixToken?: QuestionToken | ExclamationToken, type?: TypeNode, initializer?: Expression): PropertyDeclaration;
export declare function createSemicolonClassElement(): SemicolonClassElement;
export declare function createClassStaticBlockDeclaration(modifiers: readonly ModifierLike[] | undefined, body: Block): ClassStaticBlockDeclaration;
export declare function createOmittedExpression(): OmittedExpression;
export declare function createKeywordExpression<TKind extends KeywordExpressionSyntaxKind>(kind: TKind): KeywordExpression<TKind>;
export declare function createStringLiteral(text: string, tokenFlags: TokenFlags): StringLiteral;
export declare function createNumericLiteral(text: string, tokenFlags: TokenFlags): NumericLiteral;
export declare function createBigIntLiteral(text: string, tokenFlags: TokenFlags): BigIntLiteral;
export declare function createRegularExpressionLiteral(text: string, tokenFlags: TokenFlags): RegularExpressionLiteral;
export declare function createNoSubstitutionTemplateLiteral(text: string, templateFlags: TokenFlags): NoSubstitutionTemplateLiteral;
export declare function createBinaryExpression(modifiers: readonly ModifierLike[] | undefined, left: Expression, type: TypeNode | undefined, operatorToken: BinaryOperatorToken, right: Expression): BinaryExpression;
export declare function createPrefixUnaryExpression(operator: SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.TildeToken | SyntaxKind.ExclamationToken | SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken, operand: Expression): PrefixUnaryExpression;
export declare function createPostfixUnaryExpression(operand: Expression, operator: SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken): PostfixUnaryExpression;
export declare function createYieldExpression(asteriskToken?: AsteriskToken, expression?: Expression): YieldExpression;
export declare function createArrowFunction(modifiers: readonly ModifierLike[] | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, equalsGreaterThanToken: EqualsGreaterThanToken, body: ConciseBody): ArrowFunction;
export declare function createFunctionExpression(modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: FunctionBody): FunctionExpression;
export declare function createAsExpression(expression: Expression, type: TypeNode): AsExpression;
export declare function createSatisfiesExpression(expression: Expression, type: TypeNode): SatisfiesExpression;
export declare function createConditionalExpression(condition: Expression, questionToken: QuestionToken, whenTrue: Expression, colonToken: ColonToken, whenFalse: Expression): ConditionalExpression;
export declare function createPropertyAccessExpression(expression: Expression, questionDotToken: QuestionDotToken | undefined, name: MemberName, flags: NodeFlags): PropertyAccessExpression;
export declare function createElementAccessExpression(expression: Expression, questionDotToken: QuestionDotToken | undefined, argumentExpression: Expression, flags: NodeFlags): ElementAccessExpression;
export declare function createCallExpression(expression: Expression, questionDotToken: QuestionDotToken | undefined, typeArguments: readonly TypeNode[] | undefined, arguments_: readonly Expression[], flags: NodeFlags): CallExpression;
export declare function createNewExpression(expression: Expression, typeArguments?: readonly TypeNode[], arguments_?: readonly Expression[]): NewExpression;
export declare function createMetaProperty(keywordToken: SyntaxKind.ImportKeyword | SyntaxKind.NewKeyword, name: Identifier): MetaProperty;
export declare function createNonNullExpression(expression: Expression, flags: NodeFlags): NonNullExpression;
export declare function createSpreadElement(expression: Expression): SpreadElement;
export declare function createTemplateExpression(head: TemplateHead, templateSpans: readonly TemplateSpan[]): TemplateExpression;
export declare function createTemplateSpan(expression: Expression, literal: TemplateMiddleOrTail): TemplateSpan;
export declare function createTaggedTemplateExpression(tag: Expression, questionDotToken: QuestionDotToken, typeArguments: readonly TypeNode[] | undefined, template: TemplateLiteral, flags: NodeFlags): TaggedTemplateExpression;
export declare function createParenthesizedExpression(expression: Expression): ParenthesizedExpression;
export declare function createArrayLiteralExpression(elements: readonly Expression[], multiLine?: boolean): ArrayLiteralExpression;
export declare function createObjectLiteralExpression(properties: readonly ObjectLiteralElementLike[], multiLine?: boolean): ObjectLiteralExpression;
export declare function createSpreadAssignment(expression: Expression): SpreadAssignment;
export declare function createPropertyAssignment(modifiers: readonly ModifierLike[] | undefined, name: PropertyName, postfixToken: QuestionToken | ExclamationToken | undefined, type: TypeNode, initializer: Expression): PropertyAssignment;
export declare function createShorthandPropertyAssignment(modifiers: readonly ModifierLike[] | undefined, name: PropertyName, postfixToken: QuestionToken | ExclamationToken | undefined, type: TypeNode, equalsToken?: EqualsToken, objectAssignmentInitializer?: Expression): ShorthandPropertyAssignment;
export declare function createDeleteExpression(expression: Expression): DeleteExpression;
export declare function createTypeOfExpression(expression: Expression): TypeOfExpression;
export declare function createVoidExpression(expression: Expression): VoidExpression;
export declare function createAwaitExpression(expression: Expression): AwaitExpression;
export declare function createTypeAssertion(type: TypeNode, expression: Expression): TypeAssertion;
export declare function createKeywordTypeNode<TKind extends KeywordTypeSyntaxKind>(kind: TKind): KeywordTypeNode<TKind>;
export declare function createUnionTypeNode(types: readonly TypeNode[]): UnionTypeNode;
export declare function createIntersectionTypeNode(types: readonly TypeNode[]): IntersectionTypeNode;
export declare function createConditionalTypeNode(checkType: TypeNode, extendsType: TypeNode, trueType: TypeNode, falseType: TypeNode): ConditionalTypeNode;
export declare function createTypeOperatorNode(operator: SyntaxKind.KeyOfKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.UniqueKeyword, type: TypeNode): TypeOperatorNode;
export declare function createInferTypeNode(typeParameter: TypeParameterDeclaration): InferTypeNode;
export declare function createArrayTypeNode(elementType: TypeNode): ArrayTypeNode;
export declare function createIndexedAccessTypeNode(objectType: TypeNode, indexType: TypeNode): IndexedAccessTypeNode;
export declare function createTypeReferenceNode(typeName: EntityName, typeArguments?: readonly TypeNode[]): TypeReferenceNode;
export declare function createExpressionWithTypeArguments(expression: Expression, typeArguments?: readonly TypeNode[]): ExpressionWithTypeArguments;
export declare function createLiteralTypeNode(literal: Node): LiteralTypeNode;
export declare function createThisTypeNode(): ThisTypeNode;
export declare function createTypePredicateNode(assertsModifier: AssertsKeyword | undefined, parameterName: TypePredicateParameterName, type?: TypeNode): TypePredicateNode;
export declare function createImportAttribute(name: ImportAttributeName, value: Expression): ImportAttribute;
export declare function createImportAttributes(token: SyntaxKind.WithKeyword | SyntaxKind.AssertKeyword, attributes: readonly ImportAttribute[], multiLine?: boolean): ImportAttributes;
export declare function createTypeQueryNode(exprName: EntityName, typeArguments?: readonly TypeNode[]): TypeQueryNode;
export declare function createMappedTypeNode(readonlyToken: ReadonlyKeyword | PlusToken | MinusToken | undefined, typeParameter: TypeParameterDeclaration, nameType?: TypeNode, questionToken?: QuestionToken | PlusToken | MinusToken, type?: TypeNode, members?: readonly TypeElement[]): MappedTypeNode;
export declare function createTypeLiteralNode(members: readonly TypeElement[]): TypeLiteralNode;
export declare function createTupleTypeNode(elements: readonly TypeNode[]): TupleTypeNode;
export declare function createNamedTupleMember(dotDotDotToken: DotDotDotToken | undefined, name: Identifier, questionToken: QuestionToken | undefined, type: TypeNode): NamedTupleMember;
export declare function createOptionalTypeNode(type: TypeNode): OptionalTypeNode;
export declare function createRestTypeNode(type: TypeNode): RestTypeNode;
export declare function createParenthesizedTypeNode(type: TypeNode): ParenthesizedTypeNode;
export declare function createFunctionTypeNode(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode): FunctionTypeNode;
export declare function createConstructorTypeNode(modifiers: readonly ModifierLike[] | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode): ConstructorTypeNode;
export declare function createTemplateHead(text: string, rawText: string, templateFlags: TokenFlags): TemplateHead;
export declare function createTemplateMiddle(text: string, rawText: string, templateFlags: TokenFlags): TemplateMiddle;
export declare function createTemplateTail(text: string, rawText: string, templateFlags: TokenFlags): TemplateTail;
export declare function createTemplateLiteralTypeNode(head: TemplateHead, templateSpans: readonly TemplateLiteralTypeSpan[]): TemplateLiteralTypeNode;
export declare function createTemplateLiteralTypeSpan(type: TypeNode, literal: TemplateMiddleOrTail): TemplateLiteralTypeSpan;
export declare function createSyntheticExpression(type: any, isSpread?: boolean, tupleNameSource?: Node): SyntheticExpression;
export declare function createPartiallyEmittedExpression(expression: Expression): PartiallyEmittedExpression;
export declare function createJsxElement(openingElement: JsxOpeningElement, children: readonly JsxChild[], closingElement: JsxClosingElement): JsxElement;
export declare function createJsxAttributes(properties: readonly JsxAttributeLike[]): JsxAttributes;
export declare function createJsxNamespacedName(namespace: Identifier, name: Identifier): JsxNamespacedName;
export declare function createJsxOpeningElement(tagName: JsxTagNameExpression, typeArguments: readonly TypeNode[] | undefined, attributes: JsxAttributes): JsxOpeningElement;
export declare function createJsxSelfClosingElement(tagName: JsxTagNameExpression, typeArguments: readonly TypeNode[] | undefined, attributes: JsxAttributes): JsxSelfClosingElement;
export declare function createJsxFragment(openingFragment: JsxOpeningFragment, children: readonly JsxChild[], closingFragment: JsxClosingFragment): JsxFragment;
export declare function createJsxOpeningFragment(): JsxOpeningFragment;
export declare function createJsxClosingFragment(): JsxClosingFragment;
export declare function createJsxAttribute(name: JsxAttributeName, initializer?: JsxAttributeValue): JsxAttribute;
export declare function createJsxSpreadAttribute(expression: Expression): JsxSpreadAttribute;
export declare function createJsxClosingElement(tagName: JsxTagNameExpression): JsxClosingElement;
export declare function createJsxExpression(dotDotDotToken?: DotDotDotToken, expression?: Expression): JsxExpression;
export declare function createJsxText(text: string, containsOnlyTriviaWhiteSpaces?: boolean): JsxText;
export declare function createSyntaxList(children: readonly Node[]): SyntaxList;
export declare function createJSDoc(comment: readonly JSDocComment[], tags?: readonly JSDocTag[]): JSDoc;
export declare function createJSDocTypeExpression(type: TypeNode): JSDocTypeExpression;
export declare function createJSDocNonNullableType(type: TypeNode): JSDocNonNullableType;
export declare function createJSDocNullableType(type: TypeNode): JSDocNullableType;
export declare function createJSDocAllType(): JSDocAllType;
export declare function createJSDocVariadicType(type: TypeNode): JSDocVariadicType;
export declare function createJSDocOptionalType(type: TypeNode): JSDocOptionalType;
export declare function createJSDocTypeTag(tagName: Identifier, typeExpression: Node, comment?: readonly JSDocComment[]): JSDocTypeTag;
export declare function createJSDocUnknownTag(tagName: Identifier, comment?: readonly JSDocComment[]): JSDocUnknownTag;
export declare function createJSDocTemplateTag(tagName: Identifier, constraint: Node, typeParameters: readonly TypeParameterDeclaration[], comment?: readonly JSDocComment[]): JSDocTemplateTag;
export declare function createJSDocReturnTag(tagName: Identifier, typeExpression?: TypeNode, comment?: readonly JSDocComment[]): JSDocReturnTag;
export declare function createJSDocPublicTag(tagName: Identifier, comment?: readonly JSDocComment[]): JSDocPublicTag;
export declare function createJSDocPrivateTag(tagName: Identifier, comment?: readonly JSDocComment[]): JSDocPrivateTag;
export declare function createJSDocProtectedTag(tagName: Identifier, comment?: readonly JSDocComment[]): JSDocProtectedTag;
export declare function createJSDocReadonlyTag(tagName: Identifier, comment?: readonly JSDocComment[]): JSDocReadonlyTag;
export declare function createJSDocOverrideTag(tagName: Identifier, comment?: readonly JSDocComment[]): JSDocOverrideTag;
export declare function createJSDocDeprecatedTag(tagName: Identifier, comment?: readonly JSDocComment[]): JSDocDeprecatedTag;
export declare function createJSDocSeeTag(tagName: Identifier, nameExpression: TypeNode, comment?: readonly JSDocComment[]): JSDocSeeTag;
export declare function createJSDocImplementsTag(tagName: Identifier, className: ExpressionWithTypeArguments, comment?: readonly JSDocComment[]): JSDocImplementsTag;
export declare function createJSDocAugmentsTag(tagName: Identifier, className: ExpressionWithTypeArguments, comment?: readonly JSDocComment[]): JSDocAugmentsTag;
export declare function createJSDocSatisfiesTag(tagName: Identifier, typeExpression: TypeNode, comment?: readonly JSDocComment[]): JSDocSatisfiesTag;
export declare function createJSDocThrowsTag(tagName: Identifier, typeExpression?: TypeNode, comment?: readonly JSDocComment[]): JSDocThrowsTag;
export declare function createJSDocThisTag(tagName: Identifier, typeExpression: TypeNode, comment?: readonly JSDocComment[]): JSDocThisTag;
export declare function createJSDocImportTag(tagName: Identifier, importClause: ImportClause | undefined, moduleSpecifier: Expression, attributes?: ImportAttributes, comment?: readonly JSDocComment[]): JSDocImportTag;
export declare function createJSDocCallbackTag(tagName: Identifier, typeExpression: TypeNode, name?: JSDocFullName, comment?: readonly JSDocComment[]): JSDocCallbackTag;
export declare function createJSDocOverloadTag(tagName: Identifier, typeExpression: TypeNode, comment?: readonly JSDocComment[]): JSDocOverloadTag;
export declare function createJSDocTypedefTag(tagName: Identifier, typeExpression?: Node, name?: JSDocFullName, comment?: readonly JSDocComment[]): JSDocTypedefTag;
export declare function createJSDocSignature(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode): JSDocSignature;
export declare function createJSDocNameReference(name: EntityName): JSDocNameReference;
export declare function createModuleDeclaration(modifiers: readonly ModifierLike[] | undefined, keyword: SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword, name: ModuleName, body?: ModuleBody): ModuleDeclaration;
export declare function createImportEqualsDeclaration(modifiers: readonly ModifierLike[] | undefined, isTypeOnly: boolean | undefined, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
export declare function createExportDeclaration(modifiers?: readonly ModifierLike[], isTypeOnly?: boolean, exportClause?: NamedExportBindings, moduleSpecifier?: Expression, attributes?: ImportAttributes): ExportDeclaration;
export declare function createImportTypeNode(isTypeOf: boolean | undefined, argument: TypeNode, attributes?: ImportAttributes, qualifier?: EntityName, typeArguments?: readonly TypeNode[]): ImportTypeNode;
export declare function createImportClause(phaseModifier?: ImportPhaseModifierSyntaxKind, name?: Identifier, namedBindings?: NamedImportBindings): ImportClause;
export declare function createImportSpecifier(isTypeOnly: boolean | undefined, propertyName: ModuleExportName | undefined, name: Identifier): ImportSpecifier;
export declare function createJSDocText(text: string): JSDocText;
export declare function createJSDocLink(name: EntityName | undefined, text: string): JSDocLink;
export declare function createJSDocLinkPlain(name: EntityName | undefined, text: string): JSDocLinkPlain;
export declare function createJSDocLinkCode(name: EntityName | undefined, text: string): JSDocLinkCode;
export declare function createTypeParameterDeclaration(modifiers: readonly ModifierLike[] | undefined, name: Identifier, constraint?: TypeNode, expression?: Expression, defaultType?: TypeNode): TypeParameterDeclaration;
export declare function createSyntheticReferenceExpression(expression: Expression, thisArg: Expression): SyntheticReferenceExpression;
export declare function createJSDocTypeLiteral(jsdocPropertyTags?: readonly JSDocTag[], isArrayType?: boolean): JSDocTypeLiteral;
export declare function createForInStatement(awaitModifier: AwaitKeyword | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForInStatement;
export declare function createForOfStatement(awaitModifier: AwaitKeyword | undefined, initializer: ForInitializer, expression: Expression, statement: Statement): ForOfStatement;
export declare function createCaseClause(expression: Expression, statements: readonly Statement[]): CaseClause;
export declare function createDefaultClause(expression: Expression, statements: readonly Statement[]): DefaultClause;
export declare function createObjectBindingPattern(elements: readonly BindingElement[]): ObjectBindingPattern;
export declare function createArrayBindingPattern(elements: readonly BindingElement[]): ArrayBindingPattern;
export declare function createJSDocParameterTag(tagName: Identifier, name: EntityName, isBracketed: boolean, typeExpression: TypeNode | undefined, isNameFirst: boolean, comment: readonly JSDocComment[] | undefined): JSDocParameterTag;
export declare function createJSDocPropertyTag(tagName: Identifier, name: EntityName, isBracketed: boolean, typeExpression: TypeNode | undefined, isNameFirst: boolean, comment: readonly JSDocComment[] | undefined): JSDocPropertyTag;
export declare function updateQualifiedName(node: QualifiedName, left: EntityName, right: Identifier): QualifiedName;
export declare function updateComputedPropertyName(node: ComputedPropertyName, expression: Expression): ComputedPropertyName;
export declare function updateDecorator(node: Decorator, expression: LeftHandSideExpression): Decorator;
export declare function updateIfStatement(node: IfStatement, expression: Expression, thenStatement: Statement, elseStatement?: Statement): IfStatement;
export declare function updateDoStatement(node: DoStatement, statement: Statement, expression: Expression): DoStatement;
export declare function updateWhileStatement(node: WhileStatement, expression: Expression, statement: Statement): WhileStatement;
export declare function updateForStatement(node: ForStatement, initializer: ForInitializer | undefined, condition: Expression | undefined, incrementor: Expression | undefined, statement: Statement): ForStatement;
export declare function updateBreakStatement(node: BreakStatement, label?: Identifier): BreakStatement;
export declare function updateContinueStatement(node: ContinueStatement, label?: Identifier): ContinueStatement;
export declare function updateReturnStatement(node: ReturnStatement, expression?: Expression): ReturnStatement;
export declare function updateWithStatement(node: WithStatement, expression: Expression, statement: Statement): WithStatement;
export declare function updateSwitchStatement(node: SwitchStatement, expression: Expression, caseBlock: CaseBlock): SwitchStatement;
export declare function updateCaseBlock(node: CaseBlock, clauses: readonly CaseOrDefaultClause[]): CaseBlock;
export declare function updateThrowStatement(node: ThrowStatement, expression: Expression): ThrowStatement;
export declare function updateTryStatement(node: TryStatement, tryBlock: Block, catchClause?: CatchClause, finallyBlock?: Block): TryStatement;
export declare function updateCatchClause(node: CatchClause, variableDeclaration: VariableDeclaration | undefined, block: Block): CatchClause;
export declare function updateLabeledStatement(node: LabeledStatement, label: Identifier, statement: Statement): LabeledStatement;
export declare function updateExpressionStatement(node: ExpressionStatement, expression: Expression): ExpressionStatement;
export declare function updateBlock(node: Block, statements: readonly Statement[]): Block;
export declare function updateVariableStatement(node: VariableStatement, modifiers: readonly ModifierLike[] | undefined, declarationList: VariableDeclarationList): VariableStatement;
export declare function updateVariableDeclaration(node: VariableDeclaration, name: BindingName, exclamationToken?: ExclamationToken, type?: TypeNode, initializer?: Expression): VariableDeclaration;
export declare function updateVariableDeclarationList(node: VariableDeclarationList, declarations: readonly VariableDeclaration[]): VariableDeclarationList;
export declare function updateParameterDeclaration(node: ParameterDeclaration, modifiers: readonly ModifierLike[] | undefined, dotDotDotToken: DotDotDotToken | undefined, name: BindingName, questionToken?: QuestionToken, type?: TypeNode, initializer?: Expression): ParameterDeclaration;
export declare function updateBindingElement(node: BindingElement, dotDotDotToken?: DotDotDotToken, propertyName?: PropertyName, name?: BindingName, initializer?: Expression): BindingElement;
export declare function updateMissingDeclaration(node: MissingDeclaration, modifiers?: readonly ModifierLike[]): MissingDeclaration;
export declare function updateFunctionDeclaration(node: FunctionDeclaration, modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode, body?: FunctionBody): FunctionDeclaration;
export declare function updateClassDeclaration(node: ClassDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
export declare function updateClassExpression(node: ClassExpression, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression;
export declare function updateHeritageClause(node: HeritageClause, types: readonly ExpressionWithTypeArguments[]): HeritageClause;
export declare function updateInterfaceDeclaration(node: InterfaceDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
export declare function updateTypeAliasDeclaration(node: TypeAliasDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
export declare function updateEnumMember(node: EnumMember, name: PropertyName, initializer?: Expression): EnumMember;
export declare function updateEnumDeclaration(node: EnumDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier, members: readonly EnumMember[]): EnumDeclaration;
export declare function updateModuleBlock(node: ModuleBlock, statements: readonly Statement[]): ModuleBlock;
export declare function updateImportDeclaration(node: ImportDeclaration, modifiers: readonly ModifierLike[] | undefined, importClause: ImportClause | undefined, moduleSpecifier: Expression, attributes?: ImportAttributes): ImportDeclaration;
export declare function updateExternalModuleReference(node: ExternalModuleReference, expression: Expression): ExternalModuleReference;
export declare function updateNamespaceImport(node: NamespaceImport, name: Identifier): NamespaceImport;
export declare function updateNamedImports(node: NamedImports, elements: readonly ImportSpecifier[]): NamedImports;
export declare function updateExportAssignment(node: ExportAssignment, modifiers: readonly ModifierLike[] | undefined, type: TypeNode, expression: Expression): ExportAssignment;
export declare function updateNamespaceExportDeclaration(node: NamespaceExportDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier): NamespaceExportDeclaration;
export declare function updateNamespaceExport(node: NamespaceExport, name: ModuleExportName): NamespaceExport;
export declare function updateNamedExports(node: NamedExports, elements: readonly ExportSpecifier[]): NamedExports;
export declare function updateExportSpecifier(node: ExportSpecifier, propertyName: ModuleExportName | undefined, name: ModuleExportName): ExportSpecifier;
export declare function updateCallSignatureDeclaration(node: CallSignatureDeclaration, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode): CallSignatureDeclaration;
export declare function updateConstructSignatureDeclaration(node: ConstructSignatureDeclaration, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode): ConstructSignatureDeclaration;
export declare function updateConstructorDeclaration(node: ConstructorDeclaration, modifiers: readonly ModifierLike[] | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode, body?: FunctionBody): ConstructorDeclaration;
export declare function updateGetAccessorDeclaration(node: GetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode, body?: FunctionBody): GetAccessorDeclaration;
export declare function updateSetAccessorDeclaration(node: SetAccessorDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode, body?: FunctionBody): SetAccessorDeclaration;
export declare function updateIndexSignatureDeclaration(node: IndexSignatureDeclaration, modifiers: readonly ModifierLike[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode): IndexSignatureDeclaration;
export declare function updateMethodSignatureDeclaration(node: MethodSignatureDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, postfixToken: QuestionToken | ExclamationToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode): MethodSignatureDeclaration;
export declare function updateMethodDeclaration(node: MethodDeclaration, modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: PropertyName, postfixToken: QuestionToken | ExclamationToken | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode, body?: FunctionBody): MethodDeclaration;
export declare function updatePropertySignatureDeclaration(node: PropertySignatureDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, postfixToken: QuestionToken | ExclamationToken | undefined, type: TypeNode, initializer: Expression): PropertySignatureDeclaration;
export declare function updatePropertyDeclaration(node: PropertyDeclaration, modifiers: readonly ModifierLike[] | undefined, name: PropertyName, postfixToken?: QuestionToken | ExclamationToken, type?: TypeNode, initializer?: Expression): PropertyDeclaration;
export declare function updateClassStaticBlockDeclaration(node: ClassStaticBlockDeclaration, modifiers: readonly ModifierLike[] | undefined, body: Block): ClassStaticBlockDeclaration;
export declare function updateBinaryExpression(node: BinaryExpression, modifiers: readonly ModifierLike[] | undefined, left: Expression, type: TypeNode | undefined, operatorToken: BinaryOperatorToken, right: Expression): BinaryExpression;
export declare function updatePrefixUnaryExpression(node: PrefixUnaryExpression, operand: Expression): PrefixUnaryExpression;
export declare function updatePostfixUnaryExpression(node: PostfixUnaryExpression, operand: Expression): PostfixUnaryExpression;
export declare function updateYieldExpression(node: YieldExpression, asteriskToken?: AsteriskToken, expression?: Expression): YieldExpression;
export declare function updateArrowFunction(node: ArrowFunction, modifiers: readonly ModifierLike[] | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, equalsGreaterThanToken: EqualsGreaterThanToken, body: ConciseBody): ArrowFunction;
export declare function updateFunctionExpression(node: FunctionExpression, modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type: TypeNode | undefined, body: FunctionBody): FunctionExpression;
export declare function updateAsExpression(node: AsExpression, expression: Expression, type: TypeNode): AsExpression;
export declare function updateSatisfiesExpression(node: SatisfiesExpression, expression: Expression, type: TypeNode): SatisfiesExpression;
export declare function updateConditionalExpression(node: ConditionalExpression, condition: Expression, questionToken: QuestionToken, whenTrue: Expression, colonToken: ColonToken, whenFalse: Expression): ConditionalExpression;
export declare function updatePropertyAccessExpression(node: PropertyAccessExpression, expression: Expression, questionDotToken: QuestionDotToken | undefined, name: MemberName): PropertyAccessExpression;
export declare function updateElementAccessExpression(node: ElementAccessExpression, expression: Expression, questionDotToken: QuestionDotToken | undefined, argumentExpression: Expression): ElementAccessExpression;
export declare function updateCallExpression(node: CallExpression, expression: Expression, questionDotToken: QuestionDotToken | undefined, typeArgu