import { SimpleLocalIntegration } from '../../core/index.js';
import { FirmataConfigFlow } from './firmata.classes.configflow.js';
import { createFirmataDiscoveryDescriptor } from './firmata.discovery.js';
import type { IFirmataConfig } from './firmata.types.js';
import { firmataDomain, firmataProfile } from './firmata.types.js';

export class FirmataIntegration extends SimpleLocalIntegration<IFirmataConfig> {
  public readonly domain = firmataDomain;
  public readonly discoveryDescriptor = createFirmataDiscoveryDescriptor();
  public readonly configFlow = new FirmataConfigFlow();

  constructor() {
    super(firmataProfile);
  }
}

export class HomeAssistantFirmataIntegration extends FirmataIntegration {}
