/** * Marks a node that can be referenced (replaced by a reference), * e.g. OpenAPI 3 reference object . * * Any class implementing this interface MUST have {@link io.apicurio.datamodels.core.models.Node} as it's supertype. * Conversely, any subclass of {@link io.apicurio.datamodels.core.models.Node} that can be referenced MUST implement this interface. * * @author eric.wittmann@gmail.com * @author Jakub Senko * @class */ export interface IReferenceNode { /** * Return the reference string, if this {@link io.apicurio.datamodels.core.models.Node} is a reference object. * * @return {string} null otherwise (this node is either empty or a proper node) */ getReference(): string; setReference(reference: string): any; }