import { ElementRef, SimpleChanges, AfterViewInit, OnChanges, ChangeDetectorRef } from '@angular/core';
import { InputConfig } from './input.config';
/** default input theme types */
export declare type INPUT_THEME = 'default' | 'error' | 'transparent' | string;
/** default input size types */
export declare type INPUT_SIZE = 'long-high' | 'long-middle' | 'long-low' | 'default' | 'short-high' | 'short-middle' | 'short-low' | string;
export declare class InputDirective implements OnChanges, AfterViewInit {
    private el;
    private _config;
    private cd;
    /**
     * input theme, there three default themes: 'default' | 'error' | 'transparent'
     * @default default
     */
    theme: INPUT_THEME;
    /**
     * input size, there seven default size:
     * 'long-high' | 'long-middle' | 'long-low' | 'default' | 'short-high' | 'short-middle' | 'short-low'
     * @default default
     */
    size: INPUT_SIZE;
    /**
     * Whether the input is disabled
     * @default false
     */
    disabled: boolean;
    constructor(el: ElementRef, _config: InputConfig, cd: ChangeDetectorRef);
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    /**
     * set host element classes
     * @docs-private
     */
    setClass(): void;
    /**
     * get host element classes, depends on the theme and size.
     * @return {string} class names
     * @docs-private
     */
    getClassName(): string;
}
