import { SimpleLocalIntegration } from '../../core/index.js';
import { LutronCasetaConfigFlow } from './lutron_caseta.classes.configflow.js';
import { createLutronCasetaDiscoveryDescriptor } from './lutron_caseta.discovery.js';
import type { ILutronCasetaConfig } from './lutron_caseta.types.js';
import { lutronCasetaDomain, lutronCasetaProfile } from './lutron_caseta.types.js';

export class LutronCasetaIntegration extends SimpleLocalIntegration<ILutronCasetaConfig> {
  public readonly domain = lutronCasetaDomain;
  public readonly discoveryDescriptor = createLutronCasetaDiscoveryDescriptor();
  public readonly configFlow = new LutronCasetaConfigFlow();

  constructor() {
    super(lutronCasetaProfile);
  }
}

export class HomeAssistantLutronCasetaIntegration extends LutronCasetaIntegration {}
