import { FormFieldStatusMeta, FormFieldValidationRule } from './form-field-validation-rule';
import { EvaluateResult } from './validation-rule';
/**
 * Abstract class for internal form field validation rules
 */
export declare abstract class InternalFormFieldValidationRule<T> implements FormFieldValidationRule<T> {
  /**
   * Whether to override the default validation rule.
   */
  overrideDefault: boolean;
  /**
   * @inheritDoc
   */
  abstract canEvaluate(input: unknown, status?: FormFieldStatusMeta, statusChanged?: (keyof FormFieldStatusMeta)[]): boolean;
  /**
   * @inheritDoc
   */
  abstract evaluate(input: T): EvaluateResult | Promise<EvaluateResult>;
}
