import { ChangeDetectorRef, EventEmitter, ElementRef, AfterViewInit, Renderer2 } from '@angular/core';
import { IgxDragDirective } from '../directives/dragdrop/dragdrop.directive';
import { DisplayDensity } from '../core/utils';
export declare class IgxChipComponent implements AfterViewInit {
    cdr: ChangeDetectorRef;
    elementRef: ElementRef;
    private renderer;
    /**
     * An @Input property that sets the value of `id` attribute.
     * ```html
     * <igx-chip [id]="'igx-chip-1'"></igx-chip>
     * ```
     */
    id: any;
    /**
     * An @Input property that defines if the `IgxChipComponent` can be dragged in order to change it's position.
     * By default it is set to false.
     * ```html
     * <igx-chip [id]="'igx-chip-1'" [draggable]="true"></igx-chip>
     * ```
     */
    draggable: boolean;
    /**
     * An @Input property that defines if the `IgxChipComponent` should render remove button and throw remove events.
     * By default it is set to false.
     * ```html
     * <igx-chip [id]="'igx-chip-1'" [draggable]="true" [removable]="true"></igx-chip>
     * ```
     */
    removable: boolean;
    /**
     * An @Input property that defines if the `IgxChipComponent` can be selected on click or through navigation,
     * By default it is set to false.
     * ```html
     * <igx-chip [id]="chip.id" [draggable]="true" [removable]="true" [selectable]="true"></igx-chip>
     * ```
     */
    selectable: boolean;
    /**
     * @hidden
     */
    readonly hostClass: string;
    /**
     * An @Input property that defines if the `IgxChipComponent` is disabled.
     * By default it is set to false.
     * ```html
     * <igx-chip [id]="chip.id" [disabled]="true"></igx-chip>
     * ```
     */
    disabled: boolean;
    /**
     * Returns the `IgxChipComponent` theme.
     * ```typescript
     * @ViewChild('myChip')
     * public chip: IgxChipComponent;
     *     ngAfterViewInit(){
     *     let chipTheme = this.chip.displayDensity;
     * }
     * ```
     */
    /**
     * An @Input property that sets the `IgxChipComponent` theme.
     * Available options are `compact`, `cosy`, `comfortable`.
     * The default theme is `comfortable`.
     * ```html
     * <igx-chip #myChip [id]="'igx-chip-1'" [displayDensity]="'compact'"></igx-chip>
     * ```
     */
    displayDensity: DisplayDensity | string;
    /**
     * Returns the background color of the `IgxChipComponent`.
     * ```typescript
     * @ViewChild('myChip')
     * public chip: IgxChipComponent;
     * ngAfterViewInit(){
     *     let chipColor = this.chip.color;
     * }
     * ```
     */
    /**
     * An @Input property that sets the `IgxChipComponent` background color.
     * The `color` property supports string, rgb, hex.
     * ```html
     * <igx-chip #myChip [id]="'igx-chip-1'" [color]="'#ff0000'"></igx-chip>
     * ```
     */
    color: any;
    /**
     * Emits event when the `IgxChipComponent` moving starts.
     * ```typescript
     * moveStarted(){
     *     alert("The moving has started.");
     * }
     * ```
     * ```html
     * <igx-chip #myChip [id]="'igx-chip-1'" [draggable]="true" (onMoveStart)="moveStarted()">
     * ```
     */
    onMoveStart: EventEmitter<any>;
    /**
     * Emits event when the `IgxChipComponent` moving ends.
     * ```typescript
     * moveEnded(){
     *     alert("The moving has ended.");
     * }
     * ```
     * ```html
     * <igx-chip #myChip [id]="'igx-chip-1'" [draggable]="true" (onMoveEnd)="moveEnded()">
     * ```
     */
    onMoveEnd: EventEmitter<any>;
    /**
     * Emits event when the `IgxChipComponent` is removed.
     * ```typescript
     * remove(){
     *     alert("The chip has been removed.");
     * }
     * ```
     * ```html
     * <igx-chip #myChip [id]="'igx-chip-1'" [draggable]="true" (onRemove)="remove()">
     * ```
     */
    onRemove: EventEmitter<any>;
    /**
     * Emits event when the `IgxChipComponent` is clicked.
     * ```typescript
     * chipClick(){
     *     alert("The chip has been clicked.");
     * }
     * ```
     * ```html
     * <igx-chip #myChip [id]="'igx-chip-1'" [draggable]="true" (onClick)="chipClick()">
     * ```
     */
    onClick: EventEmitter<any>;
    /**
     * Emits event when the `IgxChipComponent` is selected.
     * ```typescript
     * chipSelect(){
     *     alert("The chip has been selected.");
     * }
     * ```
     * ```html
     * <igx-chip #myChip [id]="'igx-chip-1'" [draggable]="true" (onSelection)="chipSelect()">
     * ```
     */
    onSelection: EventEmitter<any>;
    /**
     * Emits event when the `IgxChipComponent` keyboard navigation is being used.
     * ```typescript
     * chipKeyDown(){
     *     alert("The chip keyboard navigation has been used.");
     * }
     * ```
     * ```html
     * <igx-chip #myChip [id]="'igx-chip-1'" [draggable]="true" (onKeyDown)="chipKeyDown()">
     * ```
     */
    onKeyDown: EventEmitter<any>;
    /**
     * Emits event when the `IgxChipComponent` has entered the `IgxChipsAreaComponent`.
     * ```typescript
     * chipEnter(){
     *     alert("The chip has entered the chiparea.");
     * }
     * ```
     * ```html
     * <igx-chip #myChip [id]="'igx-chip-1'" [draggable]="true" (onDragEnter)="chipEnter()">
     * ```
     */
    onDragEnter: EventEmitter<any>;
    /**
     * @hidden
     */
    chipArea: ElementRef;
    /**
     * @hidden
     */
    dragDir: IgxDragDirective;
    /**
     * @hidden
     */
    removeBtn: ElementRef;
    /**
     * Returns if the `IgxChipComponent` is selected.
     * ```typescript
     * @ViewChild('myChip')
     * public chip: IgxChipComponent;
     * selectedChip(){
     *     let selectedChip = this.chip.selected;
     * }
     * ```
     */
    /**
     * Sets the `IgxChipComponent` to be selected.
     * ```typescript
     * @ViewChild('myChip')
     * public chip: IgxChipComponent;
     * ngAfterViewInit(){
     *     this.chip.selected = true;
     * }
     * ```
     */
    selected: boolean;
    /**
     * Returns if the `IgxChipComponent` is the last one among its siblings.
     * ```typescript
     * @ViewChild('myChip')
     * public chip: IgxChipComponent;
     * ngAfterViewInit(){
     *     let lastChip = this.chip.isLastChip;
     * }
     * ```
     */
    readonly isLastChip: boolean;
    /**
     * @hidden
     */
    chipTabindex: number;
    removeBtnTabindex: number;
    areaMovingPerforming: boolean;
    private _displayDensity;
    private _selected;
    private _dragging;
    private _selectedItemClass;
    private _movedWhileRemoving;
    constructor(cdr: ChangeDetectorRef, elementRef: ElementRef, renderer: Renderer2);
    /**
     * @hidden
     */
    ngAfterViewInit(): void;
    /**
     * @hidden
     */
    onChipKeyDown(event: any): void;
    /**
     * @hidden
     */
    onRemoveBtnKeyDown(event: any): void;
    /**
     * @hidden
     */
    onChipRemove(): void;
    /**
     * @hidden
     */
    onChipRemoveMove(): void;
    /**
     * @hidden
     */
    onChipRemoveEnd(): void;
    /**
     * @hidden
     */
    onChipDragStart(event: any): void;
    /**
     * @hidden
     */
    onChipDragEnd(event: any): void;
    /**
     * @hidden
     */
    onChipMoveEnd(event: any): void;
    /**
     * @hidden
     */
    onChipDragClicked(): void;
    /**
     * @hidden
     */
    onChipDragEnterHandler(event: any): void;
    /**
     * @hidden
     */
    onChipDrop(event: any): void;
}
