/**
 * FederatedDropdown Component
 *
 * Full-featured federated search dropdown with:
 * - Multi-column layout (suggestions + products)
 * - Filtered tabs with product results
 * - Popular brands
 * - Trending products
 * - Category navigation
 * - Responsive design
 * - Rich product cards
 */
import React from 'react';
import type { SuggestionItem, ProductItem, FilteredTab, PopularBrand, QuerySuggestionsClassNames, QuerySuggestionsEventHandlers } from '@seekora-ai/ui-sdk-types';
export interface FederatedDropdownProps extends QuerySuggestionsEventHandlers {
    /** Current query string */
    query: string;
    /** Whether the dropdown is visible */
    isOpen?: boolean;
    /** Maximum suggestions to show */
    maxSuggestions?: number;
    /** Maximum products to show per section */
    maxProducts?: number;
    /** Maximum brands to show */
    maxBrands?: number;
    /** Minimum query length */
    minQueryLength?: number;
    /** Debounce delay in ms */
    debounceMs?: number;
    /** Filtered tabs configuration */
    filteredTabs?: Array<{
        id?: string;
        label: string;
        filter: string;
    }>;
    /** Show products section */
    showProducts?: boolean;
    /** Show brands section */
    showBrands?: boolean;
    /** Show filtered tabs */
    showFilteredTabs?: boolean;
    /** Show recent searches */
    showRecentSearches?: boolean;
    /** Layout mode */
    layout?: 'side-by-side' | 'stacked' | 'full-width';
    /** Products column width (for side-by-side) */
    productsColumnWidth?: string;
    /** Suggestions column width (for side-by-side) */
    suggestionsColumnWidth?: string;
    /** Show product prices */
    showPrices?: boolean;
    /** Currency symbol */
    currencySymbol?: string;
    /** Custom class names */
    classNames?: QuerySuggestionsClassNames;
    /** Custom styles */
    style?: React.CSSProperties;
    /** Custom product card renderer */
    renderProduct?: (product: ProductItem, index: number) => React.ReactNode;
    /** Custom suggestion renderer */
    renderSuggestion?: (suggestion: SuggestionItem, index: number, isActive: boolean) => React.ReactNode;
    /** Custom brand renderer */
    renderBrand?: (brand: PopularBrand, index: number) => React.ReactNode;
    /** Custom tab renderer */
    renderTab?: (tab: FilteredTab, isActive: boolean) => React.ReactNode;
    /** Header content */
    header?: React.ReactNode;
    /** Footer content */
    footer?: React.ReactNode;
    /** View all products link */
    viewAllProductsLink?: string;
    /** Width */
    width?: string | number;
    /** Max height */
    maxHeight?: string | number;
    /** Z-index */
    zIndex?: number;
    /** Analytics tags */
    analyticsTags?: string[];
    /** Include facets in suggestions API response */
    includeFacets?: boolean;
    /** Include categories in suggestions API response */
    includeCategories?: boolean;
    /** Include dropdown recommendations (trending products, top searches, etc.) */
    includeDropdownRecommendations?: boolean;
}
export interface FederatedDropdownRef {
    getActiveIndex: () => number;
    setActiveIndex: (index: number) => void;
    selectActive: () => void;
    navigateNext: () => void;
    navigatePrevious: () => void;
    getActiveTab: () => string | null;
    setActiveTab: (tabId: string) => void;
}
export declare const FederatedDropdown: React.ForwardRefExoticComponent<FederatedDropdownProps & React.RefAttributes<FederatedDropdownRef>>;
export default FederatedDropdown;
//# sourceMappingURL=FederatedDropdown.d.ts.map