import { ElementValidatorBase } from './Abstracts/ElementValidatorBase';
import type { ElementValidationMessageResolver, ElementValidationResult, ElementValidatorFn } from './Abstracts/Interfaces/IElementValidator';
interface IRequiredTrueElement extends HTMLElement {
    required: boolean;
    value: boolean;
}
/**
 * @public
 */
export declare class RequiredTrueElementValidator<TElement extends IRequiredTrueElement = IRequiredTrueElement> extends ElementValidatorBase<TElement> {
    constructor(host: TElement, messageResolver?: ElementValidationMessageResolver);
    protected get attributes(): Array<keyof IRequiredTrueElement>;
    validate(): ElementValidationResult | null;
}
/**
 * A factory function for the {@link RequiredTrueElementValidator}.
 *
 * @public
 * @param resolver - A *optional* message resolver to get the error message that will be displayed. When not provided, a default message will be used.
 */
export declare function requiredTrueElementValidator(messageResolver?: ElementValidationMessageResolver): (([host]: Parameters<ElementValidatorFn<IRequiredTrueElement>>) => ReturnType<ElementValidatorFn<IRequiredTrueElement>>);
export {};
//# sourceMappingURL=RequiredTrueElementValidator.d.ts.map