import type { Component } from 'vue';

export interface ContextMenuItem {
  key: string;
  label?: string;
  type?: 'item' | 'divider';
  icon?: Component;
  iconName?: string;
  disabled?: boolean;
  handler?: (payload?: any) => void;
  children?: ContextMenuItem[];
}

export interface ContextMenuState {
  visible: boolean;
  x: number;
  y: number;
  items: ContextMenuItem[];
  payload: any;
}
