/**
 * Menu Types
 *
 * Types for navigation menu items.
 */

import type { ColorButtonKey } from './ui';

/**
 * Aside menu item type
 */
export interface MenuAsideItem {
  label: string;
  icon?: string;
  href?: string;
  target?: string;
  color?: ColorButtonKey;
  isLogout?: boolean;
  withDevider?: boolean;
  menu?: MenuAsideItem[];
  permissions?: string | string[];
}

/**
 * Navigation bar menu item type
 */
export interface MenuNavBarItem {
  label?: string;
  icon?: string;
  href?: string;
  target?: string;
  isDivider?: boolean;
  isLogout?: boolean;
  isDesktopNoLabel?: boolean;
  isToggleLightDark?: boolean;
  isCurrentUser?: boolean;
  menu?: MenuNavBarItem[];
}
