import {
  IspNode, RouterNode, FirewallNode, SwitchNode, ServerNode, VmNode, LxcNode,
  NasNode, IotNode, ApNode, CameraNode, PrinterNode, ComputerNode, LaptopNode,
  MobileNode, CplNode, DockerHostNode, DockerContainerNode, GenericNode,
  ZigbeeCoordinatorNode, ZigbeeRouterNode, ZigbeeEndDeviceNode,
  ZwaveCoordinatorNode, ZwaveRouterNode, ZwaveEndDeviceNode,
  GridNode, UpsNode, BatteryNode, GeneratorNode, SolarPanelNode, InverterNode,
  CircuitBreakerNode, ContactorNode, ElectricalSwitchNode, SocketNode,
  LightNode, MeterNode, TransformerNode, LoadNode,
} from './index'
import { ProxmoxGroupNode } from './ProxmoxGroupNode'
import { GroupRectNode } from './GroupRectNode'
import { GroupNode } from './GroupNode'
import { TextNode } from './TextNode'

export const nodeTypes = {
  isp: IspNode,
  router: RouterNode,
  firewall: FirewallNode,
  switch: SwitchNode,
  server: ServerNode,
  proxmox: ProxmoxGroupNode,
  vm: VmNode,
  lxc: LxcNode,
  nas: NasNode,
  iot: IotNode,
  ap: ApNode,
  camera: CameraNode,
  printer: PrinterNode,
  computer: ComputerNode,
  laptop: LaptopNode,
  mobile: MobileNode,
  cpl: CplNode,
  docker_host: DockerHostNode,
  docker_container: DockerContainerNode,
  generic: GenericNode,
  groupRect: GroupRectNode,
  group: GroupNode,
  text: TextNode,
  zigbee_coordinator: ZigbeeCoordinatorNode,
  zigbee_router: ZigbeeRouterNode,
  zigbee_enddevice: ZigbeeEndDeviceNode,
  zwave_coordinator: ZwaveCoordinatorNode,
  zwave_router: ZwaveRouterNode,
  zwave_enddevice: ZwaveEndDeviceNode,
  grid: GridNode,
  ups: UpsNode,
  battery: BatteryNode,
  generator: GeneratorNode,
  solar_panel: SolarPanelNode,
  inverter: InverterNode,
  circuit_breaker: CircuitBreakerNode,
  contactor: ContactorNode,
  electrical_switch: ElectricalSwitchNode,
  socket: SocketNode,
  light: LightNode,
  meter: MeterNode,
  transformer: TransformerNode,
  load: LoadNode,
}
