import type { CstNode, CstElement, IToken } from 'chevrotain'; /** * Check if a CstElement is a CstNode (has children) vs an IToken (leaf). */ export declare function isCstNode(element: CstElement): element is CstNode; /** * Get the start position (line, column) of a CST element. * Lines and columns are 1-based (as provided by Chevrotain). */ export declare function getStartPosition(element: CstElement): { line: number; column: number; }; /** * Get the end position (line, column) of a CST element. */ export declare function getEndPosition(element: CstElement): { line: number; column: number; }; /** * Recursively find the first token in a CST node. */ export declare function findFirstToken(node: CstNode): IToken | undefined; /** * Recursively find the last token in a CST node. */ export declare function findLastToken(node: CstNode): IToken | undefined; /** * Collect all tokens in a CST node in order of appearance. */ export declare function collectTokens(node: CstNode): IToken[]; //# sourceMappingURL=cst-utils.d.ts.map