import { Component } from 'vue';
import { ISettingInputOptions } from '../SettingInput';
import { ISettingComboboxOptions } from '../SettingCombobox';
import { ISettingDatePickerOptions } from '../SettingDatePicker';

export declare enum SETTING_MULTI_BUILDER_TYPE {
    INPUT = "input",
    CHECKBOX = "checkbox",
    DATE_PICKER = "actindo-date-picker",
    COMBOBOX = "actindo-combobox"
}
interface ISettingMultiBuilderInputOption extends ISettingInputOptions {
    type: SETTING_MULTI_BUILDER_TYPE.INPUT;
    serializationName: string;
}
interface ISettingMultiBuilderComboboxOption extends ISettingComboboxOptions {
    type: SETTING_MULTI_BUILDER_TYPE.COMBOBOX;
    serializationName: string;
    loadItems?: boolean;
    remote?: string;
    displayField?: string;
    valueField?: string;
    items?: object[];
}
interface ISettingMultiBuilderCheckboxOption {
    type: SETTING_MULTI_BUILDER_TYPE.CHECKBOX;
    serializationName: string;
}
interface ISettingMultiBuilderDatePickerOption extends ISettingDatePickerOptions {
    type: SETTING_MULTI_BUILDER_TYPE.DATE_PICKER;
    serializationName: string;
}
export type ISettingMultiBuilderOption = ISettingMultiBuilderInputOption | ISettingMultiBuilderComboboxOption | ISettingMultiBuilderCheckboxOption | ISettingMultiBuilderDatePickerOption;
export interface ISettingMultiBuilderValidationRules {
    customValidation: string[];
    rowValidation: [string, string, string][];
}
export declare const COMPONENTS: Record<SETTING_MULTI_BUILDER_TYPE, {
    component: Component;
} | {
    renderComponent: string;
    renderImportPath: string;
}>;
export {};
