import { SortedResult } from 'fumadocs-core/server'; import { ReactElement, HTMLAttributes, ReactNode } from 'react'; type SearchLink = [name: string, href: string]; interface SharedProps { open: boolean; onOpenChange: (open: boolean) => void; /** * Custom links to be displayed if search is empty */ links?: SearchLink[]; } interface SearchDialogProps extends SharedProps, Omit { results: SortedResult[] | 'empty'; footer?: ReactNode; } interface SearchContentProps { search: string; onSearchChange: (v: string) => void; isLoading?: boolean; items: SortedResult[]; hideResults?: boolean; } declare function SearchDialog({ open, onOpenChange, footer, links, ...props }: SearchDialogProps): ReactElement; interface TagItem { name: string; value: string | undefined; } interface TagsListProps extends HTMLAttributes { tag?: string; onTagChange: (tag: string | undefined) => void; allowClear?: boolean; items: TagItem[]; } declare function TagsList({ tag, onTagChange, items, allowClear, ...props }: TagsListProps): ReactNode; export { SearchDialog, type SearchLink, type SharedProps, type TagItem, TagsList, type TagsListProps };