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