import './fieldStyle.css'; import type { ParametersInternal, Property } from '../../types'; import type { Data } from '../../classes/Data'; import type { FieldLocalParamInternal } from './types'; export declare abstract class Field { /** * this is name of the field internaly */ static fieldName: string; /** * this is the label name thats shown for users */ static fieldLabelName: string; /** * this is the icon thats shown for users */ static fieldIcon: string; /** * this the flag that determens if the field is Base or a CustomField */ static isBaseField: boolean; /** * this is a refrance of the Data object */ protected data: Data; /** * This is the property of the current field. a property is a part that * represents the field in the data object that has all the data */ property: Property; /** * This is the params of the guifier object. here you can find all the configurations of the user */ protected params: ParametersInternal; /** * This is the keyName of the current field. if the field is an object property * it will have a string key and if its an array key its going to have a number key */ keyName: string | number; /** * every field has two colors theme to make them more visible when they are nested * this property decides which color theme to use */ showSecondaryColors: boolean; /** * The localParam property is the this.property._params */ localParam: FieldLocalParamInternal; /** * this property tells if the current field is a big field (if it requires more than 45px height) like object, array or a rich text field */ isCollapsible: boolean; abstract getFieldLabelName(): string; constructor(property: Property, data: Data, params: ParametersInternal); /** * This function validates the _params of the property object */ protected abstract validateParams(): void; /** * This function validates the _rules of the property object */ protected abstract validateRules(): void; /** * This function is responsible for drawing the HTMLElement object * * @returns {HTMLElement} html element object */ abstract draw(): HTMLElement; /** * This function is responsible for setting the new value to the property */ protected setValue(newValue: any): void; /** * This function is responsible for drawing the collapsible fields wihtout a container. * This function needs to be overridden by a child field class and it created to be used * with arrays containers */ drawCollapsibleFieldContentWithoutContainer(): HTMLElement; } //# sourceMappingURL=Field.d.ts.map