import { ChangeDetectorRef, ElementRef, QueryList, EventEmitter } from '@angular/core';
import { IgxDropDownBase } from '../drop-down/drop-down.component';
import { IgxDropDownItemBase } from '../drop-down/drop-down-item.component';
import { IgxComboComponent } from './combo.component';
import { IgxComboItemComponent } from './combo-item.component';
import { IgxSelectionAPIService } from '../core/selection';
import { IgxForOfDirective } from '../directives/for-of/for_of.directive';
export declare class IgxComboDropDownComponent extends IgxDropDownBase {
    protected elementRef: ElementRef;
    protected cdr: ChangeDetectorRef;
    protected selectionAPI: IgxSelectionAPIService;
    parentElement: IgxComboComponent;
    private _children;
    private _scrollPosition;
    constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, selectionAPI: IgxSelectionAPIService, parentElement: IgxComboComponent);
    /**
     * @hidden
     */
    protected readonly scrollContainer: any;
    protected readonly isScrolledToLast: boolean;
    /**
     *  Event emitter overrides
     *
     * @hidden
     */
    onOpened: EventEmitter<{}>;
    /**
     * @hidden
     */
    onOpening: EventEmitter<{}>;
    /**
     * @hidden
     */
    onClosing: EventEmitter<{}>;
    /**
     * @hidden
     */
    onClosed: EventEmitter<{}>;
    /**
     * @hidden
     */
    verticalScrollContainer: IgxForOfDirective<any>;
    /**
     * @hidden
     */
    protected children: QueryList<IgxDropDownItemBase>;
    /**
     * @hidden
     */
    onFocus(): void;
    /**
     * @hidden
     */
    onBlur(evt?: any): void;
    /**
     * @hidden
     */
    readonly selectedItem: any[];
    /**
     * @hidden
     */
    navigatePrev(): void;
    /**
     * @hidden
     */
    navigateFirst(): void;
    /**
     * @hidden
     */
    navigateLast(): void;
    /**
     * @hidden
     */
    setSelectedItem(itemID: any, select?: boolean): void;
    /**
     * @hidden
     */
    selectItem(item: IgxComboItemComponent, event?: Event): void;
    /**
     * @hidden
     */
    navigateItem(newIndex: number, direction?: number): void;
    private navigateVirtualItem(direction, extraScroll?);
    private subscribeNext(virtualContainer, callback);
    private focusItem(visibleIndex);
    /**
     * @hidden
     */
    onToggleOpening(): void;
    /**
     * @hidden
     */
    onToggleOpened(): void;
    /**
     * @hidden
     */
    onToggleClosed(): void;
    onToggleClosing(): void;
    updateScrollPosition(): void;
}
