// @flow import type {Node, Component} from 'react' import type { Event, Context } from './types' export type InstanceApi = { name: string, getRenderedComponent: { (): Component<*, *> }, isPristine: { (): boolean }, getValue: { (): any } } & Component<*, *> export type Props = { name: string, component: Function | string, forwardRef?: boolean, _reduxForm: Context, immutableProps?: Array, children?: Node, // same as Props in createFieldProps.js: asyncError: any, asyncValidating: boolean, onBlur: { (event: Event, newValue: ?any, previousValue: ?any, name: string): void }, onChange: { (event: Event, newValue: ?any, previousValue: ?any, name: string): void }, onDrop: { (event: Event, newValue: ?any, previousValue: ?any, name: string): void }, onDragStart: { (event: Event, name: string): void }, onFocus: { (event: Event, name: string): void }, dirty: boolean, dispatch: { (action: any): void }, form: string, format?: { (value: any, name: string): any }, initial: any, parse?: { (value: any): any }, normalize?: { (value: any): any }, pristine: boolean, props?: Object, state: any, submitError?: string, submitFailed: boolean, submitting: boolean, syncError?: any, syncWarning?: any, value: any, _value: any }