import { ChangeDetectorRef, ElementRef, QueryList, OnDestroy, AfterViewInit } from '@angular/core';
import { IgxComboBase } from './combo.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 { IgxDropDownItemBaseDirective } from '../drop-down/drop-down-item.base';
import { IgxSelectionAPIService } from '../core/selection';
import { IgxComboItemComponent } from './combo-item.component';
import * as i0 from "@angular/core";
/** @hidden */
export declare class IgxComboDropDownComponent extends IgxDropDownComponent implements IDropDownBase, OnDestroy, AfterViewInit {
    combo: IgxComboBase;
    protected comboAPI: IgxComboAPIService;
    /** @hidden @internal */
    singleMode: boolean;
    /**
     * @hidden
     * @internal
     */
    children: QueryList<IgxDropDownItemBaseDirective>;
    /** @hidden @internal */
    get scrollContainer(): HTMLElement;
    protected get isScrolledToLast(): boolean;
    protected get lastVisibleIndex(): number;
    protected get sortedChildren(): IgxDropDownItemBaseDirective[];
    /**
     * Get all non-header items
     *
     * ```typescript
     * let myDropDownItems = this.dropdown.items;
     * ```
     */
    get items(): IgxComboItemComponent[];
    constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, document: any, selection: IgxSelectionAPIService, combo: IgxComboBase, comboAPI: IgxComboAPIService);
    /**
     * @hidden @internal
     */
    onFocus(): void;
    /**
     * @hidden @internal
     */
    onBlur(_evt?: any): void;
    /**
     * @hidden @internal
     */
    onToggleOpened(): void;
    /**
     * @hidden
     */
    navigateFirst(): void;
    /**
     * @hidden
     */
    navigatePrev(): void;
    /**
     * @hidden
     */
    navigateNext(): void;
    /**
     * @hidden @internal
     */
    selectItem(item: IgxDropDownItemBaseDirective): void;
    /**
     * @hidden @internal
     */
    updateScrollPosition(): void;
    /**
     * @hidden @internal
     */
    onItemActionKey(key: DropDownActionKey): void;
    ngAfterViewInit(): void;
    /**
     * @hidden @internal
     */
    ngOnDestroy(): void;
    protected scrollToHiddenItem(_newItem: any): void;
    protected scrollHandler: () => void;
    private handleEnter;
    private handleSpace;
    private isAddItemFocused;
    private focusAddItemButton;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxComboDropDownComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxComboDropDownComponent, "igx-combo-drop-down", never, { "singleMode": { "alias": "singleMode"; "required": false; }; }, {}, ["children"], ["*"], true, never>;
    static ngAcceptInputType_singleMode: unknown;
}
