import type { FormItemProps, TableColumnProps } from 'antd';
import type { FormListProps as AntFormListProps } from 'antd/es/form';
import React from 'react';
import { CollapseGroupProps } from '../../CollapseGroup';
import { FormCollapseListOperation } from './hooks';
import { FieldPath } from './utils';
interface FormCollapseListColumnItem extends Omit<FormItemProps, 'dependencies' | 'rules' | 'tooltip' | 'labelAlign' | 'labelCol' | 'colon' | 'children'> {
    render?: (fieldName: number, index: number, operation: FormCollapseListOperation, 
    /** 当前 item 的 path */
    fieldPath: FieldPath) => React.ReactNode;
    rules?: FormItemProps['rules'] | ((parentFieldPath: FieldPath, index: number) => FormItemProps['rules']);
    dependencies?: FormItemProps['dependencies'] | ((parentFieldPath: FieldPath, index: number) => FormItemProps['dependencies']);
}
export interface FormListOperationAddParams {
    defaultValue?: any;
    insertIndex?: number;
}
export interface FormCollapseListColumn extends FormCollapseListColumnItem, Pick<TableColumnProps<any>, 'align' | 'ellipsis' | 'fixed' | 'responsive' | 'shouldCellUpdate' | 'width'> {
}
export interface FormCollapseListProps extends Omit<AntFormListProps, 'name' | 'children'>, Pick<CollapseGroupProps, 'className' | 'collapsible' | 'extra' | 'expandIcon' | 'icon' | 'title' | 'variant' | 'defaultActive' | 'style'> {
    /** 字段名 */
    name?: FormItemProps['name'];
    /** 表单列为空时展示的空内容 */
    empty?: React.ReactNode;
    /** 表单列配置 */
    columns?: FormCollapseListColumn[];
    /** 新增表单项的参数 */
    addParams?: FormListOperationAddParams | (() => FormListOperationAddParams);
    /** 是否禁用 */
    disabled?: boolean;
    /** 只读模式 */
    readOnly?: boolean;
    /** 默认添加一个 field */
    addOneFieldDefault?: boolean;
    /** 当只有一个 field 时禁用移除 */
    disableRemoveWhenOneField?: boolean;
    /** 限制最大 fields 数量 */
    maxFileds?: number;
    /** 删除时调用，返回 false 时取消删除 */
    onRemove?: (values: any) => boolean | void | Promise<boolean | void>;
    /** 是否启用表单项删除按钮，默认为启用 */
    fieldRemoveButton?: boolean;
    /** [树形数据] 初始时，是否展开所有行 */
    defaultExpandAllRows?: boolean;
    /** [树形数据] 每层缩进的宽度，以 px 为单位, 默认为 16 */
    indentSize?: number;
    /** [树形数据] 指定树形结构的列名，默认为 children */
    childrenColumnName?: string;
    /** 表格行是否开启 hover 交互, 默认为启用 */
    rowHoverable?: boolean;
}
export declare const FormCollapseList: React.FC<FormCollapseListProps>;
export {};
