import { SimpleLocalIntegration } from '../../core/index.js';
import { EnvisalinkConfigFlow } from './envisalink.classes.configflow.js';
import { createEnvisalinkDiscoveryDescriptor } from './envisalink.discovery.js';
import type { IEnvisalinkConfig } from './envisalink.types.js';
import { envisalinkDomain, envisalinkProfile } from './envisalink.types.js';

export class EnvisalinkIntegration extends SimpleLocalIntegration<IEnvisalinkConfig> {
  public readonly domain = envisalinkDomain;
  public readonly discoveryDescriptor = createEnvisalinkDiscoveryDescriptor();
  public readonly configFlow = new EnvisalinkConfigFlow();

  constructor() {
    super(envisalinkProfile);
  }
}

export class HomeAssistantEnvisalinkIntegration extends EnvisalinkIntegration {}
