import { Frame } from '../index'; import { Value } from '../utils/types'; export interface StringTemplateParserContext { /** * Resolve a variable by name and path */ resolveVariable: (name: string, path?: any[], frameOverride?: Frame) => Value; /** * Get the current frame's last value */ getLastValue: (frameOverride?: Frame) => Value; /** * Execute a subexpression code string */ executeSubexpression: (code: string, frameOverride?: Frame) => Promise; } export declare class StringTemplateParser { /** * Evaluate a template string with variable interpolation and subexpressions * * @param template - The template string content (without backticks, already unescaped) * @param context - Context with methods to resolve variables and execute subexpressions * @param frameOverride - Optional frame override for variable resolution * @returns The evaluated string */ static evaluate(template: string, context: StringTemplateParserContext, frameOverride?: Frame): Promise; /** * Convert a value to string representation */ private static valueToString; }