import type { FormAssociatedConstructor } from '../../../../Types/Constructor';
import type { IControlValidityResult } from '../../Interfaces/IControlValidityResult';
/**
 * Represents the `IControlValidator` interface.
 *
 * @public
 */
export interface IControlValidator<TElement extends TState & InstanceType<FormAssociatedConstructor> & IControlValidityResult, TState> {
    readonly control: TElement;
    /**
     * Returns the current `ValidityStateFlags` and validation message for the validator.
     *
     * If the constraint validation state has not changed, this will return a
     * cached result. This is important since `getValidity()` can be called
     * frequently in response to synchronous property changes.
     *
     * @return The current validity and validation message.
     */
    getValidity(): IControlValidityResult;
}
//# sourceMappingURL=IControlValidator.d.ts.map