import { MRT_ColumnDef, MRT_RowData } from 'material-react-table';

export interface IProperty {
    field_type: string;
    label: string;
    placeholder: string;
    default_value?: string;
    float_step?: string;
    min_length?: number;
    max_length?: number;
    is_multiline?: boolean;
    is_required?: boolean;
    is_negative?: boolean;
    is_unique?: boolean;
    is_checked?: boolean;
    id?: string;
    is_future_dates_allowed?: boolean;
    is_past_dates_allowed?: boolean;
    option?: string;
    max_size?: number;
    section_id?: string;
    section_name?: string;
    title_position?: "start" | "end";
    title?: string;
    table_columns?: MRT_ColumnDef<MRT_RowData>[];
    table?: string;
    module?: string;
    field?: string;
    is_country_code_separate?: boolean;
    country_code_field_name?: string;
}
interface IMultiOption {
    value: string;
    label: string;
    is_checked: boolean;
}
export interface IMultiOptionsProperty extends IProperty {
    options: IMultiOption[];
    display?: "row" | "column";
}
export interface ISelectProperty {
    field_type: string;
    label: string;
    placeholder: string;
    default_value: string;
    is_required?: boolean;
    is_unique?: boolean;
    options: ISelectOption[];
    is_multiselect?: boolean;
    id?: string;
    section_id?: string;
    section_name?: string;
}
export interface ISwitcherForms {
    value?: string;
    name: string;
    id: string | number | null;
}
export interface ISectionProperty {
    field_type: string;
    label: string;
    is_accordion: boolean;
    id?: string;
    section_order?: string;
    section_id?: string;
    section_name?: string;
    section_type: "Default" | "Form switcher section";
    form_switcher_label?: string;
    form_switcher_name?: string;
    switcher_forms?: ISwitcherForms[];
    members: IProperty[] | ISelectProperty[];
}
interface ISelectOption {
    text: string;
    value: string;
}
export declare const element: {
    text: IProperty;
    number: IProperty;
    email: IProperty;
    phone: IProperty;
    select: ISelectProperty;
    date: IProperty;
    time: IProperty;
    url: IProperty;
    currency: IProperty;
    file: IProperty;
    geoLocation: IProperty;
    image: IProperty;
    section: ISectionProperty;
    info: IProperty;
    relation: IProperty;
    checkbox: IProperty;
    toggleButton: IProperty;
    radioButton: IMultiOptionsProperty;
    table: IProperty;
    tagsInput: IProperty;
};
export {};
