import React from 'react'; import { ContentMenuItemSelectEvent } from './ContentMenuItem/ContentMenuItem'; export type ContentMenuEntry = { bookmarked?: boolean; } & ({ type: 'folder'; id: string; label: string; children: ContentMenuEntry[]; } | { type: 'item'; id: string; icon?: string | { dark: string; light: string; }; label: string; itemData: any; }); export interface ContentMenuProps { /** * The list of content menu items at the first level of the content menu. */ structure: ContentMenuEntry[]; /** * Callback to handle a click on a content menu item. */ handleClickItem: (entry: ContentMenuEntry, mouseEvent: ContentMenuItemSelectEvent) => void; /** * Callback to handle a click on the bookmark icon of a content menu item. */ handleBookmarkItem: (entry: ContentMenuEntry) => void; /** * The ID of the target content menu item to search for and be navigated to within the content menu. */ targetId?: string; /** * Disable bookmark icon and functionality for all content menu items. */ disableBookmarking?: boolean; /** * Selected scheme to determine which variant of app icons to show. */ selectedScheme?: 'dark' | 'light'; } type SearchNode = { children?: SearchNode[]; id: string; }; export declare const findPathToItemWithId: (node: SearchNode, path: string[], targetId: string) => string[] | undefined; export declare const ContentMenu: React.FC; export {};