import type { UmbValidator } from '../interfaces/index.js';
import type { UmbFormControlMixinInterface } from '../mixins/form-control.mixin.js';
import { UmbControllerBase } from '../../../../libs/class-api/index.js';
import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
/**
 * Bind a Form Controls validation state to the validation context.
 * This validator will validate the form control and add messages to the validation context if the form control is invalid.
 */
export declare class UmbFormControlValidator extends UmbControllerBase implements UmbValidator {
    #private;
    constructor(host: UmbControllerHost, formControl: UmbFormControlMixinInterface<unknown>, dataPath?: string);
    get isValid(): boolean;
    validate(): Promise<void>;
    /**
     * Resets the validation state of this validator.
     */
    reset(): void;
    focusFirstInvalidElement(): void;
    hostConnected(): void;
    hostDisconnected(): void;
    destroy(): void;
}
