import { INTRINSIC_MARKER, type Intrinsic } from "./intrinsic.js"; /** * Reference to an attribute of a parent entity. * Lexicon serializers read `getLogicalName()` and `attribute` to produce * their own output format (e.g. CloudFormation `Fn::GetAttr`). */ export declare class AttrRef implements Intrinsic { readonly [INTRINSIC_MARKER]: true; readonly parent: WeakRef; readonly attribute: string; private logicalName?; constructor(parent: object, attribute: string); /** * Set the logical name for this attribute reference * @internal */ _setLogicalName(name: string): void; /** * Get the logical name assigned to this attribute reference. */ getLogicalName(): string | undefined; /** * Serialize to a generic envelope. Lexicon-specific serializers should * read `getLogicalName()` and `attribute` directly instead of relying * on this format. * @throws {Error} If logical name has not been set */ toJSON(): { __attrRef: { entity: string; attribute: string; }; }; } //# sourceMappingURL=attrref.d.ts.map