import * as React from 'react';
import { Component } from 'react';
import { IPublicModelSettingField, IPublicTypeFieldConfig, IPublicTypeSetterType } from '@alilc/lowcode-types';
import './style.less';
interface ArraySetterState {
    items: IPublicModelSettingField[];
}
interface ArraySetterProps {
    value: any[];
    field: IPublicModelSettingField;
    itemSetter?: IPublicTypeSetterType;
    columns?: IPublicTypeFieldConfig[];
    multiValue?: boolean;
    hideDescription?: boolean;
    onChange?: Function;
    extraProps: {
        renderFooter?: (options: ArraySetterProps & {
            onAdd: (val?: {}) => any;
        }) => any;
    };
}
export declare class ListSetter extends Component<ArraySetterProps, ArraySetterState> {
    state: ArraySetterState;
    private scrollToLast;
    constructor(props: ArraySetterProps);
    static getDerivedStateFromProps(props: ArraySetterProps, state: ArraySetterState): {
        items: IPublicModelSettingField[];
    };
    onSort(sortedIds: Array<string | number>): void;
    onAdd(newValue?: {
        [key: string]: any;
    }): void;
    onRemove(removed: IPublicModelSettingField): void;
    componentWillUnmount(): void;
    render(): React.JSX.Element;
}
export default class ArraySetter extends Component<{
    value: any[];
    field: IPublicModelSettingField;
    itemSetter?: IPublicTypeSetterType;
    mode?: 'popup' | 'list';
    forceInline?: boolean;
    multiValue?: boolean;
}> {
    static contextType: any;
    private pipe;
    render(): React.JSX.Element;
}
export {};
