/// <reference types="react" />
import * as GQL from '../../backend/graphqlschema';
interface BaseSuggestion {
    title: string;
    description?: string;
    /**
     * The URL that is navigated to when the user selects this
     * suggestion.
     */
    url: string;
    /**
     * A label describing the action taken when navigating to
     * the URL (e.g., "go to repository").
     */
    urlLabel: string;
}
interface SymbolSuggestion extends BaseSuggestion {
    type: 'symbol';
    kind: GQL.SymbolKind;
}
interface RepoSuggestion extends BaseSuggestion {
    type: 'repo';
}
interface FileSuggestion extends BaseSuggestion {
    type: 'file';
}
interface DirSuggestion extends BaseSuggestion {
    type: 'dir';
}
export declare type Suggestion = SymbolSuggestion | RepoSuggestion | FileSuggestion | DirSuggestion;
export declare function createSuggestion(item: GQL.SearchSuggestion): Suggestion;
interface SuggestionProps {
    suggestion: Suggestion;
    isSelected?: boolean;
    /** Called when the user clicks on the suggestion */
    onClick?: () => void;
    /** Get a reference to the HTML element for scroll management */
    liRef?: (ref: HTMLLIElement | null) => void;
}
export declare const SuggestionItem: ({ suggestion, isSelected, onClick, liRef }: SuggestionProps) => JSX.Element;
export {};
//# sourceMappingURL=Suggestion.d.ts.map