@servicenow/sdk - v4.7.0
    Preparing search index...
    SupportedKinds: {
        "1": { name: "EndOfFileToken"; node: Node<EndOfFileToken> };
        "106": { name: "NullKeyword"; node: NullLiteral };
        "11": { name: "StringLiteral"; node: StringLiteral };
        "112": { name: "TrueKeyword"; node: TrueLiteral };
        "133": { name: "AnyKeyword"; node: Node<KeywordTypeNode<AnyKeyword>> };
        "15": {
            name: "NoSubstitutionTemplateLiteral";
            node: NoSubstitutionTemplateLiteral;
        };
        "16": { name: "TemplateHead"; node: TemplateHead };
        "167": { name: "ComputedPropertyName"; node: ComputedPropertyName };
        "169": { name: "Parameter"; node: ParameterDeclaration };
        "17": { name: "TemplateMiddle"; node: TemplateMiddle };
        "171": { name: "PropertySignature"; node: PropertySignature };
        "18": { name: "TemplateTail"; node: TemplateTail };
        "183": { name: "TypeReference"; node: TypeReferenceNode };
        "187": { name: "TypeLiteral"; node: TypeLiteralNode };
        "189": { name: "TupleType"; node: TupleTypeNode };
        "201": { name: "LiteralType"; node: LiteralTypeNode };
        "209": { name: "ArrayLiteralExpression"; node: ArrayLiteralExpression };
        "210": { name: "ObjectLiteralExpression"; node: ObjectLiteralExpression };
        "211": { name: "PropertyAccessExpression"; node: PropertyAccessExpression };
        "212": { name: "ElementAccessExpression"; node: ElementAccessExpression };
        "213": { name: "CallExpression"; node: CallExpression };
        "215": { name: "TaggedTemplateExpression"; node: TaggedTemplateExpression };
        "217": { name: "ParenthesizedExpression"; node: ParenthesizedExpression };
        "218": { name: "FunctionExpression"; node: FunctionExpression };
        "219": { name: "ArrowFunction"; node: ArrowFunction };
        "224": { name: "PrefixUnaryExpression"; node: PrefixUnaryExpression };
        "226": { name: "BinaryExpression"; node: BinaryExpression };
        "228": { name: "TemplateExpression"; node: TemplateExpression };
        "234": { name: "AsExpression"; node: AsExpression };
        "239": { name: "TemplateSpan"; node: TemplateSpan };
        "241": { name: "Block"; node: Block };
        "243": { name: "VariableStatement"; node: VariableStatement };
        "244": { name: "ExpressionStatement"; node: ExpressionStatement };
        "253": { name: "ReturnStatement"; node: ReturnStatement };
        "260": { name: "VariableDeclaration"; node: VariableDeclaration };
        "261": { name: "VariableDeclarationList"; node: VariableDeclarationList };
        "262": { name: "FunctionDeclaration"; node: FunctionDeclaration };
        "263": { name: "ClassDeclaration"; node: ClassDeclaration };
        "265": { name: "TypeAliasDeclaration"; node: TypeAliasDeclaration };
        "267": { name: "ModuleDeclaration"; node: ModuleDeclaration };
        "268": { name: "ModuleBlock"; node: ModuleBlock };
        "272": { name: "ImportDeclaration"; node: ImportDeclaration };
        "273": { name: "ImportClause"; node: ImportClause };
        "275": { name: "NamedImports"; node: NamedImports };
        "276": { name: "ImportSpecifier"; node: ImportSpecifier };
        "277": { name: "ExportAssignment"; node: ExportAssignment };
        "278": { name: "ExportDeclaration"; node: ExportDeclaration };
        "279": { name: "NamedExports"; node: NamedExports };
        "281": { name: "ExportSpecifier"; node: ExportSpecifier };
        "303": { name: "PropertyAssignment"; node: PropertyAssignment };
        "307": { name: "SourceFile"; node: SourceFile };
        "39": {
            name: "EqualsGreaterThanToken";
            node: Node<EqualsGreaterThanToken>;
        };
        "40": { name: "PlusToken"; node: Node<PlusToken> };
        "64": { name: "EqualsToken"; node: Node<EqualsToken> };
        "80": { name: "Identifier"; node: Identifier };
        "9": { name: "NumericLiteral"; node: NumericLiteral };
        "95": { name: "ExportKeyword"; node: Node<ExportKeyword> };
        "97": { name: "FalseKeyword"; node: FalseLiteral };
    }

    A lot of the extra information here only exists because TypeScript doesn't export a union containing all the different node types, so you can't narrow a node's type by its kind. Narrowing based on kind is very useful for plugins since you can define a property using a kind name and the type of the 'node' argument can be inferred instead of every plugin needing to cast it manually. If you find yourself needing to parse any node kinds that aren't on this list, please add them here.

    See: https://github.com/microsoft/TypeScript/issues/13634

    Type Declaration