import { AnyElementConfiguration, ComponentOrHtmlElement } from '../types';
import { FormConfiguration, FormHooks, FormInstance } from './Form.types';
export declare const FORM_HOOKS: readonly ["beforeSubmit", "afterSubmit", "beforeValidate", "afterValidate"];
/**
* @see FormInstance
*/
export declare class Form {
readonly name: FN;
readonly config: Omit;
readonly hooks: FormInstance['hooks'];
readonly model: import("./Form.types").FieldsToModel;
readonly fields: FormInstance['fields'];
readonly fieldsWithNamesAndRefs: FormInstance['fieldsWithNamesAndRefs'];
isValid: FormInstance['isValid'];
constructor(name: FN, formConfig: FC & FormHooks);
addElement(element: AnyElementConfiguration, sibling?: string, position?: 'before' | 'after'): void;
removeElement(name: string): void;
submit(): Promise;
validate(): Promise;
reset(): Promise;
getValues(): Record;
private createFieldInstance;
private createFormInstance;
}
//# sourceMappingURL=Form.d.ts.map