/** * Universal Entity Search Component * * Provides unified search across all accessible entities with proper * permission validation, highlighting, and filtering capabilities. */ import type { EntityConfig } from '../../lib/entities/types'; export interface EntitySearchProps { /** REQUIRED: Entity configs must be passed from server component */ entities: EntityConfig[]; placeholder?: string; variant?: 'inline' | 'modal' | 'dropdown'; onResultClick?: (result: SearchResult) => void; onSearch?: (query: string, entityName?: string) => void; enableEntityFilter?: boolean; maxResults?: number; className?: string; } export interface SearchResult { id: string; entityName: string; entityConfig: EntityConfig; title: string; description?: string; matches: SearchMatch[]; url: string; metadata: { createdAt?: string; updatedAt?: string; createdBy?: string; }; data: Record; } export interface SearchMatch { field: string; fieldLabel: string; value: string; highlights: HighlightRange[]; } export interface HighlightRange { start: number; end: number; } export declare function EntitySearch({ entities, placeholder, variant, onResultClick, onSearch, enableEntityFilter, maxResults, className, }: EntitySearchProps): import("react/jsx-runtime").JSX.Element; /** * Global Search Modal Component */ export declare function EntitySearchModal({ isOpen, onClose, onResultClick, entities, }: { isOpen: boolean; onClose: () => void; onResultClick?: (result: SearchResult) => void; /** REQUIRED: Entity configs must be passed from server component */ entities: EntityConfig[]; }): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=EntitySearch.d.ts.map