import { type FormSettings, type FormData, type FormValidators, type FormErrors, type FormValidationOutput } from './types';
import type { FormEventHandler } from 'svelte/elements';
import { type Writable } from 'svelte/store';
export declare class Form {
    private inputNames;
    data: Writable<Record<string, FormData>>;
    private validators;
    errors: FormErrors;
    isValid: Writable<boolean>;
    constructor();
    private parseInputValue;
    private checkFormValidity;
    private setError;
    validateInput(name: string): void;
    private parseAllInputValues;
    validateForm(): FormValidationOutput;
    private getInputValue;
    private handleInput;
    private handleSelect;
    private provideInitialValue;
    private defineDynamicField;
    registerInput(name: string, settings?: FormSettings): {
        name: string;
        value: any;
        oninput: (evt: any) => FormEventHandler<HTMLInputElement>;
        onmount: (elem: HTMLInputElement) => string;
        onselect: (value: any) => any;
        errors: FormErrors;
        validators: FormValidators;
    };
    registerDataField(name: string, value: string | boolean | number): string | number | boolean;
}
