import React, { HTMLProps } from 'react'; import { ButtonProps } from 'antd-mobile/lib/components/button'; import { ArrayField } from '@formily/core'; import { Schema, JSXComponent } from '@formily/react'; export * from './utils'; export declare type IconProps = HTMLProps & React.SVGProps; export interface IArrayBaseAdditionProps extends ButtonProps { title?: string; method?: 'push' | 'unshift'; defaultValue?: any; } export interface IArrayBaseContext { props: IArrayBaseProps; field: ArrayField; schema: Schema; } export interface IArrayBaseItemProps { index: number; record: any; } export declare type ArrayBaseMixins = { Addition?: React.FC; Remove?: React.FC; MoveUp?: React.FC; MoveDown?: React.FC; SortHandle?: React.FC; Copy?: React.FC; Index?: React.FC; Empty?: React.FC; useArray?: () => IArrayBaseContext; useIndex?: () => number; useRecord?: () => any; }; export interface IArrayBaseProps { disabled?: boolean; onAdd?: (index: number) => void; onRemove?: (index: number) => void; onCopy?: (index: number) => void; onMoveDown?: (index: number) => void; onMoveUp?: (index: number) => void; } declare type ComposedArrayBase = React.FC & ArrayBaseMixins & { Item?: React.FC; mixin?: (target: T) => T & ArrayBaseMixins; }; export declare const ArrayBase: ComposedArrayBase; export default ArrayBase;