import * as React from 'react'; import { IContainer } from '..'; interface IBasicFormItem extends IContainer { name: string | undefined; error: React.ReactNode | undefined; resetErrorOnValueChanged?: boolean; onValueChanged?: (value: string) => void; _parentPath?: string; _onValueChanged?: (value: string, name: string) => void; } export interface IFormItemProps extends IBasicFormItem { value: string | number | undefined | null; oldValue: string | number | undefined | null; comparing?: boolean; required: boolean; autoFocus: boolean; placeholder: string | undefined; disabled?: boolean; _label?: string; customValidate: (value: string) => string | undefined; innerClass?: string; } export interface IInputProps extends IFormItemProps { onFocus?: () => void; onBlur?: () => void; onTyping?: (value: string) => void; } export interface IValidateOption { silentValidation?: boolean; } export declare type InputSizeOption = 'small' | 'medium' | 'large'; export declare type InputVariantOption = 'border-bottom' | 'full-border'; export interface IFormItemStates { value: string | undefined | null; displayValue: string | undefined; oldDisplayValue: string | undefined; error: React.ReactNode | undefined; isFocused: boolean; } export declare abstract class FormItem

extends React.Component

{ constructor(props: any, states?: any); componentDidUpdate(prevProps: IBasicFormItem, prevState?: any): void; abstract validate(option?: { silentValidation?: boolean; }): string | undefined; getValue(): string; setValue(value: number | string | undefined | null): void; getName(): string | undefined; getFullPathName(): string; clear(): void; private valueToStringIfNeeded; protected onValueChanged(value: string): void; protected abstract valueToDisplayValue(value: string | undefined | null): string | undefined; } export {};