import React from 'react';
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;
}
export declare const Menu: React.FC<MenuProps>;
export declare const ButtonImage: import("styled-components").StyledComponent<"img", import("styled-components").DefaultTheme, {}, never>;
