/** * Utility class for analyzing JavaScript expressions to extract variable and function dependencies. */ export declare class ExpressionUtils { /** * Extracts variable and function names used in the expression. * @param expression The expression string to analyze. * @param functionDependencies A dictionary mapping function names to their dependencies. * @param options Optional parsing options. * - asScript: If true, parse the input as a Script (allows multi-statement source with semicolons, * declarations, control-flow, etc.). If false/omitted, parse as a single expression (the default, * for backward compatibility with interpolation and binding directives). * @returns An array of identifier names. */ static extractIdentifiers(expression: string, functionDependencies: Record, options?: { asScript?: boolean; }): string[]; /** * Analyzes the dependencies of functions in the provided dictionary. * @param functions A dictionary mapping function names to their implementations. * @returns A dictionary mapping function names to arrays of their dependencies. */ static analyzeFunctionDependencies(functions: Record): Record; /** * Rewrites an expression to replace identifiers with 'this.identifier'. * This allows direct property access and assignment without using 'with' statement. * Uses AST parsing to accurately identify which identifiers to replace. * @param expression The original expression string. * @param identifiers The list of identifiers that are available in bindings. * @returns The rewritten expression. */ static rewriteExpression(expression: string, identifiers: string[], options?: { asScript?: boolean; }): string; }