/**
 * Object with a name.
 * @param {string} name
 * @param {Object} [options]
 * @param {string} [options.id]
 * @param {string} [options.name]
 * @param {string} [options.description]
 * @param {Object} [additionalProperties]
 *
 * @property {string} name
 */
export class NamedObject extends BaseObject {
    static get attributes(): {
        id: import("pacc").AttributeDefinition;
        name: import("pacc").AttributeDefinition;
        description: import("pacc").AttributeDefinition;
    };
    constructor(name: any, options: any, additionalProperties: any);
    set name(name: string);
    get name(): string;
    /**
     * Beautified name use for human displaying only.
     * @return {string} human readable name
     */
    get displayName(): string;
    /**
     * Name with default parts removed
     * @return {string}
     */
    get condensedName(): string;
    /**
     * Complete name in the hierachy.
     * @return {string}
     */
    get fullCondensedName(): string;
    /**
     * Check for equality.
     * @param {NamedObject} other
     * @return {boolean} true if names are equal and have the same provider
     */
    equals(other: NamedObject): boolean;
    /**
     * Provided name and all defined attributes.
     */
    toJSON(): any;
    #private;
}
import { BaseObject } from "./base-object.mjs";
