import { ArrayBinding, BindingElem, ClassDecl, ClassStaticBlockDecl, ConstructorDecl, FunctionDecl, GetAccessorDecl, MethodDecl, ObjectBinding, ParameterDecl, PropDecl, SetAccessorDecl, VariableDecl, VariableDeclList } from "./declaration";
import { Err } from "./error";
import { Argument, ArrayLiteralExpr, ArrowFunctionExpr, AwaitExpr, BigIntExpr, BinaryExpr, BooleanLiteralExpr, CallExpr, ClassExpr, ComputedPropertyNameExpr, ConditionExpr, DeleteExpr, ElementAccessExpr, FunctionExpr, Identifier, ImportKeyword, NewExpr, NoSubstitutionTemplateLiteralExpr, NullLiteralExpr, NumberLiteralExpr, ObjectLiteralExpr, OmittedExpr, ParenthesizedExpr, PostfixUnaryExpr, PrivateIdentifier, PropAccessExpr, PropAssignExpr, ReferenceExpr, RegexExpr, SpreadAssignExpr, SpreadElementExpr, StringLiteralExpr, SuperKeyword, TaggedTemplateExpr, TemplateExpr, TemplateHead, TemplateMiddle, TemplateSpan, TemplateTail, ThisExpr, TypeOfExpr, UnaryExpr, UndefinedLiteralExpr, VoidExpr, YieldExpr } from "./expression";
import { NodeKind } from "./node-kind";
import { BlockStmt, BreakStmt, CaseClause, CatchClause, ContinueStmt, DebuggerStmt, DefaultClause, DoStmt, EmptyStmt, ExprStmt, ForInStmt, ForOfStmt, ForStmt, IfStmt, LabelledStmt, ReturnStmt, SwitchStmt, ThrowStmt, TryStmt, VariableStmt, WhileStmt, WithStmt } from "./statement";
export declare function getCtor<Kind extends NodeKind>(kind: Kind): new (...args: any[]) => NodeInstance<Kind>;
export declare type NodeCtor<Kind extends NodeKind> = typeof nodes[Kind];
export declare type NodeInstance<Kind extends NodeKind> = InstanceType<NodeCtor<Kind>>;
export declare const declarations: {
    readonly 1: typeof ArrayBinding;
    readonly 7: typeof BindingElem;
    readonly 14: typeof ClassDecl;
    readonly 16: typeof ClassStaticBlockDecl;
    readonly 19: typeof ConstructorDecl;
    readonly 32: typeof FunctionDecl;
    readonly 34: typeof GetAccessorDecl;
    readonly 39: typeof MethodDecl;
    readonly 43: typeof ObjectBinding;
    readonly 46: typeof ParameterDecl;
    readonly 54: typeof PropDecl;
    readonly 58: typeof SetAccessorDecl;
    readonly 72: typeof VariableDecl;
    readonly 73: typeof VariableDeclList;
    readonly 79: typeof TemplateHead;
    readonly 80: typeof TemplateSpan;
    readonly 81: typeof TemplateMiddle;
    readonly 82: typeof TemplateTail;
    readonly 83: typeof NoSubstitutionTemplateLiteralExpr;
};
export declare const error: {
    readonly 27: typeof Err;
};
export declare const statements: {
    readonly 8: typeof BlockStmt;
    readonly 10: typeof BreakStmt;
    readonly 12: typeof CaseClause;
    readonly 13: typeof CatchClause;
    readonly 20: typeof ContinueStmt;
    readonly 21: typeof DebuggerStmt;
    readonly 22: typeof DefaultClause;
    readonly 24: typeof DoStmt;
    readonly 26: typeof EmptyStmt;
    readonly 28: typeof ExprStmt;
    readonly 29: typeof ForInStmt;
    readonly 30: typeof ForOfStmt;
    readonly 31: typeof ForStmt;
    readonly 36: typeof IfStmt;
    readonly 38: typeof LabelledStmt;
    readonly 57: typeof ReturnStmt;
    readonly 63: typeof SwitchStmt;
    readonly 67: typeof ThrowStmt;
    readonly 68: typeof TryStmt;
    readonly 74: typeof VariableStmt;
    readonly 76: typeof WhileStmt;
    readonly 77: typeof WithStmt;
};
export declare const expressions: {
    readonly 0: typeof Argument;
    readonly 2: typeof ArrayLiteralExpr;
    readonly 3: typeof ArrowFunctionExpr;
    readonly 4: typeof AwaitExpr;
    readonly 5: typeof BigIntExpr;
    readonly 6: typeof BinaryExpr;
    readonly 9: typeof BooleanLiteralExpr;
    readonly 11: typeof CallExpr;
    readonly 15: typeof ClassExpr;
    readonly 17: typeof ComputedPropertyNameExpr;
    readonly 18: typeof ConditionExpr;
    readonly 23: typeof DeleteExpr;
    readonly 25: typeof ElementAccessExpr;
    readonly 33: typeof FunctionExpr;
    readonly 35: typeof Identifier;
    readonly 40: typeof NewExpr;
    readonly 41: typeof NullLiteralExpr;
    readonly 42: typeof NumberLiteralExpr;
    readonly 44: typeof ObjectLiteralExpr;
    readonly 45: typeof OmittedExpr;
    readonly 47: typeof ParenthesizedExpr;
    readonly 48: typeof PostfixUnaryExpr;
    readonly 49: typeof PrivateIdentifier;
    readonly 52: typeof PropAccessExpr;
    readonly 53: typeof PropAssignExpr;
    readonly 55: typeof ReferenceExpr;
    readonly 56: typeof RegexExpr;
    readonly 59: typeof SpreadAssignExpr;
    readonly 60: typeof SpreadElementExpr;
    readonly 61: typeof StringLiteralExpr;
    readonly 64: typeof TaggedTemplateExpr;
    readonly 65: typeof TemplateExpr;
    readonly 66: typeof ThisExpr;
    readonly 69: typeof TypeOfExpr;
    readonly 70: typeof UnaryExpr;
    readonly 71: typeof UndefinedLiteralExpr;
    readonly 75: typeof VoidExpr;
    readonly 78: typeof YieldExpr;
};
export declare const keywords: {
    readonly 37: typeof ImportKeyword;
    readonly 62: typeof SuperKeyword;
};
export declare const nodes: {
    readonly 8: typeof BlockStmt;
    readonly 10: typeof BreakStmt;
    readonly 12: typeof CaseClause;
    readonly 13: typeof CatchClause;
    readonly 20: typeof ContinueStmt;
    readonly 21: typeof DebuggerStmt;
    readonly 22: typeof DefaultClause;
    readonly 24: typeof DoStmt;
    readonly 26: typeof EmptyStmt;
    readonly 28: typeof ExprStmt;
    readonly 29: typeof ForInStmt;
    readonly 30: typeof ForOfStmt;
    readonly 31: typeof ForStmt;
    readonly 36: typeof IfStmt;
    readonly 38: typeof LabelledStmt;
    readonly 57: typeof ReturnStmt;
    readonly 63: typeof SwitchStmt;
    readonly 67: typeof ThrowStmt;
    readonly 68: typeof TryStmt;
    readonly 74: typeof VariableStmt;
    readonly 76: typeof WhileStmt;
    readonly 77: typeof WithStmt;
    readonly 37: typeof ImportKeyword;
    readonly 62: typeof SuperKeyword;
    readonly 0: typeof Argument;
    readonly 2: typeof ArrayLiteralExpr;
    readonly 3: typeof ArrowFunctionExpr;
    readonly 4: typeof AwaitExpr;
    readonly 5: typeof BigIntExpr;
    readonly 6: typeof BinaryExpr;
    readonly 9: typeof BooleanLiteralExpr;
    readonly 11: typeof CallExpr;
    readonly 15: typeof ClassExpr;
    readonly 17: typeof ComputedPropertyNameExpr;
    readonly 18: typeof ConditionExpr;
    readonly 23: typeof DeleteExpr;
    readonly 25: typeof ElementAccessExpr;
    readonly 33: typeof FunctionExpr;
    readonly 35: typeof Identifier;
    readonly 40: typeof NewExpr;
    readonly 41: typeof NullLiteralExpr;
    readonly 42: typeof NumberLiteralExpr;
    readonly 44: typeof ObjectLiteralExpr;
    readonly 45: typeof OmittedExpr;
    readonly 47: typeof ParenthesizedExpr;
    readonly 48: typeof PostfixUnaryExpr;
    readonly 49: typeof PrivateIdentifier;
    readonly 52: typeof PropAccessExpr;
    readonly 53: typeof PropAssignExpr;
    readonly 55: typeof ReferenceExpr;
    readonly 56: typeof RegexExpr;
    readonly 59: typeof SpreadAssignExpr;
    readonly 60: typeof SpreadElementExpr;
    readonly 61: typeof StringLiteralExpr;
    readonly 64: typeof TaggedTemplateExpr;
    readonly 65: typeof TemplateExpr;
    readonly 66: typeof ThisExpr;
    readonly 69: typeof TypeOfExpr;
    readonly 70: typeof UnaryExpr;
    readonly 71: typeof UndefinedLiteralExpr;
    readonly 75: typeof VoidExpr;
    readonly 78: typeof YieldExpr;
    readonly 27: typeof Err;
    readonly 1: typeof ArrayBinding;
    readonly 7: typeof BindingElem;
    readonly 14: typeof ClassDecl;
    readonly 16: typeof ClassStaticBlockDecl;
    readonly 19: typeof ConstructorDecl;
    readonly 32: typeof FunctionDecl;
    readonly 34: typeof GetAccessorDecl;
    readonly 39: typeof MethodDecl;
    readonly 43: typeof ObjectBinding;
    readonly 46: typeof ParameterDecl;
    readonly 54: typeof PropDecl;
    readonly 58: typeof SetAccessorDecl;
    readonly 72: typeof VariableDecl;
    readonly 73: typeof VariableDeclList;
    readonly 79: typeof TemplateHead;
    readonly 80: typeof TemplateSpan;
    readonly 81: typeof TemplateMiddle;
    readonly 82: typeof TemplateTail;
    readonly 83: typeof NoSubstitutionTemplateLiteralExpr;
};
//# sourceMappingURL=node-ctor.d.ts.map