/** * Generic recursive value walker for lexicon serializers. * * Implements the dispatch chain: null → AttrRef → Intrinsic → Declarable → Array → Object, * delegating format-specific behavior to a SerializerVisitor. */ import type { Declarable } from "./declarable.js"; export interface SerializerVisitor { /** Format an attribute reference (e.g. CFN Fn::GetAttr). */ attrRef(logicalName: string, attribute: string): unknown; /** Format a resource-level Declarable reference (e.g. CFN Ref). */ resourceRef(logicalName: string): unknown; /** Format a property-level Declarable by walking its props. */ propertyDeclarable(entity: Declarable, walk: (v: unknown) => unknown): unknown; } /** * Recursively walk a value, converting AttrRefs, Intrinsics, Declarables, * arrays, and objects using the provided visitor. */ export declare function walkValue(value: unknown, entityNames: Map, visitor: SerializerVisitor): unknown; //# sourceMappingURL=serializer-walker.d.ts.map