/// <reference types="react" />
import type { EntityAccessor, EntityListAccessor } from '@contember/react-binding';
import { AddEntityButtonProps, EmptyMessageOuterProps } from '@contember/react-binding-ui';
import type { MessageFormatter } from '@contember/react-i18n';
import { FieldContainerOwnProps } from '@contember/ui';
import type { RepeaterDictionary } from './repeaterDictionary';
export type RepeaterFieldContainerPublicProps = EmptyMessageOuterProps & AddEntityButtonProps & {
    enableAddingNew?: boolean;
};
export type RepeaterCreateNewEntity = (initialize?: EntityAccessor.BatchUpdatesHandler, index?: number) => void;
export interface RepeaterFieldContainerPrivateProps extends Omit<FieldContainerOwnProps, 'useLabelElement'> {
    accessor: EntityListAccessor;
    entities: EntityAccessor[];
    formatMessage: MessageFormatter<RepeaterDictionary>;
    isEmpty: boolean;
    createNewEntity: RepeaterCreateNewEntity;
}
export type RepeaterFieldContainerProps = RepeaterFieldContainerPublicProps & RepeaterFieldContainerPrivateProps;
export declare const RepeaterFieldContainer: React.MemoExoticComponent<({ accessor, addButtonText, children, createNewEntity, addButtonComponent: AddButton, addButtonComponentExtraProps, addButtonProps, emptyMessage, emptyMessageComponent, enableAddingNew, formatMessage, isEmpty, label, ...rest }: RepeaterFieldContainerProps) => import("react/jsx-runtime").JSX.Element>;
//# sourceMappingURL=RepeaterFieldContainer.d.ts.map