import * as React from 'react'; import { Form, FormApi, FormComponentState, FormProps } from '../Form'; import { ValidatorData } from '../../types'; import { BoundComponent, BoundComponentProps } from '../bind'; export declare type NestedFormChildrenRenderFunc = (renderProps: { validatorData: ValidatorData; }) => React.ReactNode; export interface NestedFormProps extends BoundComponentProps { name: string; children: React.ReactNode | NestedFormChildrenRenderFunc; valueTransformer?: FormProps['valuesTransformer']; } export declare class NestedForm extends React.Component implements BoundComponent { /** * Reference to the nearest Form ancestor provided via the context API */ _parentFormApi: FormApi; /** * Reference to the wrapped Form */ _wrappedFormRef: React.RefObject>; componentDidMount(): void; componentWillUnmount(): Promise; renderChildren(children: NestedFormProps['children']): React.ReactNode; render(): JSX.Element; clear: BoundComponent['clear']; reset: BoundComponent['reset']; validate: BoundComponent['validate']; isValid: BoundComponent['isValid']; isPristine: BoundComponent['isPristine']; getValue: BoundComponent['getValue']; setValue: BoundComponent['setValue']; getValidatorData: BoundComponent['getValidatorData']; setValidatorData: BoundComponent['setValidatorData']; _handleChange: (componentName: string, value: any) => Promise; _handleBlur: (componentName: string, event: any) => any; _handleFocus: (componentName: string, event: any) => any; _handleUpdate: (componentName: string) => Promise; _update: (componentState: FormComponentState) => Promise; _isRecursive: () => boolean; /** * If we're setting the value to undefined or null, we need to map * the new value to each nested form component. Otherwise, providing * this value to setValues will have no impact. */ _transformValue: (value: any) => any; logCall: (functionName: string, args?: { [argName: string]: any; }) => void; }