import React from "react"; export type SearchFilterRangeValue = { min?: string | number; max?: string | number; [key: string]: unknown; }; export type SearchFilterValue = string | number | boolean | Date | null | undefined | Array | SearchFilterRangeValue; export interface SearchFilterOption { label: string; value: Exclude; } export type SearchFilterState = Record; export type SearchResultMetadata = Record; export interface SearchFilter { id: string; label: string; type: "text" | "select" | "multiselect" | "date" | "range" | "boolean"; value?: SearchFilterValue; options?: SearchFilterOption[]; placeholder?: string; } export interface SearchSuggestion { id: string; text: string; category?: string; icon?: React.ReactNode; count?: number; } export interface SearchResult { id: string; title: string; description?: string; type: "document" | "image" | "video" | "audio" | "user" | "location" | "tag"; thumbnail?: string; metadata: SearchResultMetadata; relevance: number; createdAt: Date; updatedAt: Date; } export interface GlassAdvancedSearchProps { /** * Search placeholder text */ placeholder?: string; /** * Available search filters */ filters?: SearchFilter[]; /** * Search suggestions */ suggestions?: SearchSuggestion[]; /** * Search results */ results?: SearchResult[]; /** * Loading state */ loading?: boolean; /** * Enable search history */ enableHistory?: boolean; /** * Enable saved searches */ enableSavedSearches?: boolean; /** * Enable advanced filters */ enableAdvancedFilters?: boolean; /** * Show result statistics */ showStats?: boolean; /** * Search input handler */ onSearch?: (query: string, filters: SearchFilterState) => void; /** * Filter change handler */ onFilterChange?: (filters: SearchFilterState) => void; /** * Result click handler */ onResultClick?: (result: SearchResult) => void; /** * Save search handler */ onSaveSearch?: (name: string, query: string, filters: SearchFilterState) => void; /** * Custom className */ className?: string; /** * Respect user's motion preferences */ respectMotionPreference?: boolean; /** * Custom ID */ id?: string; /** * Custom data-testid for testing */ "data-testid"?: string; /** * ARIA label for accessibility */ "aria-label"?: string; /** * Compact density for constrained previews and embedded panels. */ compact?: boolean; /** * Keep the search panel visually bounded inside its parent. */ contained?: boolean; /** * Maximum rendered height for contained/compact contexts. */ maxHeight?: number | string; /** * Maximum rendered width for contained/compact contexts. */ maxWidth?: number | string; } /** * GlassAdvancedSearch component * A comprehensive search interface with filters, suggestions, and advanced features */ export declare const GlassAdvancedSearch: React.ForwardRefExoticComponent>; export default GlassAdvancedSearch; //# sourceMappingURL=GlassAdvancedSearch.d.ts.map