/** @component combo-box */
import { ChangeDetectorRef, ElementRef, EventEmitter, OnInit, OnDestroy } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { CdkConnectedOverlay, ViewportRuler, OverlayContainer } from '@angular/cdk/overlay';
export interface ComboBoxOffset {
    horizontal: number;
    vertical: number;
}
export declare class ComboBoxComponent implements OnInit, OnDestroy, ControlValueAccessor {
    private _changeDetectorRef;
    private _viewportRuler;
    private _overlayContainer;
    /** @prop Sets the initial input element as empty | false */
    clear: boolean;
    /** @prop Sets the attribute disabled to the ComboBox | false */
    disabled: boolean;
    /** @prop Sets the ComboBox to have a search icon | true */
    hasSearchIcon: boolean;
    /** @prop Sets the ID of the ComboBox */
    id: string;
    /** @prop Array of options for the ComboBox dropdown | [] */
    options: Array<Object | string>;
    /** @prop Text that initially populates the input field for guidence | ''  */
    placeholder: string;
    /** @prop Sets the search prop | 'label' */
    searchProp: string;
    /** @prop Sets the target offset | { horizontal: 0, vertical: 4 } */
    targetOffset: ComboBoxOffset;
    /** @prop Sets the color theme of the ComboBox | '' */
    theme: string;
    value: Object | string;
    readonly select: EventEmitter<any>;
    overlayDir: CdkConnectedOverlay;
    dropdown: ElementRef;
    trigger: ElementRef;
    private readonly _destroy;
    private _document;
    private _inputValue;
    private _mutationObserver;
    private _value;
    private _shouldUpdatePosition;
    activeIndex: number;
    allowMutationObserver: boolean;
    dropdownOpen: boolean;
    dropdownWidth: number;
    filteredOptions: Array<Object | string>;
    isObject: Function;
    offsetY: number;
    positions: {
        originX: string;
        originY: string;
        overlayX: string;
        overlayY: string;
    }[];
    inputValue: string;
    constructor(_changeDetectorRef: ChangeDetectorRef, _viewportRuler: ViewportRuler, _overlayContainer: OverlayContainer, _document: any);
    ngOnInit(): void;
    ngOnDestroy(): void;
    writeValue(value: any): void;
    setDisabledState(disabled: boolean): void;
    registerOnChange(fn: any): void;
    registerOnTouched(_: any): void;
    private _change;
    selectOption(option: Object | string): void;
    handleOptionMousedown(event: MouseEvent): void;
    handleInput(): void;
    handleInputMousedown(event: MouseEvent): void;
    applyFilter(value: string): (string | Object)[];
    open(): void;
    attached(): void;
    private _calculateOverlayPosition;
    close(): void;
    handleKeydown(event: KeyboardEvent): void;
    private _onMousedown;
}
