export interface ClientError { field?: string; message: string; } export interface FieldState { name: string; initialValue: Value; value: Value; dirty: boolean; changed: boolean; error?: any; } export interface FieldDescriptor extends FieldState { onChange(newValue: Value): void; onBlur(): void; } export declare type FieldDescriptors = { [FieldPath in keyof Fields]: FieldDescriptor; };