import { SimpleLocalIntegration } from '../../core/index.js';
import { HusqvarnaAutomowerBleConfigFlow } from './husqvarna_automower_ble.classes.configflow.js';
import { createHusqvarnaAutomowerBleDiscoveryDescriptor } from './husqvarna_automower_ble.discovery.js';
import type { IHusqvarnaAutomowerBleConfig } from './husqvarna_automower_ble.types.js';
import { husqvarnaAutomowerBleDomain, husqvarnaAutomowerBleProfile } from './husqvarna_automower_ble.types.js';

export class HusqvarnaAutomowerBleIntegration extends SimpleLocalIntegration<IHusqvarnaAutomowerBleConfig> {
  public readonly domain = husqvarnaAutomowerBleDomain;
  public readonly discoveryDescriptor = createHusqvarnaAutomowerBleDiscoveryDescriptor();
  public readonly configFlow = new HusqvarnaAutomowerBleConfigFlow();

  constructor() {
    super(husqvarnaAutomowerBleProfile);
  }
}

export class HomeAssistantHusqvarnaAutomowerBleIntegration extends HusqvarnaAutomowerBleIntegration {}
