import React from 'react';
import Sortable from 'sortablejs';
import type { SubFormProps } from './types';
interface SubFormState {
    dialogData?: any;
    dialogCtx?: {
        mode?: 'add' | 'edit';
        index?: number;
    };
}
export default class SubFormControl extends React.PureComponent<SubFormProps, SubFormState> {
    static defaultProps: Partial<SubFormProps>;
    static propsList: Array<string>;
    state: SubFormState;
    dragTip?: HTMLElement;
    sortable?: Sortable;
    id: string;
    constructor(props: SubFormProps);
    addItem(): void;
    removeItem(e: React.UIEvent<any>): void;
    editSingle(): void;
    open(e: React.UIEvent<any>): void;
    close(): void;
    handleDialogConfirm(values: Array<object>): void;
    dragTipRef(ref: any): void;
    initDragging(): void;
    destroyDragging(): void;
    buildDialogSchema(): {
        type: string;
        body: {
            type: string;
        };
    };
    renderMultipe(): JSX.Element;
    renderSingle(): JSX.Element;
    render(): JSX.Element;
}
export declare class SubFormControlRenderer extends SubFormControl {
}
export {};
