import { Component } from 'react';
import ExpressionSetter from './setter/expression-setter';
import ColorSetter from './setter/color-setter';
import JsonSetter from './setter/json-setter';
import EventsSetter from './setter/events-setter';
import StyleSetterV2 from './setter/style-setter';
import IconSetter from './setter/icon-setter';
import FunctionSetter from './setter/function-setter';
import ClassNameSetter from './setter/classname-setter';
import StringSetter from './setter/string-setter';
import SelectSetter from './setter/select-setter';
import RadioGroupSetter from './setter/radiogroup-setter';
import BoolSetter from './setter/bool-setter';
import NumberSetter from './setter/number-setter';
import I18nSetter from './setter/i18n-setter';
import SlotSetter from './setter/slot-setter';
import TextAreaSetter from './setter/textarea-setter';
import ArraySetter from './setter/array-setter';
import ObjectSetter from './setter/object-setter';
import VariableSetter from './setter/variable-setter';
import EventBindDialog from './plugin/plugin-event-bind-dialog';
import VariableBindDialog from './plugin/plugin-variable-bind-dialog';
import './index.less';
export declare const DateYearSetter: typeof import("@alifd/next/types/date-picker").YearPicker;
export declare const DateMonthSetter: typeof import("@alifd/next/types/date-picker").MonthPicker;
export declare const DateRangeSetter: typeof import("@alifd/next/types/date-picker").RangePicker;
export { ExpressionSetter, EventsSetter, JsonSetter, IconSetter };
declare class StringDateSetter extends Component<any> {
    render(): JSX.Element;
}
declare class StringTimePicker extends Component<any> {
    render(): JSX.Element;
}
declare const EngineExt: {
    setters: {
        StringSetter: typeof StringSetter;
        NumberSetter: typeof NumberSetter;
        BoolSetter: typeof BoolSetter;
        SelectSetter: typeof SelectSetter;
        VariableSetter: {
            component: typeof VariableSetter;
            condition: (field: any) => boolean;
            valueType: string[];
            title: string;
            recommend: boolean;
        };
        ExpressionSetter: {
            component: typeof ExpressionSetter;
            condition: (field: any) => boolean;
            valueType: string[];
            defaultProps: {
                placeholder: string;
            };
            title: string;
            recommend: boolean;
        };
        RadioGroupSetter: typeof RadioGroupSetter;
        TextAreaSetter: typeof TextAreaSetter;
        DateSetter: typeof StringDateSetter;
        TimePicker: typeof StringTimePicker;
        DateYearSetter: typeof import("@alifd/next/types/date-picker").YearPicker;
        DateMonthSetter: typeof import("@alifd/next/types/date-picker").MonthPicker;
        DateRangeSetter: typeof import("@alifd/next/types/date-picker").RangePicker;
        EventsSetter: typeof EventsSetter;
        ColorSetter: typeof ColorSetter;
        JsonSetter: {
            component: typeof JsonSetter;
            valueType: string[];
        };
        StyleSetter: typeof StyleSetterV2;
        IconSetter: typeof IconSetter;
        ClassNameSetter: typeof ClassNameSetter;
        I18nSetter: typeof I18nSetter;
        FunctionSetter: {
            component: typeof FunctionSetter;
            title: string;
            condition: (field: any) => boolean;
            valueType: string[];
        };
        MixedSetter: any;
        SlotSetter: {
            component: typeof SlotSetter;
            title: {
                type: string;
                'zh-CN': string;
                'en-US': string;
            };
            condition: (field: any) => boolean;
            initialValue: (field: any, value: any) => import("@alilc/lowcode-types").IPublicTypeJSSlot | {
                type: string;
                value: any;
            };
            recommend: boolean;
            valueType: string[];
        };
        ArraySetter: {
            component: typeof ArraySetter;
            defaultProps: {};
            title: string;
            condition: (field: any) => boolean;
            initialValue: any[];
            recommend: boolean;
            valueType: string[];
        };
        ObjectSetter: {
            component: typeof ObjectSetter;
            defaultProps: {};
            title: string;
            condition: (field: any) => boolean;
            initialValue: {};
            recommend: boolean;
        };
    };
    setterMap: {
        StringSetter: typeof StringSetter;
        NumberSetter: typeof NumberSetter;
        BoolSetter: typeof BoolSetter;
        SelectSetter: typeof SelectSetter;
        VariableSetter: {
            component: typeof VariableSetter;
            condition: (field: any) => boolean;
            valueType: string[];
            title: string;
            recommend: boolean;
        };
        ExpressionSetter: {
            component: typeof ExpressionSetter;
            condition: (field: any) => boolean;
            valueType: string[];
            defaultProps: {
                placeholder: string;
            };
            title: string;
            recommend: boolean;
        };
        RadioGroupSetter: typeof RadioGroupSetter;
        TextAreaSetter: typeof TextAreaSetter;
        DateSetter: typeof StringDateSetter;
        TimePicker: typeof StringTimePicker;
        DateYearSetter: typeof import("@alifd/next/types/date-picker").YearPicker;
        DateMonthSetter: typeof import("@alifd/next/types/date-picker").MonthPicker;
        DateRangeSetter: typeof import("@alifd/next/types/date-picker").RangePicker;
        EventsSetter: typeof EventsSetter;
        ColorSetter: typeof ColorSetter;
        JsonSetter: {
            component: typeof JsonSetter;
            valueType: string[];
        };
        StyleSetter: typeof StyleSetterV2;
        IconSetter: typeof IconSetter;
        ClassNameSetter: typeof ClassNameSetter;
        I18nSetter: typeof I18nSetter;
        FunctionSetter: {
            component: typeof FunctionSetter;
            title: string;
            condition: (field: any) => boolean;
            valueType: string[];
        };
        MixedSetter: any;
        SlotSetter: {
            component: typeof SlotSetter;
            title: {
                type: string;
                'zh-CN': string;
                'en-US': string;
            };
            condition: (field: any) => boolean;
            initialValue: (field: any, value: any) => import("@alilc/lowcode-types").IPublicTypeJSSlot | {
                type: string;
                value: any;
            };
            recommend: boolean;
            valueType: string[];
        };
        ArraySetter: {
            component: typeof ArraySetter;
            defaultProps: {};
            title: string;
            condition: (field: any) => boolean;
            initialValue: any[];
            recommend: boolean;
            valueType: string[];
        };
        ObjectSetter: {
            component: typeof ObjectSetter;
            defaultProps: {};
            title: string;
            condition: (field: any) => boolean;
            initialValue: {};
            recommend: boolean;
        };
    };
    pluginMap: {
        EventBindDialog: typeof EventBindDialog;
        VariableBindDialog: typeof VariableBindDialog;
    };
    registerSetter(key: string, value: any): void;
};
export default EngineExt;
