export interface Entry { getName(): string; getValue(): string | undefined; setValue(value: string): this; validate(locale?: string): string; setValidator(validator: (entry: Entry, locale?: string) => string): this; onChange(callback: (entry: Entry) => void): this; } export declare class TextAreaEntry implements Entry { private _element; private _validator?; private _onChange?; constructor(element: HTMLTextAreaElement | string); getName(): string; getValue(): string | undefined; setValue(value: string): this; validate(locale?: string): string; setValidator(validator: (entry: Entry, locale?: string) => string): this; onChange(callback: (entry: Entry, final: boolean) => void): this; } export declare class TextInputEntry implements Entry { private _element; private _validator?; private _onChange?; constructor(element: HTMLInputElement | string); getName(): string; getValue(): string | undefined; setValue(value: string): this; validate(locale?: string): string; setValidator(validator: (entry: Entry, locale?: string) => string): this; onChange(callback: (entry: Entry, final: boolean) => void): this; } export declare class NumberInputEntry implements Entry { private _element; private _decimals; private _dragSensitivity; private _validator?; private _onChange?; constructor(element: HTMLInputElement | string); getName(): string; getValue(): string | undefined; setValue(value: string): this; setStep(value: number): this; setMin(value: number): this; setMax(value: number): this; setDecimals(value: number): this; setDragSensitivity(value: number): this; enableMouseWheel(): this; enableMouseDrag(): this; validate(locale?: string): string; setValidator(validator: (entry: Entry, locale?: string) => string): this; onChange(callback: (entry: Entry, final: boolean) => void): this; } export declare class CheckboxEntry implements Entry { private _element; private _validator?; private _onChange?; constructor(element: HTMLInputElement | string); getName(): string; getValue(): string | undefined; setValue(value: string): this; validate(locale?: string): string; setValidator(validator: (entry: Entry, locale?: string) => string): this; onChange(callback: (entry: Entry) => void): this; } export declare class SelectEntry implements Entry { private _element; private _validator?; private _onChange?; constructor(element: HTMLSelectElement | string); getName(): string; getValue(): string | undefined; setValue(value: string): this; setOptions(options: { value: string; text: string; }[]): this; validate(locale?: string): string; setValidator(validator: (entry: Entry, locale?: string) => string): this; onChange(callback: (entry: Entry) => void): this; } export declare class RadioEntry implements Entry { private _elements; private _validator?; private _onChange?; constructor(elements: HTMLInputElement[] | string[]); getName(): string; getValue(): string | undefined; setValue(value: string): this; validate(locale?: string): string; setValidator(validator: (entry: Entry, locale?: string) => string): this; onChange(callback: (entry: Entry) => void): this; } export declare class FileEntry implements Entry { private _element; private _validator?; private _onChange?; constructor(element: HTMLInputElement | string); getName(): string; getValue(): string | undefined; getFile(): File | null; setValue(value: string): this; validate(locale?: string): string; setValidator(validator: (entry: Entry, locale?: string) => string): this; onChange(callback: (entry: Entry) => void): this; } export declare class Form { private _element; private _formEntries; private _onSubmit?; constructor(element: HTMLFormElement | string); addEntry(entry: Entry): this; setEntries(entries: Entry[]): this; getEntries(): Entry[]; getEntry(name: string): Entry | undefined; validate(locale?: string): any; isValid(errors?: any): boolean; getValues(): any; submit(): void; onSubmit(callback: (form: Form) => void): this; }