import { SimpleLocalIntegration } from '../../core/index.js';
import { EvilGeniusLabsConfigFlow } from './evil_genius_labs.classes.configflow.js';
import { createEvilGeniusLabsDiscoveryDescriptor } from './evil_genius_labs.discovery.js';
import type { IEvilGeniusLabsConfig } from './evil_genius_labs.types.js';
import { evilGeniusLabsDomain, evilGeniusLabsProfile } from './evil_genius_labs.types.js';

export class EvilGeniusLabsIntegration extends SimpleLocalIntegration<IEvilGeniusLabsConfig> {
  public readonly domain = evilGeniusLabsDomain;
  public readonly discoveryDescriptor = createEvilGeniusLabsDiscoveryDescriptor();
  public readonly configFlow = new EvilGeniusLabsConfigFlow();

  constructor() {
    super(evilGeniusLabsProfile);
  }
}

export class HomeAssistantEvilGeniusLabsIntegration extends EvilGeniusLabsIntegration {}
