import { TargetConstructor } from '@diax-js/common/custom-element';
import { FormElement, FormElementCallbacks, FormElementConstructor, FormTargetCallbacks } from '@diax-js/common/form-element';
import { BaseElement } from '@diax-js/custom-element';
export declare class BaseFormElement extends BaseElement<FormTargetCallbacks> implements FormElementCallbacks, FormElement {
    #private;
    static get formAssociated(): true;
    constructor();
    get name(): string;
    get type(): string;
    get form(): HTMLFormElement | null;
    get validity(): ValidityState;
    get validationMessage(): string;
    get willValidate(): boolean;
    checkValidity(): boolean;
    reportValidity(): boolean;
    formAssociatedCallback(form: HTMLFormElement): void;
    formDisabledCallback(disabled: boolean): void;
    formResetCallback(): void;
    formStateRestoreCallback(state: unknown, reason: 'autocomplete' | 'restore'): void;
}
export declare function getFormElementClass(target: TargetConstructor<FormTargetCallbacks>): FormElementConstructor;
//# sourceMappingURL=base-form-element.d.ts.map