import React from 'react'; import { MenuPosition } from './dropdownMenu'; export interface MenuOption { title: string; value: unknown; iconUrl?: string; overrideOnClick?: (value?: MenuOption) => void; } /** * The properties for the Menu component. */ export interface MenuProps { /** * An array of options to be displayed in the menu. The outer array represents the rows of the menu, while the inner arrays represent the columns. */ options: MenuOption[][]; /** * The currently selected option in the menu. */ selected?: MenuOption; /** * An ID to associate wrapper component with this Menu. */ menuId?: string; /** * A function to be called to close the menu. */ handleExpandMenu?: () => void; /** * A function to be called when an option in the menu is hovered over. */ onOptionHover?: (value?: unknown) => void; /** * A function to be called when an option in the menu is selected/clicked. */ onChange: (value: MenuOption) => void; /** * Whether the width of the menu should fit its contents */ fitContent?: boolean; /** * The width of the menu, as a CSS string, default to 100% of the parent container. */ width?: string; /** * The height of the menu, as a CSS string. */ height?: string; /** * The text to be displayed as the header of the menu. */ header?: string; /** * The currently focused option in the menu. */ focusedOption?: MenuOption; /** * The menu should be positioned absolutely. */ absolutePosition?: boolean; /** * The position of the menu relative to the button ('above' or 'below'). */ menuPosition?: MenuPosition; } export declare const Menu: React.FC; export declare const ButtonImage: import("styled-components").StyledComponent<"img", import("styled-components").DefaultTheme, {}, never>;