/**
 * QuerySuggestionsDropdown Component
 *
 * Classic dropdown variant with:
 * - Highlighted matches
 * - Keyboard navigation
 * - Recent searches
 * - Customizable styling
 * - Analytics tracking
 * - Accessibility support
 */
import React from 'react';
import type { SuggestionItem, RecentSearch, QuerySuggestionsClassNames, HighlightConfig, KeyboardNavConfig, AnimationConfig, QuerySuggestionsEventHandlers } from '@seekora-ai/ui-sdk-types';
export interface QuerySuggestionsDropdownProps extends QuerySuggestionsEventHandlers {
    /** Current query string */
    query: string;
    /** Whether the dropdown is visible */
    isOpen?: boolean;
    /** Maximum suggestions to display */
    maxSuggestions?: number;
    /** Minimum query length to trigger suggestions */
    minQueryLength?: number;
    /** Debounce delay in ms */
    debounceMs?: number;
    /** Show recent searches section */
    showRecentSearches?: boolean;
    /** Maximum recent searches to display */
    maxRecentSearches?: number;
    /** Show suggestion counts */
    showCounts?: boolean;
    /** Show empty state when no results */
    showEmptyState?: boolean;
    /** Highlight configuration */
    highlight?: HighlightConfig;
    /** Keyboard navigation configuration */
    keyboardNav?: KeyboardNavConfig;
    /** Animation configuration */
    animation?: AnimationConfig;
    /** Custom class names */
    classNames?: QuerySuggestionsClassNames;
    /** Custom CSS styles */
    style?: React.CSSProperties;
    /** Custom render for suggestion item */
    renderSuggestion?: (suggestion: SuggestionItem, index: number, isActive: boolean, highlight: (text: string) => React.ReactNode) => React.ReactNode;
    /** Custom render for recent search item */
    renderRecentSearch?: (search: RecentSearch, index: number, isActive: boolean) => React.ReactNode;
    /** Custom render for empty state */
    renderEmpty?: () => React.ReactNode;
    /** Custom footer content */
    footer?: React.ReactNode;
    /** Position of dropdown */
    position?: 'absolute' | 'fixed';
    /** Dropdown width */
    width?: string | number;
    /** Z-index for dropdown */
    zIndex?: number;
    /** Input element ref for positioning */
    inputRef?: React.RefObject<HTMLInputElement>;
    /** Close on click outside */
    closeOnClickOutside?: boolean;
    /** Close on escape key */
    closeOnEscape?: boolean;
    /** ARIA label */
    ariaLabel?: string;
}
export interface QuerySuggestionsDropdownRef {
    /** Select the currently active item */
    selectActive: () => void;
    /** Navigate to next item */
    navigateNext: () => void;
    /** Navigate to previous item */
    navigatePrevious: () => void;
    /** Reset selection */
    resetSelection: () => void;
    /** Get active index */
    getActiveIndex: () => number;
    /** Get total items count */
    getTotalItems: () => number;
}
export declare const QuerySuggestionsDropdown: React.ForwardRefExoticComponent<QuerySuggestionsDropdownProps & React.RefAttributes<QuerySuggestionsDropdownRef>>;
export default QuerySuggestionsDropdown;
//# sourceMappingURL=QuerySuggestionsDropdown.d.ts.map