/** @jsx jsx */ /** @jsxFrag React.Fragment */ import React from 'react'; import { type IconProps } from '@blueprintjs/core'; export interface SearchResultListData> { indexID: string; selectedItemPath: string | null; extraItemViewData?: Extra extends undefined ? never : Extra; } export interface SearchResultListProps> { queryExpression: string; zeroResultsView?: JSX.Element; selectedItemPath: string | null; onSelectItem: (itemPath: string | null) => void; onOpenItem?: (itemPath: string) => void; keyExpression?: string; className?: string; extraItemViewData?: Extra extends undefined ? never : Extra; } export default function makeSearchResultList< /** Data passed to item views as `itemData` prop. Different per item. */ ObjectData extends Record, /** Data passed to item views as `extraData` prop. Same for all items. */ ExtraData extends undefined | Record = undefined>(InnerItemView: React.FC<{ objectData: ObjectData; extraData?: ExtraData; objectPath: string; }>, getEntityInfoForObjectPath: (objPath: string) => { name: string; iconProps: IconProps; }): React.FC>;