import { ChangeDetectorRef, ElementRef, OnDestroy, Renderer2, TemplateRef, EventEmitter } from '@angular/core';
import { PositioningService } from 'mt-ngx-bootstrap/positioning';
import { Subscription } from 'rxjs';
import { TypeaheadMatch } from './typeahead-match.class';
import { TypeaheadDirective } from './typeahead.directive';
import { TypeaheadOptionItemContext, TypeaheadOptionListContext, TypeaheadTemplateMethods } from './models';
export declare class TypeaheadContainerComponent implements OnDestroy {
    private positionService;
    private renderer;
    element: ElementRef;
    private changeDetectorRef;
    activeChangeEvent: EventEmitter<any>;
    parent: TypeaheadDirective;
    query: string[] | string;
    isFocused: boolean;
    top: string;
    left: string;
    display: string;
    placement: string;
    dropup: boolean;
    guiHeight: string;
    needScrollbar: boolean;
    animationState: string;
    positionServiceSubscription: Subscription;
    height: number;
    popupId: string;
    readonly isBs4: boolean;
    readonly typeaheadTemplateMethods: TypeaheadTemplateMethods;
    protected _active: TypeaheadMatch;
    protected _matches: TypeaheadMatch[];
    private ulElement;
    private liElements;
    constructor(positionService: PositioningService, renderer: Renderer2, element: ElementRef, changeDetectorRef: ChangeDetectorRef);
    active: TypeaheadMatch;
    matches: TypeaheadMatch[];
    readonly isTopPosition: boolean;
    readonly optionsListTemplate: TemplateRef<TypeaheadOptionListContext>;
    readonly isAnimated: boolean;
    readonly adaptivePosition: boolean;
    readonly typeaheadScrollable: boolean;
    readonly typeaheadOptionsInScrollableView: number;
    readonly typeaheadIsFirstItemActive: boolean;
    readonly itemTemplate: TemplateRef<TypeaheadOptionItemContext>;
    selectActiveMatch(isActiveItemChanged?: boolean): void;
    activeChanged(): void;
    prevActiveMatch(): void;
    nextActiveMatch(): void;
    selectActive(value: TypeaheadMatch): void;
    highlight(match: TypeaheadMatch, query: string[] | string): string;
    focusLost(): void;
    isActive(value: TypeaheadMatch): boolean;
    selectMatch(value: TypeaheadMatch, e?: Event): boolean;
    setScrollableMode(): void;
    scrollPrevious(index: number): void;
    scrollNext(index: number): void;
    ngOnDestroy(): void;
    private isScrolledIntoView;
    private scrollToBottom;
    private scrollToTop;
}
