// 配置向导（部署画像）相关类型，对应后端 MiGu.Server 的
//   GET  /api/wizard/options        → WizardOptions
//   GET  /api/wizard/profile        → DeploymentProfileDto
//   PUT  /api/wizard/profile        → DeploymentProfileDto
//   GET  /api/wizard/effective-pages→ EffectivePagesDto

/** 单个可勾选项（导航方式 / 模块）。 */
export interface WizardOption {
  id: string
  name: string
  group: string
  description: string
}

/** 业务场景模板（后端 ScenarioTemplateConfig.templates 透传项，只取展示所需字段）。 */
export interface ScenarioTemplateLite {
  id: string
  name: string
  category?: string
  version?: string
}

/** 后端 scenario section 透传负载（只声明向导用到的 templates）。 */
export interface ScenarioPayload {
  templates?: ScenarioTemplateLite[]
}

/** 向导可选项目录。 */
export interface WizardOptions {
  navigationKinds: WizardOption[]
  modules: WizardOption[]
  scenarios: ScenarioPayload
}

/** 保存 active-scenes.json 的结果回显。 */
export interface ActiveScenesWriteDto {
  ok: boolean
  path?: string | null
  error?: string | null
}

/** 部署画像（向导结果）。 */
export interface DeploymentProfileDto {
  configured: boolean
  platformType: string
  modules: string[]
  navigationKinds: string[]
  scenarios: string[]
  updatedBy: string
  /** 由导航选型推导的 SimpleLite 激活场景 id（如 scene.magnetic）。 */
  activeSceneIds: string[]
  /** 被部署画像裁剪隐藏的页面 Key。 */
  hiddenPages: string[]
  /** 仅保存接口返回：写 active-scenes.json 的结果。 */
  activeScenesWrite?: ActiveScenesWriteDto | null
}

/** 保存向导请求体。 */
export interface SaveWizardRequest {
  platformType?: string
  modules?: string[]
  navigationKinds?: string[]
  scenarios?: string[]
}

/** 当前部署画像对菜单的裁剪结果。 */
export interface EffectivePagesDto {
  configured: boolean
  tailorablePages: string[]
  enabledPages: string[]
  hiddenPages: string[]
}
