import { t as PaperProps } from "./Paper.types-2WLE27Qd.js";
import { n as PopoverProps } from "./Popover.types-DZLXG31g.js";
import { a as Orientations } from "./Menu.constants-BnwzoYfm.js";
import { AllHTMLAttributes, CSSProperties, ReactNode } from "react";

//#region src/components/Menu/Menu.types.d.ts
type CombinedRefs = {
  container: HTMLDivElement | null;
  menu: HTMLDivElement | null;
};
type SubMenuCombinedRefs = {
  content: HTMLDivElement | null;
  trigger: HTMLDivElement | null;
};
interface MenuProps extends AllHTMLAttributes<HTMLDivElement> {
  children: ReactNode;
  condensed?: boolean;
  disabled?: boolean;
  elevation?: PaperProps['elevation'];
  embedded?: boolean;
  fullWidth?: boolean;
  menu?: {
    className?: string;
    style?: CSSProperties;
  };
  orientation?: `${Orientations}`;
  rainbow?: boolean;
}
interface MenuItemProps extends Omit<AllHTMLAttributes<HTMLDivElement>, 'label'> {
  active?: boolean;
  children?: ReactNode;
  condensed?: boolean;
  disabled?: boolean;
  href?: string;
  icon?: ReactNode;
  label?: ReactNode;
  rainbow?: boolean;
  target?: HTMLAnchorElement['target'];
  onActivate?: () => void;
}
interface MenuItemGroupProps extends Omit<AllHTMLAttributes<HTMLDivElement>, 'label'> {
  children: ReactNode;
  label: ReactNode;
  condensed?: boolean;
  disabled?: boolean;
  labelElement?: keyof HTMLElementTagNameMap;
  rainbow?: boolean;
}
type MenuItemSeparatorProps = AllHTMLAttributes<HTMLDivElement>;
interface SubMenuProps extends Omit<AllHTMLAttributes<HTMLDivElement>, 'content' | 'label' | 'popover'> {
  children: ReactNode;
  active?: boolean;
  align?: PopoverProps['align'];
  condensed?: boolean;
  condensedItems?: boolean;
  defaultOpen?: boolean;
  disabled?: boolean;
  elevation?: PaperProps['elevation'];
  icon?: ReactNode;
  label?: ReactNode;
  labelElement?: keyof HTMLElementTagNameMap;
  open?: boolean;
  popover?: boolean;
  popup?: {
    className?: string;
    content?: {
      className?: string;
      positionner?: {
        className?: string;
        style?: CSSProperties;
      };
      style?: CSSProperties;
      wrapper?: {
        className?: string;
        style?: CSSProperties;
      };
    };
    style?: CSSProperties;
    trigger?: {
      className?: string;
      style?: CSSProperties;
      wrapper?: {
        className?: string;
        style?: CSSProperties;
      };
    };
  };
  rainbow?: boolean;
  side?: PopoverProps['side'];
  triggerOnHover?: boolean;
  withIndicator?: boolean;
  withScroll?: boolean;
  onClose?: () => void;
  onInteractOutside?: PopoverProps['onInteractOutside'];
  onOpen?: () => void;
  onSubMenuOpenChange?: PopoverProps['onOpenChange'];
}
//#endregion
export { MenuProps as a, MenuItemSeparatorProps as i, MenuItemGroupProps as n, SubMenuCombinedRefs as o, MenuItemProps as r, SubMenuProps as s, CombinedRefs as t };
//# sourceMappingURL=Menu.types-SG6Ad_hy.d.ts.map