import { AttributePathSegment } from './types'; /** * Split a script into logical lines, respecting strings, $() subexpressions, and backslash continuation. * Treats ; and \n as line separators, but only at the top level (not inside strings or $()). * Handles backslash line continuation: lines ending with \ are joined with the next line. */ export declare function splitIntoLogicalLines(script: string): string[]; /** * Handle backslash line continuation. * Lines ending with \ are joined with the next line, removing the backslash * and replacing the newline + leading whitespace with a single space. */ export declare function handleBackslashContinuation(script: string): string; /** * Lexer utility functions for token parsing */ export declare class LexerUtils { static parseString(token: string): string; static isString(token: string): boolean; static isNumber(token: string): boolean; static isInteger(token: string): boolean; static isVariable(token: string): boolean; /** * Parse attribute access path from a variable token * Returns the base variable name and path segments * If name is empty string, it means the last value ($) with attributes */ static parseVariablePath(token: string): { name: string; path: AttributePathSegment[]; }; /** * Parse a dynamic key from inside brackets: [$varName] or [$varName.property] * @param str The full string being parsed * @param pos Position right after the '$' character * @returns The parsed segment and the position after the closing ']' */ private static parseDynamicKey; static isLastValue(token: string): boolean; static isPositionalParam(token: string): boolean; }