import { SimpleLocalIntegration } from '../../core/index.js';
import { FritzboxConfigFlow } from './fritzbox.classes.configflow.js';
import { createFritzboxDiscoveryDescriptor } from './fritzbox.discovery.js';
import type { IFritzboxConfig } from './fritzbox.types.js';
import { fritzboxDomain, fritzboxProfile } from './fritzbox.types.js';

export class FritzboxIntegration extends SimpleLocalIntegration<IFritzboxConfig> {
  public readonly domain = fritzboxDomain;
  public readonly discoveryDescriptor = createFritzboxDiscoveryDescriptor();
  public readonly configFlow = new FritzboxConfigFlow();

  constructor() {
    super(fritzboxProfile);
  }
}

export class HomeAssistantFritzboxIntegration extends FritzboxIntegration {}
