import { UiRelation } from "../ui/ui-relation";
/**
 * Interface representing Ui-specific metadata for a property.
 * Contains display and behavior settings for Ui components.
 */
export interface UiPropertyMeta {
    /**
     * Property name from the resource class.
     */
    name: string;
    /**
     * Indicates whether the property is visible in Ui interface elements.
     * Can be set to false using the {@link notDisplayable} decorator.
     */
    isDisplayable: boolean;
    /**
     * Indicates whether the property is visible in list views.
     * Can be set to false using the {@link notListDisplayable} decorator.
     */
    isListDisplayable: boolean;
    /**
     * Indicates whether the property is visible in edit forms.
     * Can be set to false using the {@link notEditDisplayable} decorator.
     */
    isEditDisplayable: boolean;
    /**
     * Indicates whether the property is visible in filter panels.
     * Can be set to false using the {@link notFilterDisplayable} decorator.
     */
    isFilterDisplayable: boolean;
    /**
     * Property's Ui priority.
     * Can be set using the {@link uiRelationPriority} decorator.
     */
    uiRelation?: UiRelation;
    /**
     * Determines if the property should be displayed with color highlighting in the Ui.
     * Enum properties are colorful by default. Use the {@link notColorful} decorator to disable.
     */
    colorful: boolean;
    /**
     * Indicates whether this property should be included in search operations.
     * Can be set to true using the {@link searchable} decorator.
     */
    isSearchable?: boolean;
    /**
     * Disables color highlighting for enum properties. Applied using the {@link notColorful} decorator.
     */
    notColorful?: boolean;
}
