import * as React from 'react';
import { type ReactNode } from 'react';
import { type UseFieldArrayReturn } from 'react-hook-form';
import type { RaRecord } from "../types.js";
import { type ArrayInputContextValue } from "../controller/input/ArrayInputContext.js";
export type DisableRemoveFunction = (record: RaRecord) => boolean;
export declare const SimpleFormIteratorItem: React.ForwardRefExoticComponent<Partial<ArrayInputContextValue> & {
    children?: ReactNode;
    disabled?: boolean;
    disableRemove?: boolean | DisableRemoveFunction;
    disableReordering?: boolean;
    getItemLabel?: boolean | GetItemLabelFunc;
    index: number;
    inline?: boolean;
    record: RaRecord;
    removeButton?: ReactNode;
    reOrderButtons?: ReactNode;
    resource?: string;
    source?: string;
} & React.RefAttributes<any>>;
export declare const SimpleFormIterator: (props: SimpleFormIteratorProps) => React.JSX.Element | null;
type GetItemLabelFunc = (index: number) => ReactNode;
export interface SimpleFormIteratorProps extends Partial<UseFieldArrayReturn> {
    addButton?: ReactNode;
    children?: ReactNode;
    className?: string;
    readOnly?: boolean;
    disabled?: boolean;
    disableAdd?: boolean;
    disableClear?: boolean;
    disableRemove?: boolean | DisableRemoveFunction;
    disableReordering?: boolean;
    fullWidth?: boolean;
    getItemLabel?: boolean | GetItemLabelFunc;
    inline?: boolean;
    meta?: {
        error?: any;
        submitFailed?: boolean;
    };
    record?: RaRecord;
    removeButton?: ReactNode;
    reOrderButtons?: ReactNode;
    resource?: string;
    source?: string;
}
export {};
//# sourceMappingURL=SimpleFormIterator.d.ts.map