import type { ReactNode } from 'react';
import React from 'react';
import type { ButtonProps } from 'antd';
import type { FormListFieldData, FormListOperation, FormListProps } from 'antd/lib/form/FormList';
import type { LabelTooltipType } from 'antd/lib/form/FormItemLabel';
import type { NamePath } from 'antd/lib/form/interface';
type IconConfig = {
    Icon?: React.FC<any>;
    tooltipText?: string;
};
declare const FormListContext: React.Context<Record<string, any> | (FormListFieldData & {
    listName: NamePath;
})>;
type ChildrenItemFunction = (field: FormListFieldData, index: number, operation: FormListOperation) => React.ReactNode;
export type ProFormListProps = Omit<FormListProps, 'children'> & {
    creatorButtonProps?: false | (ButtonProps & {
        creatorButtonText?: ReactNode;
        position?: 'top' | 'bottom';
    });
    creatorRecord?: Record<string, any> | (() => Record<string, any>);
    label?: ReactNode;
    tooltip?: LabelTooltipType;
    actionRender?: (field: FormListFieldData, action: FormListOperation, defaultActionDom: ReactNode[]) => ReactNode[];
    children: ReactNode | ChildrenItemFunction;
    itemContainerRender?: (doms: ReactNode, listMeta: {
        field: FormListFieldData;
        fields: FormListFieldData[];
        index: number;
        operation: FormListOperation;
        record: Record<string, any>;
        meta: {
            errors: React.ReactNode[];
        };
    }) => ReactNode;
    /** 自定义Item，可以用来将 action 放到别的地方 */
    itemRender?: (doms: {
        listDom: ReactNode;
        action: ReactNode;
    }, listMeta: {
        field: FormListFieldData;
        fields: FormListFieldData[];
        index: number;
        operation: FormListOperation;
        record: Record<string, any>;
        meta: {
            errors: React.ReactNode[];
        };
    }) => ReactNode;
    copyIconProps?: IconConfig | false;
    deleteIconProps?: IconConfig | false;
    actionRef?: React.MutableRefObject<FormListOperation | undefined>;
};
declare const ProFormList: React.FC<ProFormListProps>;
export { FormListContext };
export default ProFormList;
