/**
 * Any node model that has a name.
 *
 * Practical use case: If this node is contained in a map within a parent node (e.g. a definition),
 * the key that it's stored under equals the name, i.e. {@link INamed#getName()}
 *
 * @author eric.wittmann@gmail.com
 * @class
 */
export interface INamed {
    /**
     * Gets the definition name.
     * @return {string}
     */
    getName(): string;
    /**
     * Renames the definition.
     * @param {string} newName
     */
    rename(newName: string): any;
}
