import * as React from 'react'; import { Field } from './Field'; import { FieldFeedbackValidation } from './FieldFeedbackValidation'; import { FieldsStore } from './FieldsStore'; import { IHTMLInput, InputElement } from './InputElement'; export interface FormWithConstraintsChildContext { form: FormWithConstraints; } export interface FormWithConstraintsProps extends React.FormHTMLAttributes { } declare class FormWithConstraintsComponent extends React.PureComponent { } declare const FormWithConstraints_base: { new (...args: any[]): { fieldDidResetEventEmitter: import("./EventEmitter").EventEmitter<[Field], void>; emitFieldDidResetEvent(field: Field): void[]; addFieldDidResetEventListener(listener: (field: Field) => void): void; removeFieldDidResetEventListener(listener: (field: Field) => void): void; }; } & { new (...args: any[]): { fieldWillValidateEventEmitter: import("./EventEmitter").EventEmitter<[string], void>; emitFieldWillValidateEvent(fieldName: string): void[]; addFieldWillValidateEventListener(listener: (fieldName: string) => void): void; removeFieldWillValidateEventListener(listener: (fieldName: string) => void): void; }; } & { new (...args: any[]): { fieldDidValidateEventEmitter: import("./EventEmitter").EventEmitter<[Field], void>; emitFieldDidValidateEvent(field: Field): void[]; addFieldDidValidateEventListener(listener: (field: Field) => void): void; removeFieldDidValidateEventListener(listener: (field: Field) => void): void; }; } & { new (...args: any[]): { validateFieldEventEmitter: import("./EventEmitter").EventEmitter<[InputElement], FieldFeedbackValidation | (FieldFeedbackValidation | undefined)[] | undefined>; emitValidateFieldEvent(input: InputElement): Promise<(FieldFeedbackValidation | (FieldFeedbackValidation | undefined)[] | undefined)[]>; addValidateFieldEventListener(listener: (input: InputElement) => FieldFeedbackValidation | (FieldFeedbackValidation | undefined)[] | Promise | undefined): void; removeValidateFieldEventListener(listener: (input: InputElement) => FieldFeedbackValidation | (FieldFeedbackValidation | undefined)[] | Promise | undefined): void; }; } & typeof FormWithConstraintsComponent; export declare class FormWithConstraints extends FormWithConstraints_base implements React.ChildContextProvider { static childContextTypes: React.ValidationMap; getChildContext(): FormWithConstraintsChildContext; private form; fieldsStore: FieldsStore; private fieldFeedbacksKeyCounter; computeFieldFeedbacksKey(): string; /** * Validates the given fields, either HTMLInputElements or field names. * If called without arguments, validates all fields ($('[name]')). */ validateFields(...inputsOrNames: Array): Promise[]>; validateForm(): Promise[]>; /** * Validates fields without feedback only. */ validateFieldsWithoutFeedback(...inputsOrNames: Array): Promise[]>; private _validateFields; private validateField; protected normalizeInputs(...inputsOrNames: Array): IHTMLInput[]; isValid(): boolean; hasFeedbacks(): boolean; reset(): Readonly[]; resetFields(...inputsOrNames: Array): Readonly[]; private resetField; render(): JSX.Element; } export {};