/** * Sequence-step parameter interpolation. * Resolves {{var:name.path.to.field}} and {{timestamp}} tokens inside a * command's params before the executor runs it. * * Whole-string-token rule: if a string param's entire value is exactly one * token (e.g. params.right === "{{var:r.body.available}}"), the resolved * value's real type is preserved (number/object/boolean/etc). If the token * is embedded in a larger string (e.g. "seqkit{{timestamp}}"), the resolved * value is coerced with String(). * * {{timestamp}} accepts an optional +N/-N millisecond offset (e.g. * {{timestamp+3600000}}) for expiry-style fields computed relative to the * run's fixed timestamp - still resolved once per run, not per token. * * {{var:...}} paths are plain dot-separated segments (a.b.c) except where a * real key contains a literal dot (e.g. a response field keyed 'exec.t1.s2') * - use bracket notation for that segment: a.b['exec.t1.s2'].c */ export declare class InterpolationError extends Error { token: string; constructor(token: string, reason: string); } /** * Recursively resolve {{var:...}}/{{timestamp}} tokens throughout params. * runTimestamp must be computed once per sequence run (not per call) so * {{timestamp}} is stable across multiple steps in the same run. */ export declare function interpolateParams(params: Record, store: Record, runTimestamp: number): Record; //# sourceMappingURL=interpolation.d.ts.map