import { FormOptions } from './interfaces'; import { FieldValue, FormElement, Schema, FormData } from './types'; export declare class Form { options: FormOptions; private _parent; private _formElement; private _id; private _isValid; private _errors; private _fields; private _groups; private _buttons; private _data; private _saveProgress; private _licenseState; private _schema; private _dataPrefixMap; private _triggerEvents; constructor(parent: HTMLElement | string, options: FormOptions); private setParentElement; private initializeOptions; private initForm; private processLicense; buildSchema(schema: Schema, parent: HTMLElement, groupId?: string | null, listId?: string | null, key?: string | null): void; isValid(): boolean | null; private createWrapper; private mapFieldToDataPrefix; private buildElement; private assignToListField; update(): Promise; getField(id: string): FormElement | undefined; getFormElement(): HTMLFormElement | null; private dispatchEvent; setData(id: string, value: FieldValue): void; removeData(id: string): void; private removeMappedData; private setDataFromMap; private setSimpleData; private ensureDataStructureExists; removeListData(listId: string, index: number): void; getId(): string; getData(): FormData; getButtons(): Record; getButton(id: string): FormElement | undefined; getGroups(): Record; getGroup(id: string): FormElement | undefined; savesProgress(): boolean; getErrors(): string[]; hasValidLicense(): boolean; updateError(id: string, isValid: boolean | null): void; reset(event?: Event): void; validate(): void; save(): void; load(): void; onGui(): void; private createInvalidElement; submit(event?: SubmitEvent): void; destroy(): void; on(event: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; off(event: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; }