import { ChangeDetectorRef, ElementRef, QueryList, EventEmitter, OnDestroy, AfterViewInit } from '@angular/core';
import { IgxComboItemComponent } from './combo-item.component';
import { IgxSelectionAPIService } from '../core/selection';
import { IgxForOfDirective } from '../directives/for-of/for_of.directive';
import { CancelableEventArgs } from '../core/utils';
import { IgxComboBase } from './combo.common';
import { IgxDropDownBase, IgxDropDownItemBase } from '../drop-down/drop-down.base';
/** @hidden */
export declare class IgxComboDropDownComponent extends IgxDropDownBase implements AfterViewInit, OnDestroy {
    protected elementRef: ElementRef;
    protected cdr: ChangeDetectorRef;
    protected selection: IgxSelectionAPIService;
    combo: IgxComboBase;
    private _children;
    private _scrollPosition;
    private destroy$;
    constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, selection: IgxSelectionAPIService, combo: IgxComboBase);
    /**
     * @hidden
     */
    protected readonly scrollContainer: any;
    /**
     * @hidden
     */
    protected readonly isScrolledToLast: boolean;
    protected readonly lastVisibleIndex: number;
    /**
     *  Event emitter overrides
     *
     * @hidden
     */
    onOpened: EventEmitter<void>;
    /**
     * @hidden
     */
    onOpening: EventEmitter<CancelableEventArgs>;
    /**
     * @hidden
     */
    onClosing: EventEmitter<CancelableEventArgs>;
    /**
     * @hidden
     */
    onClosed: EventEmitter<void>;
    /**
     * @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
     */
    private navigateRemoteItem;
    /**
     * @hidden
     */
    setSelectedItem(itemID: any, select?: boolean): void;
    /**
     * @hidden
     */
    selectItem(item: IgxComboItemComponent, event?: Event): void;
    /**
     * @hidden
     */
    navigateItem(newIndex: number, direction?: number): void;
    private navigateDown;
    private navigateUp;
    private itemIndexInData;
    private findNextFocusableItem;
    private focusComboSearch;
    private focusAddItemButton;
    private subscribeNext;
    protected scrollToHiddenItem(newItem: any): void;
    /**
     * @hidden
     */
    protected scrollHandler: () => void;
    /**
     * @hidden
     */
    onToggleOpening(e: CancelableEventArgs): void;
    /**
     * @hidden
     */
    onToggleOpened(): void;
    /**
     * @hidden
     */
    onToggleClosed(): void;
    /**
     * @hidden
     */
    onToggleClosing(e: CancelableEventArgs): void;
    /**
     * @hidden
     */
    updateScrollPosition(): void;
    ngAfterViewInit(): void;
    /**
     *@hidden
     */
    ngOnDestroy(): void;
}
