import { ElementRef, QueryList } from '@angular/core';
import { IgxHintDirective } from '../directives/hint/hint.directive';
import { IgxInputDirective } from '../directives/input/input.directive';
export declare class IgxInputGroupComponent {
    private _element;
    private _type;
    private _filled;
    /**
     * An ElementRef property of the `IgxInputGroupComponent`.
     */
    element: ElementRef;
    /**
     * An @Input property that sets the value of `id` attribute. If not provided it will be automatically generated.
     * ```html
     * <igx-input-group [id]="'igx-input-group-55'"></igx-input-group>
     * ```
     */
    id: string;
    /**
     * Property that enables/disables the autogenerated class of the `IgxInputGroupComponent`.
     * By default applied the class is applied.
     *```typescript
     *@ViewChild("MyInputGroup")
     *public inputGroup: IgxInputGroupComponent;
     *ngAfterViewInit(){
     *this.inputGroup.defaultClass = false;
     *```
     *}
     */
    defaultClass: boolean;
    /**
     * @hidden
     */
    hasPlaceholder: boolean;
    /**
     * @hidden
     */
    isRequired: boolean;
    /**
     * @hidden
     */
    isFocused: boolean;
    /**
     * @hidden
     */
    isBox: boolean;
    /**
     * @hidden
     */
    isBorder: boolean;
    /**
     * @hidden
     */
    isSearch: boolean;
    /**
     * An @Input property that disables the `IgxInputGroupComponent`.
     * ```html
     * <igx-input-group [disabled]="'true'"></igx-input-group>
     * ```
     */
    disabled: boolean;
    /**
     * @hidden
     */
    readonly validClass: boolean;
    /**
     * @hidden
     */
    readonly invalidClass: boolean;
    /**
     * @hidden
     */
    hasWarning: boolean;
    /**
     * @hidden
     */
    protected hints: QueryList<IgxHintDirective>;
    /**
     * @hidden
     */
    protected input: IgxInputDirective;
    /**
     *@hidden
     */
    onClick(event: any): void;
    /**
     * Returns the type of the `IgxInputGroupComponent`. How the input is styled.
     * Values are `line` - 0, `box` - 1, `border` - 2  and `search` - 3. The default is `line`.
     * ```typescript
     *@ViewChild("MyInputGroup")
     *public inputGroup: IgxInputGroupComponent;
     *ngAfterViewInit(){
     *    let inputType = this.inputGroup.type;
     *}
     * ```
     */
    /**
     * An @Input property that sets how the input will be styled.
     * The allowed values are `line`, `box`, `border` and `search`. The default is `line`.
     * ```html
     *<igx-input-group [type]="'search'">
     * ```
     */
    type: string;
    readonly isFilled: any;
    constructor(_element: ElementRef);
    /**
     * Returns whether the `IgxInputGroupComponent` has hints.
     * ```typescript
     *@ViewChild("MyInputGroup")
     *public inputGroup: IgxInputGroupComponent;
     *ngAfterViewInit(){
     *    let inputHints = this.inputGroup.hasHints;
     *}
     * ```
     */
    readonly hasHints: boolean;
    /**
     * Returns whether the `IgxInputGroupComponent` has border.
     * ```typescript
     *@ViewChild("MyInputGroup")
     *public inputGroup: IgxInputGroupComponent;
     *ngAfterViewInit(){
     *    let inputBroder = this.inputGroup.hasBorder;
     *}
     * ```
     */
    readonly hasBorder: boolean;
    /**
     * Returns whether the `IgxInputGroupComponent` type is line.
     * ```typescript
     *@ViewChild("MyInputGroup1")
     *public inputGroup: IgxInputGroupComponent;
     *ngAfterViewInit(){
     *    let isTypeLine = this.inputGroup.isTypeLine;
     *}
     * ```
     */
    readonly isTypeLine: boolean;
    /**
     * Returns whether the `IgxInputGroupComponent` type is box.
     * ```typescript
     *@ViewChild("MyInputGroup1")
     *public inputGroup: IgxInputGroupComponent;
     *ngAfterViewInit(){
     *    let isTypeBox = this.inputGroup.isTypeBox;
     *}
     *```
     */
    readonly isTypeBox: boolean;
    /**
     * Returns whether the `IgxInputGroupComponent` type is border.
     * ```typescript
     *@ViewChild("MyInputGroup1")
     *public inputGroup: IgxInputGroupComponent;
     *ngAfterViewInit(){
     *    let isTypeBorder = this.inputGroup.isTypeBorder;
     *}
     * ```
     */
    readonly isTypeBorder: boolean;
    /**
     * Returns whether the `IgxInputGroupComponent` type is search.
     * ```typescript
     *@ViewChild("MyInputGroup1")
     *public inputGroup: IgxInputGroupComponent;
     *ngAfterViewInit(){
     *    let isTypeSearch = this.inputGroup.isTypeSearch;
     *}
     * ```
     */
    readonly isTypeSearch: boolean;
    filled: boolean;
}
/**
 * The IgxInputGroupModule provides the {@link IgxInputGroupComponent} inside your application.
 */
export declare class IgxInputGroupModule {
}
