import { ColProps } from 'antd/lib/col'; import { Gutter } from 'antd/lib/grid/row'; import * as React from 'react'; import { Clone, FormControl, IAlert, IContainer, ILoading } from '.'; import UploadHelper from './common/UploadHelper'; interface IFormValidateOption { silentValidation?: boolean; autoScrollToMessage?: boolean; } interface IProps extends IContainer { layout: 'horizontal' | 'vertical' | 'inline'; size: 'small' | 'medium' | 'large'; variant: 'bottom-border' | 'full-border'; comparing: boolean; labelColProps: ColProps; wrapperColProps: ColProps | undefined; rowGutter: Gutter | [Gutter, Gutter]; disabled: boolean; autoScrollToMessage: boolean; spaceBetweenControls: 'none' | 'small' | 'medium' | 'large'; manualUpload: boolean; debounce: number; onSubmitting: (values: { [key: string]: string; }) => void; onSubmitForm: (values: { [key: string]: string; }) => void; onFormChanged: (value: string, name: string) => void; onFormControlValueChanged: (value: string, name: string, formCompleted: boolean) => void; loadingProps: Partial; alertProps: Partial; } export declare class Form extends React.Component { private formControls; private cloneControls; private formId; private uploading; private fileUploaders; private debounceTimeout; static defaultProps: { layout: string; size: string; variant: string; spaceBetweenControls: string; comparing: boolean; labelColProps: { xs: number; }; wrapperColProps: undefined; rowGutter: number; disabled: boolean; autoScrollToMessage: boolean; manualUpload: boolean; debounce: number; onSubmitting: () => undefined; onSubmitForm: () => undefined; onFormChanged: () => undefined; onFormControlValueChanged: () => undefined; loadingProps: {}; alertProps: {}; }; constructor(props: IProps); render(): React.JSX.Element; submit(): void; validate(option?: IFormValidateOption): boolean; asyncValidate(option?: IFormValidateOption): Promise; private recursiveCloneChildren; protected onFormControlMount: (formControl: FormControl) => void; protected onFormControlUnmount: (formControl: FormControl) => void; protected onCloneMount: (clone: Clone) => void; protected onCloneUnmount: (clone: Clone) => void; getInputValue(name: string): string; getFormControl(name: string): FormControl | undefined; getFormControls(): FormControl[]; getFormJson(): string; isFormCompleted: () => boolean; getFormObject(): { [key: string]: string; }; export: () => Promise; import: (json: string) => void; clear(): void; scrollToMessageIfExist(): void; private onSubmitCapture; protected _childFormControlValueChanged: (value: string, name: string) => void; uploader(): UploadHelper; private handleFormControlsUpload; private onProgressChanged; } export {};