import './index.less';
declare const Input_base: {
    new (): HTMLElement;
    prototype: HTMLElement;
};
export declare class Input extends Input_base {
    static get observedAttributes(): string[];
    _input: HTMLDivElement;
    _label: HTMLLabelElement | undefined;
    _inputContent: HTMLInputElement;
    _icon: HTMLElement | undefined;
    constructor();
    /**
     * @description: 获取 input 的值
     * @return {String}
     */
    get value(): string;
    /**
     * @description: 设置 input 的值
     * @param {String} value
     */
    set value(value: string);
    /**
     * @description: 获取 input 的占位字符
     * @return {String}
     */
    get placeholder(): string;
    /**
     * @description: 设置 input 的占位字符
     * @param {String} value
     */
    set placeholder(value: string);
    /**
     * @description: input 是否为必选
     * @return {String}
     */
    get required(): string;
    /**
     * @description: 设置 input 是否为必选，除非设置成 false，否则都是必填
     * @param {*} value
     */
    set required(value: string);
    /**
     * @description: 获取 input 上 disabled 属性
     * @return {String | null}
     */
    get disabled(): string;
    /**
     * @description: 设置 input 的 disabled 属性
     * @param {String} value
     */
    set disabled(value: string);
    /**
     * @description: 获取类似于 Metiral Design 的输入体验。
     */
    get label(): string;
    /**
     * @description: 设置类似于 Metiral Design 的输入体验。
     */
    set label(value: string);
    /**
     * @description: 获取 input 框的状态
     */
    get status(): string;
    /**
     * @description: 设置 input 框的状态
     */
    set status(value: string);
    /**
     * @description: 与 form 组件联动时，收集的属性名
     * @return {String}
     */
    get name(): string;
    /**
     * @description: 设置 name 属性
     * @param {string} value
     */
    set name(value: string);
    /**
     * @description: 当 input 类型为 number 类型时，可以获取 min 属性
     * @return {String}
     */
    get min(): string;
    /**
     * @description: 当 input 类型为 number 类型时，设置 min 属性
     * @param {string} value
     */
    set min(value: string);
    /**
     * @description: 当 input 类型为 number 类型时，可以获取 max 属性
     * @return {String}
     */
    get max(): string;
    /**
     * @description: 当 input 类型为 number 类型时，设置 max 属性
     * @param {string} value
     */
    set max(value: string);
    /**
     * @description: 当 input 类型为 number 类型时，可以获取 step 属性
     * @return {String}
     */
    get step(): string;
    /**
     * @description: 当 input 类型为 number 类型时，设置 step 属性
     * @param {string} value
     */
    set step(value: string);
    /**
     * @description: 获取一个 icon
     * @return {String}
     */
    get icon(): string;
    /**
     * @description: 设置 icon 来表示标识
     * @param {string|null} value
     */
    set icon(value: string);
    /**
     * @description: 获取前面的 icon
     * @return {String}
     */
    get prefix(): string;
    /**
     * @description: 设置前面的 icon 来表示标识
     * @param {string|null} value
     */
    set prefix(value: string);
    /**
     * @description: 获取后面的 icon
     * @return {String}
     */
    get suffix(): string;
    /**
     * @description: 设置后面的 icon 来表示标识
     * @param {string|null} value
     */
    set suffix(value: string);
    /**
     * @description: 获取 input 的类型
     * @return {string|null}
     */
    get type(): string;
    /**
     * @description: 设置 input 的类型
     * @param {string|null} value
     */
    set type(value: string);
    /**
     * @description: 原生的 input 方法
     * @param {Event} event
     */
    customInput: (event: Event) => void;
    /**
     * @description: 增加 change 方法，同时兼容大小写的情况
     */
    customChange: () => void;
    /**
     * @description: 监听 placeholder 属性函数
     * @param {string} name
     * @param {string} value
     */
    listenPlaceholder: (name: string, value: string) => void;
    /**
     * @description: 监听 label 属性函数
     * @param {string} name
     * @param {string} value
     */
    listenLabel: (name: string, value: string) => void;
    /**
     * @description: 监听 type 属性
     * @param {string} name
     * @param {string} value
     */
    listenType: (name: string, value: string) => void;
    /**
     * @description: 监听 status 属性
     * @param {string} name
     * @param {string} value
     */
    listenStatus: (name: string, value: string) => void;
    /**
     * @description: 监听 disabled 属性
     * @param {string} name
     * @param {string} value
     */
    listenDisabled: (name: string, value: string) => void;
    /**
     * @description:  监听 icon 属性
     * @param {string} name
     * @param {string} value
     */
    listenIcon: (name: string, value: string, oldValue: string) => void;
    /**
     * @description: 处理 icon 属性的问题
     */
    dealIcon: () => void;
    /**
     * @description: 聚合监听事件
     * @param {string} name
     * @param {string} oldValue
     * @param {string} newValue
     */
    listenEvent: (name: string, oldValue: string, newValue: string) => void;
    connectedCallback(): void;
    disconnectCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
}
declare const _default: import("@/utils/index").CustomErrorType;
export default _default;
