import { DATATYPE } from './defs/datatypes';

export type EntityFieldType = {
    entity_field_id: number;
    entity_id: number;
    name: string;
    form_label: string;
    data_type: DATATYPE;
    ui_type?: 'default' | 'textarea' | 'dropdown' | 'autocomplete';
    ui_autocomplete_accept_custom_values?: boolean;
    options_values_id?: number;
    default_value?: string;
    is_nullable?: boolean;
    is_id_field?: boolean;
    layout_width12?: number;
    layout_fill_width?: boolean;
    formOrder?: (string | number)[];
    reference_entity_field_id?: number;
    required_list_field_type?: string;
    form_sequence?: number;
};
export type EntityFieldPayloadType = EntityFieldType & {
    owner_user_id?: number;
    html_project_id: string;
};
export type EntityFieldTypeKeys = keyof EntityFieldType;
export declare const EntityFieldDbFieldsDefs: ({
    name: "entity_field_id";
    data_type: string;
    is_id_field: boolean;
    required?: undefined;
    ui_type?: undefined;
    readonly width12?: undefined;
    readonly fillWidth?: undefined;
} | {
    name: "entity_id";
    data_type: string;
    required: boolean;
    ui_type: string;
    readonly is_id_field?: undefined;
    readonly width12?: undefined;
    readonly fillWidth?: undefined;
} | {
    readonly name: "name";
    readonly data_type: "varchar";
    readonly required: true;
    readonly width12: 6;
    readonly fillWidth: true;
    readonly is_id_field?: undefined;
    ui_type?: undefined;
} | {
    readonly name: "is_id_field";
    readonly data_type: "bool";
    readonly is_id_field?: undefined;
    required?: undefined;
    ui_type?: undefined;
    readonly width12?: undefined;
    readonly fillWidth?: undefined;
} | {
    readonly name: "data_type";
    readonly data_type: "varchar";
    readonly required: true;
    readonly ui_type: "dropdown";
    readonly width12: 6;
    readonly is_id_field?: undefined;
    readonly fillWidth?: undefined;
} | {
    readonly name: "ui_type";
    readonly data_type: "varchar";
    readonly ui_type: "dropdown";
    readonly width12: 6;
    readonly is_id_field?: undefined;
    required?: undefined;
    readonly fillWidth?: undefined;
} | {
    readonly name: "options_values_id";
    readonly data_type: "integer references _entity_values (entity_values_id)";
    readonly ui_type: "dropdown";
    readonly width12: 6;
    readonly is_id_field?: undefined;
    required?: undefined;
    readonly fillWidth?: undefined;
} | {
    readonly name: "ui_autocomplete_accept_custom_values";
    readonly data_type: "bool";
    readonly is_id_field?: undefined;
    required?: undefined;
    ui_type?: undefined;
    readonly width12?: undefined;
    readonly fillWidth?: undefined;
} | {
    readonly name: "reference_entity_field_id";
    readonly data_type: "integer references _entity_fields (entity_field_id)";
    readonly ui_type: "dropdown";
    readonly width12: 6;
    readonly is_id_field?: undefined;
    required?: undefined;
    readonly fillWidth?: undefined;
} | {
    readonly name: "form_label";
    readonly data_type: "varchar";
    readonly required: true;
    readonly is_id_field?: undefined;
    ui_type?: undefined;
    readonly width12?: undefined;
    readonly fillWidth?: undefined;
} | {
    readonly name: "layout_width12";
    readonly data_type: "integer";
    readonly width12: 6;
    readonly is_id_field?: undefined;
    required?: undefined;
    ui_type?: undefined;
    readonly fillWidth?: undefined;
} | {
    readonly name: "layout_fill_width";
    readonly data_type: "bool";
    readonly width12: 6;
    readonly is_id_field?: undefined;
    required?: undefined;
    ui_type?: undefined;
    readonly fillWidth?: undefined;
} | {
    readonly name: "form_sequence";
    readonly data_type: "integer";
    readonly is_id_field?: undefined;
    required?: undefined;
    ui_type?: undefined;
    readonly width12?: undefined;
    readonly fillWidth?: undefined;
} | {
    name: "owner_user_id";
    data_type: string;
    readonly is_id_field?: undefined;
    required?: undefined;
    ui_type?: undefined;
    readonly width12?: undefined;
    readonly fillWidth?: undefined;
} | {
    name: "html_project_id";
    data_type: string;
    readonly is_id_field?: undefined;
    required?: undefined;
    ui_type?: undefined;
    readonly width12?: undefined;
    readonly fillWidth?: undefined;
})[];
export declare const compareFormSequenceFn: (a: Record<string, number>, b: Record<string, number>, sequenceKey: string) => number;
export declare const sortByFormSequence: (entityFields: Record<string, number>[], sequenceKey: string) => Record<string, number>[];
