import { FormItemJSON } from '../element-easy-form';
import { AttrType, ComponentType } from './enum';
import { WatchOptions } from 'vue';

interface WatchHandler {
    prop: string;
    immediate?: boolean;
    options?: WatchOptions;
    handler: (value: any, children?: any[]) => void;
}
export interface DragFormType extends FormItemJSON {
    id?: string;
    type?: string;
    attrsJson?: FormItemJSON[];
    title?: string;
    active?: boolean;
    formType?: string;
    parentId?: string;
    watch?: WatchHandler | WatchHandler[];
}
export declare const ElColDragFormData: (span?: number, parentId?: string) => {
    title: string;
    type: AttrType;
    componentName: ComponentType;
    attrs: {
        span: number;
    };
    parentId: string;
    children: never[];
    attrsJson: DragFormType[];
};
export declare const ElTableColumnsData: (span?: number) => {
    title: string;
    type: AttrType;
    componentName: ComponentType;
    attrs: {};
    children: never[];
    attrsJson: never[];
};
export {};
