import React from "react";
export interface MenuItem {
    id: string;
    label: string;
    icon?: React.ReactNode;
    shortcut?: string;
    disabled?: boolean;
    children?: MenuItem[];
    action?: () => void;
    separator?: boolean;
    checked?: boolean;
    type?: "normal" | "checkbox" | "radio";
    group?: string;
}
export interface GlassMenubarProps {
    /**
     * Menu items
     */
    items?: MenuItem[];
    /**
     * Menubar orientation
     */
    orientation?: "horizontal" | "vertical";
    /**
     * Size variant
     */
    size?: "sm" | "md" | "lg";
    /**
     * Custom className
     */
    className?: string;
    /**
     * Whether menubar is disabled
     */
    disabled?: boolean;
    /**
     * Accessible label for the menubar
     */
    "aria-label"?: string;
    /**
     * Test ID for testing
     */
    "data-testid"?: string;
}
export interface GlassMenubarContentProps {
    /**
     * Menu content
     */
    children: React.ReactNode;
    /**
     * Content position
     */
    position?: {
        x: number;
        y: number;
    };
    /**
     * Whether content is open
     */
    isOpen: boolean;
    /**
     * Callback to close content
     */
    onClose: () => void;
    /**
     * Custom className
     */
    className?: string;
}
export interface GlassMenubarItemProps {
    /**
     * Menu item data
     */
    item: MenuItem;
    /**
     * Whether item is hovered
     */
    isHovered?: boolean;
    /**
     * Whether item has submenu open
     */
    hasSubmenuOpen?: boolean;
    /**
     * Callback when item is clicked
     */
    onClick: (item: MenuItem) => void;
    /**
     * Callback to open submenu
     */
    onOpenSubmenu: (item: MenuItem) => void;
    /**
     * Callback to close submenu
     */
    onCloseSubmenu: () => void;
    /**
     * Size variant
     */
    size?: "sm" | "md" | "lg";
    /**
     * Custom className
     */
    className?: string;
    /**
     * ARIA haspopup attribute
     */
    "aria-haspopup"?: "menu" | undefined;
    /**
     * ARIA expanded attribute
     */
    "aria-expanded"?: boolean | undefined;
}
/**
 * GlassMenubar component
 * A glassmorphism menubar with dropdown menus
 */
export declare const GlassMenubar: React.FC<GlassMenubarProps>;
/**
 * GlassMenubarContent component
 * Container for menubar dropdown content
 */
export declare const GlassMenubarContent: React.FC<GlassMenubarContentProps>;
/**
 * GlassMenubarItem component
 * Individual menubar item
 */
export declare const GlassMenubarItem: React.FC<GlassMenubarItemProps>;
/**
 * Hook for creating menubar items
 */
export declare const useMenubar: () => {
    createItem: (id: string, label: string, action?: () => void, options?: Partial<Omit<MenuItem, "id" | "label" | "action">>) => MenuItem;
    createSeparator: () => MenuItem;
    createCheckboxItem: (id: string, label: string, checked: boolean, onChange: (checked: boolean) => void, options?: Partial<Omit<MenuItem, "id" | "label" | "type" | "checked">>) => MenuItem;
    createRadioItem: (id: string, label: string, checked: boolean, onChange: (checked: boolean) => void, options?: Partial<Omit<MenuItem, "id" | "label" | "type" | "checked">>) => MenuItem;
};
/**
 * Preset menubar configurations
 */
export declare const createFileMenu: () => MenuItem[];
export declare const createEditMenu: () => MenuItem[];
//# sourceMappingURL=GlassMenubar.d.ts.map