/**
 * @class
 * @template T
 */
export class TypeEditor {
    inline = true;

    /**
     * Class is hidden and editor should not be displayed
     * @returns {boolean}
     */
    get hidden() {
        return false;
    }

    /**
     *
     * @returns {TypeSchema|undefined}
     */
    get schema() {
        return undefined;
    }

    /**
     * @param {*} parent
     * @param {FieldDescriptor} field
     * @param {Map<*, TypeEditor>} registry
     * @returns {View|void}
     */
    build(parent, field, registry) {
        throw new Error('Not Implemented');
    }
}
