import { EvaluateResult, FormFieldStatusMeta } from './form-field-validation-rule';
import { InternalFormFieldValidationRule } from './internal-form-field-validation-rule.abstract';
/**
 * A rule that checks if the toggle switch is required to switch on
 *
 * @augments {InternalFormFieldValidationRule<boolean>}
 */
export declare class ToggleSwitchRequiredRule extends InternalFormFieldValidationRule<boolean> {
  /**
   * If the input is a boolean, return a boolean. If the
   * input is anything else, return false
   *
   * @param {unknown} input - The input to be evaluated.
   * @returns {EvaluateResult} - An object with two properties: isValid and message.
   */
  evaluate(input: unknown): EvaluateResult;
  /**
   * 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} The return value is a boolean that indicates whether the input can be evaluated.
   */
  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;
  /**
   * If the input is undefined or null, return true, otherwise return true if the input is a boolean.
   *
   * @param {unknown} input - The input value to be validated.
   * @returns {boolean} A boolean.
   */
  private isAcceptedInputType;
}
