import { DataCore } from './data-core.abstract';
/**
 * @description The `Data` class is a concrete class that wraps a value and provides methods for setting, retrieving, and destroying the value.
 * @export
 * @class Data
 * @template Type
 * @extends {DataCore<Type>}
 */
export declare class Data<Type> extends DataCore<Type> {
    #private;
    /**
     * @description Returns the `string` tag representation of the `Data` class when used in `Object.prototype.toString.call(instance)`.
     * @public
     * @readonly
     * @type {string}
     */
    get [Symbol.toStringTag](): string;
    /**
     * @description Returns the privately stored value of generic type variable `Type`.
     * @public
     * @readonly
     * @type {Type}
     */
    get value(): Type;
    /**
     * Creates an instance of `Data` child class.
     * @constructor
     * @param {Type} value Initial data value of generic type variable `Type`.
     */
    constructor(value: Type);
    /**
     * @description Destroys the `Value` object by setting it to `null`.
     * @public
     * @returns {this} Returns the current instance.
     */
    destroy(): this;
    /**
     * @description Sets the data value.
     * @public
     * @param {Type} value The data of `Type` to set.
     * @returns {this} Returns the current instance.
     */
    set(value: Type): this;
}
