import { SimpleLocalIntegration } from '../../core/index.js';
import { MqttStatestreamConfigFlow } from './mqtt_statestream.classes.configflow.js';
import { createMqttStatestreamDiscoveryDescriptor } from './mqtt_statestream.discovery.js';
import type { IMqttStatestreamConfig } from './mqtt_statestream.types.js';
import { mqttStatestreamDomain, mqttStatestreamProfile } from './mqtt_statestream.types.js';

export class MqttStatestreamIntegration extends SimpleLocalIntegration<IMqttStatestreamConfig> {
  public readonly domain = mqttStatestreamDomain;
  public readonly discoveryDescriptor = createMqttStatestreamDiscoveryDescriptor();
  public readonly configFlow = new MqttStatestreamConfigFlow();

  constructor() {
    super(mqttStatestreamProfile);
  }
}

export class HomeAssistantMqttStatestreamIntegration extends MqttStatestreamIntegration {}
