import { Gutter } from 'antd/es/grid/row'; import { ColProps } from 'antd/lib/col'; import * as React from 'react'; import { IAdvancedDatePickerProps, ICheckboxProps, ICountryProps, IEmailInputProps, IEmbedFileUploaderProps, INumberInputProps, IOtpInputProps, IPasswordInputProps, IRadioProps, IRichEditorProps, ISelectProps, ISwitchProps, ITextInputProps, ITimePickerProps } from '.'; import { IAdvancedDateTimePickerProps } from './AdvancedDateTimePicker'; import { IAutoCompleteProps } from './AutoComplete'; import { FormItem, IValidateOption } from './common/FomItem'; import { IContainer } from './Container'; import { IDateControlProps } from './DateControl'; import { IDateRangeProps } from './DateRange'; import { IDateTimePickerProps } from './DateTimePicker'; import { IDateTimeRangeProps } from './DateTimeRange'; import { IFileUploaderProps } from './FileUploader'; import { INumberAdjusterProps } from './NumberAdjuster'; import { IPhoneProps } from './Phone'; import { IPhoneEmailInputProps } from './PhoneEmailInput'; import { ISelectDatePickerProps } from './SelectDatePicker'; import { ISingleSelectProps } from './SingleSelect'; interface IProps extends IContainer { type: 'advanced_date_picker' | 'advanced_datetime_picker' | 'autocomplete' | 'text' | 'email' | 'password' | 'phone_email' | 'number' | 'number_adjuster' | 'checkbox' | 'radio' | 'switch' | 'select' | 'single_select' | 'country' | 'date' | 'datetime' | 'daterange' | 'datetimerange' | 'fileuploader' | 'phone' | 'otpinput' | 'richeditor' | 'select_date_picker' | 'embed_file_uploader' | 'time_only_picker'; size?: 'small' | 'medium' | 'large'; variant?: 'bottom-border' | 'full-border' | 'floating-label'; label: React.ReactNode; required: boolean; disabled?: boolean; name: string; value: string | number | undefined | null; comparing?: boolean; oldValue: string | number | undefined | null; excluded?: boolean; layout?: 'horizontal' | 'vertical' | 'inline'; labelColProps: ColProps; wrapperColProps: ColProps | undefined; rowGutter: Gutter | [Gutter, Gutter]; debounce: number; hideLabel: boolean; placeholder: string; autoFocus: boolean; onInputChanged: (newValue: string, name: string) => void; textProps?: Partial; passwordProps?: Partial; emailProps?: Partial; numberProps?: Partial; numberAdjusterProps?: Partial; checkboxProps?: Partial; radioProps?: Partial; switchProps?: Partial; selectProps?: Partial; countryProps?: Partial; dateControlProps?: Partial; dateTimePickerProps?: Partial; selectDatePickerProps?: Partial; dateRangeProps?: Partial; dateTimeRangeProps?: Partial; fileUploaderProps?: Partial; embedFileUploaderProps?: Partial; phoneProps?: Partial; phoneEmailProps?: Partial; otpInputProps?: Partial; autoCompleteProps?: Partial; advancedDatePickerProps?: Partial; advancedDateTimePickerProps?: Partial; richEditorProps?: Partial; timePickerProps?: Partial; singleSelectProps?: Partial; cloneIndex: number; _parentPath: string; _internalSetValue?: boolean; _internalSetOldValue?: boolean; _onFormItemMount: (ref: FormControl) => void; _onFormItemUnmount: (ref: FormControl) => void; _onValueChanged: (value: string) => void; } interface IState { error: string | undefined; } export declare class FormControl extends React.Component { private formItem?; private debounceTimeout; static defaultProps: { type: string; size: undefined; variant: undefined; label: undefined; required: boolean; disabled: undefined; name: undefined; value: undefined; comparing: undefined; oldValue: undefined; excluded: undefined; layout: undefined; labelColProps: undefined; wrapperColProps: undefined; rowGutter: undefined; debounce: number; hideLabel: boolean; placeholder: undefined; autoFocus: boolean; onInputChanged: () => undefined; cloneIndex: number; _parentPath: string; _onFormItemMount: () => undefined; _onFormItemUnmount: () => undefined; _onValueChanged: () => undefined; }; componentDidMount(): void; componentWillUnmount(): void; render(): React.JSX.Element; getValue(): string; setValue: (value: string | number | null | undefined) => void; getName(): string; getFullPathName(): string; validate(option?: IValidateOption): string | undefined; asyncValidate: (option?: { silentValidation?: boolean | undefined; }) => Promise; isExcluded(): boolean | undefined; isRequired(): boolean; getType(): "number" | "select" | "switch" | "text" | "checkbox" | "radio" | "email" | "date" | "password" | "country" | "datetime" | "phone" | "advanced_date_picker" | "advanced_datetime_picker" | "autocomplete" | "phone_email" | "number_adjuster" | "single_select" | "daterange" | "datetimerange" | "fileuploader" | "otpinput" | "richeditor" | "select_date_picker" | "embed_file_uploader" | "time_only_picker"; onSubmitting: () => Promise; getFormItem(): FormItem<{}, {}> | undefined; clear(): void | undefined; private getFormControl; private getWrapperColProps; private injectCommonProps; private onFormItemValueChanged; triggerOnValueChanged: () => void; private getLabelColProps; private getRowGutter; private isHidingLabel; } export {};