import { YUIComponent } from './component';

/** Input Component */
export declare class YInput extends YUIComponent {
  /** Input placeholder */
  placeholder: string | number;

  /** Input value */
  value: string | number;

  /** Input type */
  type: string;

  /** Input complete auto */
  autoComplete: 'off' | 'on';

  /** The prefix icon for the Input */
  prefix: string;

  /** The suffix icon for the Input */
  suffix: string;

  /** The label text displayed before (on the left side of) the input field */
  addonBefore: string;

  /** The label text displayed after (on the right side of) the input field */
  addonAfter: string;

  /** Limit thi input value */
  maxLength: number;

  /** show limit count icon */
  showWordLimit: boolean;

  /** show password icon */
  showPassword: boolean;

  /** show clear icon */
  allowClear: boolean;

  /** Height autosize feature, can be set to true|false or an object { minRows: 2, maxRows: 6 } */
  autoSize: boolean | { minRows: number; maxRows: number };

  /** Whether the input is disabled */
  disabled: boolean;

  /** Whether the input is readonly */
  readonly: boolean;

  /** The red * before (on the left side of) the input field */
  required: boolean;

  /** The label before (on the left side of) the input field */
  label: string;

  /** The help tips before (on the left side of) the input field */
  showTip: boolean;

  /** The help tips conent */
  tipContent: string;

  /** Input layout*/
  position: 'horizontal' | 'vertical';

  /** Input border color is red */
  warn: boolean;

  /** Input border color is green */
  success: boolean;

  /** Input describe content */
  desContent: String;

  /** The position of describe content */
  desPosition: 'default' | 'bottom';
}
