import { SyntaxNode } from 'web-tree-sitter'; export declare class TreeSitterUtil { static isTopLevelNode(node: SyntaxNode): boolean; static getParentOfType(node: SyntaxNode, type: string): SyntaxNode | null; /** * The `previousNodesOfType` static method is used to find all previous sibling nodes of a specific type(s) for a given node in the syntax tree. * * @param node - The `SyntaxNode` for which previous sibling nodes of specific type(s) are to be found. * @param nodeTypes - An array of string(s) representing the type(s) of the nodes to be found. * * @returns An array of `SyntaxNode` objects representing all the previous sibling nodes of the specified type(s). The nodes are returned in reverse order of their occurrence. * * The method starts by initializing an empty array `results` to store the found nodes. It then gets the immediate previous named sibling of the given node. * * It then enters a loop where it checks if the type of the current node matches any of the types specified in the `nodeTypes` array. If a match is found, the node is added to the `results` array and the method moves to the next previous named sibling. * * This process continues until there are no more previous named siblings or a sibling node that does not match any of the specified types is found. * * Finally, the method returns the `results` array in reverse order. * * Note: The method assumes that the `node` parameter is a valid `SyntaxNode` and the `nodeTypes` parameter is a valid array of strings. It does not perform any error checking or validation on these parameters. * * @static */ static previousNodesOfType(node: SyntaxNode, nodeTypes: string[]): SyntaxNode[]; }