export type WorkbenchNav = 'map' | 'process' | 'vehicle' | 'script' | 'scene'

export type DetailTab = 'properties' | 'status' | 'action'

export interface WorkbenchListRow {
  id: string
  name: string
  type: string
  status: string
  overview?: string
  cells?: Record<string, string>
}

export interface WorkbenchList {
  nav: WorkbenchNav
  columns: string[]
  rows: WorkbenchListRow[]
}

export interface DetailField {
  key: string
  value: string
  locked?: boolean
}

export interface DetailAction {
  id: string
  label: string
}

export interface SelectionDetail {
  objectKind: string
  objectId: string
  name: string
  typeName: string
  layer?: string
  tab: DetailTab
  summary: DetailField[]
  memberFields: DetailField[]
  customFields: DetailField[]
  statusLines: DetailField[]
  actions: DetailAction[]
}

export interface SelectedObjectRef {
  kind: string
  id: string
  name?: string
}
