import { Node } from './Node'; /** * All data models that can be extended using the "x-*" approach to adding vendor extension * properties must extend this class. * @author eric.wittmann@gmail.com * @class * @extends Node */ export declare abstract class ExtensibleNode extends Node { _extensions: any; /** * @see io.apicurio.datamodels.core.models.Node#isExtensible() * @return {boolean} */ isExtensible(): boolean; /** * Called to create an extension child. * @return {Extension} */ createExtension(): Extension; /** * Called to add a named extension to this node. * @param {string} name * @param {Extension} extension */ addExtension(name: string, extension: Extension): void; /** * Returns all of the extensions defined on this node. * @return {Extension[]} */ getExtensions(): Array; /** * Gets a single extension by name. * @param {string} name * @return {Extension} */ getExtension(name: string): Extension; /** * Removes a single extension by name. * @param {string} name */ removeExtension(name: string): void; /** * Removes all extensions from this node. */ clearExtensions(): void; constructor(); } import { Extension } from './Extension';