/** * Declarative input expansion: converts shorthand keys (e.g. {branch: "main"}) * into full nested structures (e.g. {build: {type: "branch", spec: {branch: "main"}}}) * using rules defined on EndpointSpec.inputExpansions. */ import type { InputExpansionRule } from "../registry/types.js"; /** * Deep-clone a template object and replace every exact "$value" string * with the provided value. Only exact matches are replaced — "$value" * embedded in a larger string (e.g. "prefix-$value") is left as-is. */ export declare function substituteValue(template: Record, value: unknown): Record; /** * Apply declarative expansion rules to an input map. * For each rule whose triggerKey is present (and skipIfPresent guard is not), * merge the expanded structure into the result. * * Rules are applied in order. The original input is not mutated. */ export declare function applyInputExpansions(inputs: Record, rules: InputExpansionRule[]): Record; //# sourceMappingURL=input-expander.d.ts.map