// @flow import type { Dispatch } from 'redux' export type Action = { type: string, meta?: any, payload?: any, error?: any } export type Validator = ( value: any, allValues: Object, props: Object, name: string ) => ?any export interface Structure { allowsArrayErrors: boolean; empty: M; emptyList: L; getIn(state: any, field: string): any; setIn(state: any, field: string, value: any): any; deepEqual(a: any, b: any): boolean; deleteIn(state: any, field: string): any; forEach(list: L, callback: { (item: any, index: number): void }): void; fromJS(value: any): any; keys(value: M): L; size(array: L): number; some(list: L, callback: { (item: any, index: number): boolean }): boolean; splice(array: L, index: number, removeNum: number, value: any): L; equals(a: any, b: any): boolean; orderChanged(a: any, b: any): boolean; toJS(value: M): any; } export type FieldType = 'Field' | 'FieldArray' export type Values = any export type GetFormState = { (state: any): any } export type Option = { selected: boolean, value: any } export type Event = { preventDefault(): void, stopPropagation(): void, target: { value: any, type: string, options?: Array