/**
 * Base Autocomplete Component
 * Reusable autocomplete with filtering, scoring, and keyboard navigation
 * Used by SlashCommandAutocomplete and ResourceAutocomplete
 */
import { type ReactNode } from 'react';
export interface BaseAutocompleteProps<T> {
    items: T[];
    query: string;
    isVisible: boolean;
    isLoading?: boolean;
    onSelect: (item: T) => void;
    onLoadIntoInput?: (text: string) => void;
    onClose: () => void;
    filterFn: (item: T, query: string) => boolean;
    scoreFn: (item: T, query: string) => number;
    formatItem: (item: T, isSelected: boolean) => ReactNode;
    formatLoadText?: (item: T) => string;
    title: string;
    maxVisibleItems?: number;
    loadingMessage?: string;
    emptyMessage?: string;
    borderColor?: string;
}
/**
 * Generic autocomplete component with filtering, scoring, and keyboard navigation
 */
export declare function BaseAutocomplete<T>({ items, query, isVisible, isLoading, onSelect, onLoadIntoInput, onClose, filterFn, scoreFn, formatItem, formatLoadText, title, maxVisibleItems, loadingMessage, emptyMessage, borderColor, }: BaseAutocompleteProps<T>): import("react/jsx-runtime").JSX.Element | null;
//# sourceMappingURL=BaseAutocomplete.d.ts.map