import { ElementValidatorBase } from './Abstracts/ElementValidatorBase';
import type { ElementValidationMessageResolver, ElementValidationResult, ElementValidatorFn } from './Abstracts/Interfaces/IElementValidator';
import { isEqualsToValue as _isEqualsToValue } from './EqualsToElementValidatorFn';
/**
 * @private
 */
interface IEqualsToElement extends HTMLElement {
    value: string;
}
/**
 * @public
 */
export declare class EqualsToElementValidator<TElement extends IEqualsToElement = IEqualsToElement> extends ElementValidatorBase<TElement> {
    private readonly _other;
    constructor(host: TElement, other: IEqualsToElement | (() => IEqualsToElement), messageResolver?: ElementValidationMessageResolver);
    protected get attributes(): Array<keyof IEqualsToElement>;
    validate(): ElementValidationResult | null;
}
export declare namespace EqualsToElementValidator {
    const isEqualsToValue: typeof _isEqualsToValue;
}
/**
 * A factory function for the `EqualsToElementValidator`.
 *
 * @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 equalsToElementValidator(other: IEqualsToElement | (() => IEqualsToElement), messageResolver?: ElementValidationMessageResolver): ElementValidatorFn;
export {};
//# sourceMappingURL=EqualsToElementValidator.d.ts.map