import { IConstants } from '@digitaldefiance/suite-core-lib'; import React, { FC, ReactElement } from 'react'; import { ICategoryConfig } from '../interfaces/ICategoryConfig'; import { MenuType } from '../types/MenuType'; declare global { interface Window { APP_CONFIG?: { hostname: string; siteTitle: string; server: string; [key: string]: unknown; }; } } export interface AdditionalDropdownMenu { menuType: MenuType; menuIcon: ReactElement; priority?: number; /** Optional callback invoked when the icon button is clicked. */ action?: () => void; /** When true, the menu icon is hidden if there are no sub-options. Defaults to false. */ hideWhenEmpty?: boolean; /** * Optional category id. When the TopMenu is given matching `categories`, * this menu is rendered inside that category's popover instead of inline. */ category?: string; /** Optional label used for tile captions and tooltips. */ label?: string; } export interface TopMenuProps { Logo: React.ReactNode; additionalMenus?: Array; /** * Optional category configurations. When provided, any menu (whether * registered via `MenuContext` or passed in `additionalMenus`) whose * `category` matches a category `id` is rendered as a tile inside that * category's mega-menu popover. Menus without a matching category render * inline in the AppBar exactly as before, so this is backwards compatible: * omit `categories` (or use empty array) for the original layout. */ categories?: ICategoryConfig[]; /** Custom action elements rendered in the toolbar after menu dropdowns (e.g. notification bell). Only shown when authenticated. */ actions?: React.ReactNode; constants?: IConstants; showTitle?: boolean; } export declare const TopMenu: FC; export default TopMenu; //# sourceMappingURL=TopMenu.d.ts.map