import { PropsWithChildren, ReactElement } from 'react';
import { Component } from '../component';
import { Text } from '../text';
import { Theming } from '../theming';
export interface ContextValue {
    onClick: (key: string) => void;
    selected: string;
    level?: Text.Level;
    gap?: Component.Size;
    background?: Theming.Shade;
}
export interface MenuProps extends PropsWithChildren, Pick<ContextValue, "level" | "gap" | "background"> {
    value?: string;
    onChange?: ((key: string) => void) | Record<string, (key: string) => void>;
}
export declare const useContext: () => ContextValue;
/**
 * Menu is a modular component that allows you to create a menu with a list of items.
 * It satisfies the InputControl string interface, so it's selected value can be
 * controlled.
 *
 * @param props - Props for the component. All unlisted props will be spread to the
 * underlying Space component acting as the root element.
 * @param props.onChange - Callback executed when the selected item changes.
 * @param props.value - The selected item.
 */
export declare const Menu: ({ children, onChange, level, gap, background, value: selected, }: MenuProps) => ReactElement;
export declare const Divider: () => ReactElement;
//# sourceMappingURL=Menu.d.ts.map