import { Logger } from '../util/logger'; export declare class ReferenceResolver { private stepResults; private context; private logger; private resolvingPaths; constructor(stepResults: Map, context: Record, logger: Logger); private checkForCircularReference; /** * Extracts references from a string like "I like ${foo} and ${bar}" and returns ["${foo}", "${bar}"] */ resolveReferencesFromString(str: string): string[]; private trackResolutionPath; private wrapError; private handleSimplePathResolution; /** * Resolves a reference string like "${step1.data.value}" to its value */ resolveReference(ref: string, extraContext?: Record): any; /** * Recursively resolves all references in an object or array */ resolveReferences(obj: any, extraContext?: Record): any; /** * Resolves a path like "step1.data.value" or "step1['data']['value']" to its value */ resolvePath(path: string, extraContext?: Record): any; getStepResults(): Map; }