/**
* 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;
}