import React, { ReactNode } from 'react';
import FieldBuilder from './utils/builders/FieldBuilder';
import { EventField, GetArrayValues, GetFields, GlobalPropsInterface, GridRender, InitialState, LabelPropsField, NameField, ValidationsFields, value } from './types';
export interface FieldsRenderProps<Name extends NameField, Item extends FieldBuilder<value, Name, LabelPropsField>, Fields extends Item[], FieldsObject> extends InitialState, GlobalPropsInterface, ValidationsFields<Name, Item, Fields, FieldsObject>, GridRender {
    onChangeField?<Field extends keyof FieldsObject>(event: EventField<FieldsObject[Field], Field>, nativeEvent?: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>): void | (() => void);
    children?: ReactNode;
    fields: GetArrayValues<GetFields<FieldsObject>>;
}
export declare class FieldsRender<Name extends NameField, Item extends FieldBuilder<value, Name, LabelPropsField>, Fields extends Item[], FieldsObject> extends React.PureComponent<FieldsRenderProps<Name, Item, Fields, FieldsObject>> {
    static defaultProps: {
        ns: string;
        transPosition: string;
    };
    /**
     *
     *
     * @return {JSX.Element}
     * @memberof FieldsRender
     */
    render(): JSX.Element;
}
export default FieldsRender;
