import { SimpleLocalIntegration } from '../../core/index.js';
import { GreenwaveConfigFlow } from './greenwave.classes.configflow.js';
import { createGreenwaveDiscoveryDescriptor } from './greenwave.discovery.js';
import type { IGreenwaveConfig } from './greenwave.types.js';
import { greenwaveDomain, greenwaveProfile } from './greenwave.types.js';

export class GreenwaveIntegration extends SimpleLocalIntegration<IGreenwaveConfig> {
  public readonly domain = greenwaveDomain;
  public readonly discoveryDescriptor = createGreenwaveDiscoveryDescriptor();
  public readonly configFlow = new GreenwaveConfigFlow();

  constructor() {
    super(greenwaveProfile);
  }
}

export class HomeAssistantGreenwaveIntegration extends GreenwaveIntegration {}
