export class Description {
    /**
     *
     * @param {SelfDescribing} value
     * @returns {this}
     */
    appendDescriptionOf(value) {
        throw new Error('Not Implemented');
    }

    /**
     * @param {string} start
     * @param {string} separator
     * @param {string} end
     * @param {Iterable<SelfDescribing>} values
     * @returns {this}
     */
    appendList(start, separator, end, values) {
        throw new Error('Not Implemented');
    }

    /**
     *
     * @param {string} text
     * @returns {this}
     */
    appendText(text) {
        throw new Error('Not Implemented');
    }

    /**
     * @template T
     * @param {T} value
     * @returns {this}
     */
    appendValue(value) {
        throw new Error('Not Implemented');
    }

    /**
     *
     * @template T
     * @param {string} start
     * @param {string} separator
     * @param {string} end
     * @param {Iterable<T>} values
     * @returns {this}
     */
    appendValueList(start, separator, end, values) {
        throw new Error('Not Implemented');
    }

}
