import { SearchResult, FuzzySearchItem, FuzzySearcher } from '@teambit/explorer.ui.command-bar';
import type { SearchProvider } from '@teambit/command-bar';
import { ComponentResultPlugin } from './component-result';
import { ComponentModel } from '../component-model';
export type { ComponentResultPlugin };
type ComponentSearchIdx = {
    name: string;
    displayName: string;
    component: ComponentModel;
};
type ComponentSearcherOptions = {
    navigate: (path: string) => void;
    resultPlugins?: ComponentResultPlugin[];
};
export declare class ComponentSearcher extends FuzzySearcher<ComponentModel, ComponentSearchIdx> implements SearchProvider {
    options: ComponentSearcherOptions;
    constructor(options: ComponentSearcherOptions);
    updatePlugins(plugins: ComponentResultPlugin[]): void;
    test(term: string): boolean;
    protected toSearchableItem(item: ComponentModel): ComponentSearchIdx;
    protected toSearchResult: ({ item }: FuzzySearchItem<ComponentSearchIdx>) => SearchResult;
}
