import type { ClassName, MenuItem, MenuItemClassConfig, MenuItemIcon } from './types'; export type MenuStyleDef = { [K in keyof CSSStyleDeclaration]?: CSSStyleDeclaration[K]; }; export type MenuStyles = typeof MENU_STYLES; export type MenuClasses = typeof MENU_CLASSES; export type MenuAttributions = { style?: { [K in keyof MenuStyles]?: Partial; }; class?: { [K in keyof MenuClasses]?: Partial; }; }; export declare const MENU_STYLES: { menuContainer: MenuStyleDef; menuItem: MenuStyleDef; menuItemHover: MenuStyleDef; menuItemDisabled: MenuStyleDef; menuItemSeparator: MenuStyleDef; menuItemIcon: MenuStyleDef; menuItemText: MenuStyleDef; menuItemShortcut: MenuStyleDef; submenuArrow: MenuStyleDef; submenuContainer: MenuStyleDef; inputContainer: MenuStyleDef; inputLabel: MenuStyleDef; inputField: MenuStyleDef; buttonContainer: MenuStyleDef; button: MenuStyleDef; }; export declare const MENU_CLASSES: { menuContainer: ClassName; submenuContainer: ClassName; menuItem: ClassName; menuItemSeparator: ClassName; menuItemSubmenu: ClassName; menuItemDisabled: ClassName; }; export declare function sanitizeSvg(svgString: string): string; export declare function mergeStyles(styles?: Partial): MenuStyles; export declare function mergeClasses(classes?: Partial): MenuClasses; export declare function createElement(tag: string, className?: string, styles?: Record): HTMLElement; export declare function applyStyles(element: HTMLElement, styles: { [K in keyof CSSStyleDeclaration]?: CSSStyleDeclaration[K]; }): void; export declare function createIcon(icon: MenuItemIcon, menuItem?: MenuItem, iconStyles?: MenuStyleDef): HTMLElement; export declare function createNumberInputItem(label: string, defaultValue: number, icon: MenuItemIcon | undefined, callback: (value: number) => void, styles?: MenuStyles): HTMLElement; export declare function normalizeItemClassNameConfig(classNames?: MenuItemClassConfig): MenuItemClassConfig; export declare function normalizeClassName(className: ClassName): string[];