import type Input from "./Input.js";

export interface TextInputProperties extends Partial<Pick<TextInput, "maxLength" | "minLength">> {}

/**
 * The class used for [TextAreaInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/TextAreaInput/), [TextBoxInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/TextBoxInput/), and [BarcodeScannerInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/BarcodeScannerInput/) classes.
 *
 * @since 4.16
 */
export default abstract class TextInput extends Input {
  /** When set, defines the text input's maximum length. */
  accessor maxLength: number | null | undefined;
  /**
   * When set, defines the text input's minimum length.
   *
   * @default 0
   */
  accessor minLength: number | null | undefined;
}