import { ComboListProps } from '../../combo-list';
import { ComboTreeProps } from '../../combo-tree';
import { EditorType as DynamicFormEditorType } from '../../dynamic-form';
import { InputGroupProps } from '../../input-group';
import { ExtractPropTypes, VNode } from "vue";
export interface EditorConfig {
    type?: DynamicFormEditorType | 'custom';
    componentProps?: Partial<ComboListProps | InputGroupProps | ComboTreeProps>;
    context?: any;
    /** 将事件参数的值转化为参数编辑器所需要的格式 */
    convertEventParamValue2EditorValue?: (eventParamValue: any) => any;
    /** 将参数编辑器的值转化为事件参数所需要的格式 */
    convertEditorValue2EventParamValue?: (editorValue: any) => any;
    checkAndProcessBeforeAssign?: (modelValue: string) => any;
    render?: () => VNode | null;
}
export interface EditorControlSource {
    type?: string;
    context?: {
        schema?: {
            type?: string;
            value?: any;
        };
        columns?: {
            type?: string;
            value?: any;
        };
        data?: {
            type?: string;
            value?: any;
        };
    };
}
export interface EditorMap {
    [key: string]: EditorConfig;
}
export declare enum EditorType {
    Default = "Default",
    Textbox = "Textbox",
    Numberbox = "Numberbox",
    Combolist = "Combolist",
    Select = "Select",
    Checkbox = "Checkbox",
    Switch = "Switch",
    Tags = "Tags",
    SortEditor = "SortEditor",
    FilterEditor = "FilterEditor",
    DataEditor = "DataEditor",
    MenuIdSelector = "MenuIdSelector",
    AppIdSelector = "AppIdSelector",
    ComboLookup = "ComboLookup",
    ConfigurationParameterEditor = "ConfigurationParameterEditor",
    FieldMappingEditor = "FieldMappingEditor",
    Custom = "Custom"
}
export declare const editorMap: EditorMap;
export declare const eventParameterProps: Record<string, any>;
export type EventParameterProps = ExtractPropTypes<typeof eventParameterProps>;
