import { Localization } from "../Globalization/Localization.js";
import { IComponentOptions } from "./IComponentOptions.js";
import { Person } from "./Person.js";
import { VersionNumber } from "./VersionNumber.js";
/**
 * Represents a component.
 */
export declare abstract class Component {
    /**
     * The human-readable name of the component.
     */
    private displayName;
    /**
     * The version of the component.
     */
    private version;
    /**
     * The author of the component.
     */
    private author;
    /**
     * The creation-date of the component.
     */
    private creationDate;
    /**
     * The description of the component.
     */
    private description;
    /**
     * The license of the component.
     */
    private license;
    /**
     * Initializes a new instance of the {@link Component `Component`} class.
     *
     * @param options
     * The options of the component.
     */
    constructor(options: IComponentOptions);
    /**
     * Gets the human-readable name of the component.
     */
    get DisplayName(): Localization;
    /**
     * Gets or sets the version of the component.
     */
    get Version(): VersionNumber;
    /**
     * @inheritdoc
     */
    set Version(value: VersionNumber);
    /**
     * Gets or sets the author of the component.
     */
    get Author(): Person;
    /**
     * Gets or sets the creation-date of the component.
     */
    get CreationDate(): Date;
    /**
     * @inheritdoc
     */
    set CreationDate(value: Date);
    /**
     * Gets the description of the component.
     */
    get Description(): Localization;
    /**
     * Gets or sets the license of the component.
     */
    get License(): string;
    /**
     * @inheritdoc
     */
    set License(value: string);
}
