import "../../CommonImports";
import "../../Core/core.css";
import "./Filter.css";
import * as React from "react";
import { IExpandable } from '../../Expandable';
import { IListBoxItem } from '../../ListBox';
import { IFilter } from '../../Utilities/Filter';
import { IFocusable } from '../../Utilities/Focus';
import { IFilterItem, IFilterProps } from "./Filter.Props";
export declare class Filter<T = {}> extends React.Component<IFilterProps<T>> implements IExpandable, IFocusable<{}> {
    static defaultProps: {
        width: number;
    };
    private dropdown;
    private selection;
    private wrappedItems;
    private dropdownCallout;
    private activeFilter;
    private activeFilterReturnElementId;
    private filterText;
    private dropdownOnFilterTextChanged;
    private timerManagement;
    constructor(props: IFilterProps<T>);
    focus(): void;
    collapse: () => void;
    expand: () => void;
    componentDidMount(): void;
    componentWillUnmount(): void;
    render(): JSX.Element;
    private onDoneClick;
    private onApplyClick;
    private onExpandClick;
    private renderBeforeContent;
    private renderFilteredView;
    private renderSelectedItems;
    private renderFilterItems;
    private onFilteredItemSelect;
    private onFilterChanged;
    private onSelectionChanged;
    private onResetClick;
    private onResetFilterItemClick;
    private onFilterItemSelected;
    private getOnFilterTextChanged;
    private getFilterStartingIndex;
    private getSelectedFilterItems;
    private clearFilterSelection;
    private clearActiveFilter;
    private filtered;
    private announceWithDebouncing;
}
export declare function getKeywordFilterItem(filter: IFilter, throttle?: number, items?: IListBoxItem[]): IFilterItem;
export declare function getKeywordSearchResults<T>(filterText: string): IListBoxItem<T>[];
export declare function renderSelectedFilterItems<T>(selectedItems: IListBoxItem<T>[]): JSX.Element;
