import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
import { BooleanInput } from '@angular/cdk/coercion';
import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, OnDestroy, QueryList, TemplateRef } from '@angular/core';
import { NtOptionComponent } from '@ng-tangram/components/core';
export declare class NtAutocompleteSelectedEvent {
    source: NtAutocompleteComponent;
    option: NtOptionComponent;
    constructor(source: NtAutocompleteComponent, option: NtOptionComponent);
}
export interface NtAutocompleteActivatedEvent {
    source: NtAutocompleteComponent;
    option: NtOptionComponent | null;
}
export interface NtAutocompleteDefaultOptions {
    autoActiveFirstOption?: boolean;
}
export declare const NT_AUTOCOMPLETE_DEFAULT_OPTIONS: InjectionToken<NtAutocompleteDefaultOptions>;
export declare function NT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY(): NtAutocompleteDefaultOptions;
export declare class NtAutocompleteComponent implements AfterContentInit, OnDestroy {
    private _changeDetectorRef;
    private _elementRef;
    private _activeOptionChanges;
    _keyManager: ActiveDescendantKeyManager<NtOptionComponent>;
    showPanel: boolean;
    _isOpen: boolean;
    get isOpen(): boolean;
    template: TemplateRef<any>;
    panel: ElementRef;
    options: QueryList<NtOptionComponent>;
    displayWith: ((value: any) => string) | null;
    private _autoActiveFirstOption;
    get autoActiveFirstOption(): boolean;
    set autoActiveFirstOption(value: boolean);
    panelWidth: string | number;
    readonly optionSelected: EventEmitter<NtAutocompleteSelectedEvent>;
    readonly opened: EventEmitter<void>;
    readonly closed: EventEmitter<void>;
    readonly optionActivated: EventEmitter<NtAutocompleteActivatedEvent>;
    set classList(value: string);
    _classList: {
        [key: string]: boolean;
    };
    id: string;
    constructor(_changeDetectorRef: ChangeDetectorRef, _elementRef: ElementRef<HTMLElement>, defaults: NtAutocompleteDefaultOptions);
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    _setScrollTop(scrollTop: number): void;
    _getScrollTop(): number;
    _setVisibility(): void;
    _emitSelectEvent(option: NtOptionComponent): void;
    private _setVisibilityClasses;
    static ngAcceptInputType_autoActiveFirstOption: BooleanInput;
    static ngAcceptInputType_disableRipple: BooleanInput;
}
