import { FormFieldStatusMeta } from './form-field-validation-rule';
import { EvaluateResultTranslation } from './validation-rule';
import { InternalFormFieldValidationRule } from './internal-form-field-validation-rule.abstract';
/**
 * A rule that checks if the input is larger than or equal to a minimum value
 *
 * @augments {InternalFormFieldValidationRule<string>}
 * @property {{ minValue: number }} config config including the minValue limit for validation
 */
export declare class MinNumberRule extends InternalFormFieldValidationRule<unknown> {
  private readonly config;
  /**
   * It creates a new instance of the class with the given config.
   *
   * @param {{ minValue: number }} config config including the minValue limit for validation
   * @param {number} config.minValue number of the minValue
   */
  constructor(config: {
    minValue: number;
  });
  /**
   * If the input is a number, return true if it's more than or equal to the minimum value, false otherwise
   *
   * @param {unknown} input - The input value to be evaluated.
   * @returns {EvaluateResultTranslation} The result of the evaluation.
   * @throws {Error} if input is unable to evaluate
   */
  evaluate(input: unknown): EvaluateResultTranslation;
  /**
   * If the input is accepted and the status is not disabled and visible, then return true
   *
   * @param {unknown} input - The input to be evaluated.
   * @param {FormFieldStatusMeta} [status] - FormFieldStatusMeta
   * @returns {boolean} A boolean value.
   */
  canEvaluate(input: unknown, status?: FormFieldStatusMeta): boolean;
  /**
   * If the field is not disabled, visible, and has been touched or modified, then show the error
   *
   * @param {FormFieldStatusMeta} status - FormFieldStatusMeta
   * @returns {boolean} A boolean value.
   */
  shouldShowError(status: FormFieldStatusMeta): boolean;
  /**
   * 	The function returns true when the input can be interpreted as a number either by:
   *  - successful numeric conversion via `convertToNumber(input)` (i.e. not NaN), or
   *  - matching a "thousand-separated" numeric string pattern.
   *
   * @param {unknown} input - The input value to be converted.
   * @returns {boolean} a boolean value.
   */
  private isAcceptedInputType;
}
