import { FieldTypeEnum } from '../enums/field-type.enum'; import { MultilangTextDto } from './multilang-text.dto'; import { FieldOptionDto } from './field-option.dto'; /** * Data Transfer Object for a form field. * This class defines the structure and properties of a single field * that can be used in a user interface form. */ export declare class FieldDto { /** * ID of action field */ id: string; /** * Label of action field */ label: MultilangTextDto[]; /** * Value of the field. * * String is when it is input, text area * Number is when it is number * FieldOptionDto is when it is checkbox * FieldOptionDto[] is when it is radioboxes or select */ value: string | number | FieldOptionDto | FieldOptionDto[]; /** * Type of the field */ type: FieldTypeEnum; /** * Indicates if the field is required */ required?: boolean; /** * Indicates if the field is disabled */ disabled?: boolean; /** * Indicates if the field is hidden */ hidden?: boolean; /** * Regex validation pattern for the field */ regexValidation?: string; /** * Error message for the field for supported languages */ regexValidationErrorMessage?: MultilangTextDto[]; /** * Whether remote validation should be triggered */ triggersRemoteValidation?: boolean; /** * Remote validation error message for supported languages */ remoteValidationErrorMessage?: MultilangTextDto[]; /** * The item attribute is upgradable * If the user has the permission to upgrade the item from his panel * TODO: Let's see if this approach is the best way for the user to upgrade their item */ upgradable?: boolean; downgradable?: boolean; }