import React from 'react';
import type { LocaleProps, ThemeProps } from 'jamis-core';
import Sortable from 'sortablejs';
export interface ArrayInputProps extends ThemeProps, LocaleProps {
    value?: Array<any>;
    onChange?: (value: Array<any>) => void;
    placeholder: string;
    itemRender: (props: {
        value: any;
        onChange: (value: any) => void;
        index: number;
        disabled?: boolean;
    }) => JSX.Element;
    itemInitalValue?: any;
    maxLength?: number;
    minLength?: number;
    disabled?: boolean;
    sortable?: boolean;
    removable?: boolean;
    addable?: boolean;
    editable?: boolean;
    sortTip?: string;
}
export declare class ArrayInput extends React.Component<ArrayInputProps> {
    static defaultProps: {
        placeholder: string;
        itemRender: ({ value, onChange }: {
            value: any;
            onChange: (value: any) => void;
            index: number;
            disabled?: boolean;
        }) => JSX.Element;
    };
    id: string;
    dragTip?: HTMLElement;
    sortable?: Sortable;
    handleItemOnChange(index: number, itemValue: any): void;
    dragTipRef(ref: any): void;
    handleAdd(): void;
    handleRemove(e: React.MouseEvent<HTMLElement>): void;
    initDragging(): void;
    destroyDragging(): void;
    renderItem(value: any, index: number, collection: Array<any>): JSX.Element;
    render(): JSX.Element;
}
declare const _default: typeof ArrayInput;
export default _default;
