import "../../CommonImports";
import "../../Core/core.css";
import "./EditableDropdown.css";
import * as React from "react";
import { DropdownCallout, DropdownExpandableTextField } from '../../Dropdown';
import { IExpandable } from '../../Expandable';
import { renderListBoxCell } from '../../ListBox';
import { IFocusable } from '../../Utilities/Focus';
import { IEditableDropdownProps } from "./EditableDropdown.Props";
export declare class CustomEditableDropdown<T = {}> extends React.Component<IEditableDropdownProps<T>> implements IExpandable, IFocusable<{}> {
    static defaultProps: {
        allowClear: boolean;
        autoAccept: boolean;
        renderExpandable: typeof DropdownExpandableTextField;
        renderCallout: typeof DropdownCallout;
        renderItem: typeof renderListBoxCell;
    };
    private columns;
    private dropdown;
    private filteredItems;
    private selection;
    private itemProvider;
    private isExpanded;
    private selectedItemInList;
    private selectedFreeform;
    private listBox;
    private filteredIndexMap;
    private filterMatches;
    private previousFocusedIndex;
    private focusedIndex;
    private lastSelectedItem?;
    private timerManagement;
    constructor(props: IEditableDropdownProps<T>);
    render(): JSX.Element;
    componentDidMount(): void;
    collapse: () => void;
    expand: () => void;
    focus(): void;
    private renderItem;
    private wrapWithFocusedIndexObserver;
    private onCollapse;
    private onItemsChange;
    private selectSelectedTextItem;
    private onSelect;
    private renderExpandable;
    private renderCallout;
    private onExpand;
    private onTextChange;
    private filterItems;
    private onKeyDown;
    private selectIndex;
    private focusItem;
    private updateFilteredIndexMap;
    private focusNextItem;
    private focusPreviousItem;
    private getFocusedIndex;
    private isFocusable;
}
