import { ChangeDetectorRef, ElementRef, QueryList, OnDestroy, AfterViewInit } from '@angular/core';
import { IgxForOfDirective } from '../directives/for-of/for_of.directive';
import { CancelableEventArgs } from '../core/utils';
import { IgxComboBase } from './combo.common';
import { Navigate } from '../drop-down/drop-down.common';
import { IDropDownBase } from '../drop-down/drop-down.common';
import { IgxDropDownComponent } from '../drop-down/drop-down.component';
import { DropDownActionKey } from '../drop-down/drop-down.common';
import { IgxComboAPIService } from './combo.api';
import { IgxDropDownItemBase } from '../drop-down/drop-down-item.base';
import { IgxSelectionAPIService } from '../core/selection';
/** @hidden */
export declare class IgxComboDropDownComponent extends IgxDropDownComponent implements IDropDownBase, OnDestroy, AfterViewInit {
    protected elementRef: ElementRef;
    protected cdr: ChangeDetectorRef;
    protected selection: IgxSelectionAPIService;
    combo: IgxComboBase;
    protected comboAPI: IgxComboAPIService;
    constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, selection: IgxSelectionAPIService, combo: IgxComboBase, comboAPI: IgxComboAPIService);
    /**
     * @hidden
     */
    protected readonly scrollContainer: any;
    /**
     * @hidden
     */
    protected readonly isScrolledToLast: boolean;
    protected readonly lastVisibleIndex: number;
    protected children: QueryList<IgxDropDownItemBase>;
    private _scrollPosition;
    /**
     * @hidden
     */
    verticalScrollContainer: IgxForOfDirective<any>;
    /**
     * @hidden
     */
    onFocus(): void;
    /**
     * @hidden
     */
    onBlur(evt?: any): void;
    /**
     * @hidden
     */
    onToggleOpened(): void;
    /**
     * @hidden
     */
    navigatePrev(): void;
    /**
     * @hidden
     */
    navigateFirst(): void;
    /**
     * @hidden
     */
    navigateLast(): void;
    /**
     * @hidden
     */
    private navigateRemoteItem;
    /**
     * @hidden
     */
    selectItem(item: IgxDropDownItemBase): void;
    private navigateDown;
    private navigateUp;
    /**
     * @hidden
     */
    protected navigate(direction: Navigate, currentIndex?: number): void;
    private itemIndexInData;
    private findNextFocusableItem;
    private focusComboSearch;
    private focusAddItemButton;
    private subscribeNext;
    protected scrollToHiddenItem(newItem: any): void;
    /**
     * @hidden
     */
    protected scrollHandler: () => void;
    /**
     * @hidden
     */
    protected readonly sortedChildren: IgxDropDownItemBase[];
    /**
     * Get all non-header items
     *
     * ```typescript
     * let myDropDownItems = this.dropdown.items;
     * ```
     */
    readonly items: IgxDropDownItemBase[];
    /**
     * @hidden
     */
    protected scrollToItem(): void;
    /**
     * @hidden
     */
    onToggleClosing(e: CancelableEventArgs): void;
    /**
     * @hidden
     */
    updateScrollPosition(): void;
    /**
     * @hidden
     */
    onItemActionKey(key: DropDownActionKey): void;
    private handleEnter;
    private handleSpace;
    private isAddItemFocused;
    ngAfterViewInit(): void;
    /**
     *@hidden
     */
    ngOnDestroy(): void;
}
