import { SimpleLocalIntegration } from '../../core/index.js';
import { YamahaConfigFlow } from './yamaha.classes.configflow.js';
import { createYamahaDiscoveryDescriptor } from './yamaha.discovery.js';
import type { IYamahaConfig } from './yamaha.types.js';
import { yamahaDomain, yamahaProfile } from './yamaha.types.js';

export class YamahaIntegration extends SimpleLocalIntegration<IYamahaConfig> {
  public readonly domain = yamahaDomain;
  public readonly discoveryDescriptor = createYamahaDiscoveryDescriptor();
  public readonly configFlow = new YamahaConfigFlow();

  constructor() {
    super(yamahaProfile);
  }
}

export class HomeAssistantYamahaIntegration extends YamahaIntegration {}
