import type { ApiResponse } from '../index';

/** 菜单基础参数类型（新增/编辑通用） */
export interface MenuFormParams {
  name: string;         // 菜单名称
  path: string;         // 前端路由
  api: string;          // 后端接口路由
  icon: string;         // 菜单图标
  parent_id?: string | null;    // 上级菜单ID（number类型）
  sort: number | null;         // 排序（number类型）
  type: number | null;         // 类型：1菜单2按钮（number类型）
  status?: number | null;      // 状态：1启用2禁用（可选，编辑时用）
  id?: number | null;       // 菜单ID（仅编辑/删除时传）
}

/** 删除菜单参数类型 */
export interface DeleteMenuParams {
  id: string;
}

/** 菜单列表响应类型（单条菜单数据） */
export interface MenuItem {
  name: string;         // 菜单名称
  path: string;         // 前端路由
  api: string;          // 后端接口路由
  icon: string;         // 菜单图标
  parent_id: string;    // 上级菜单ID（string类型，匹配后端）
  sort: string;         // 排序（string类型）
  type: string;         // 类型：1菜单2按钮（string类型）
  status?: string | null;      // 状态：1启用2禁用（可选，编辑时用）
  id?: string;          // 菜单ID（仅编辑/删除时传）
}

/** 菜单列表响应类型（泛型约束） */
export type MenuListResponse = MenuItem[]
