import * as multicastDns from 'multicast-dns'; import { MdnsTxtRecord } from './types'; import { LoggerOptions } from './base-api'; export interface DiscoveryResponse { ip: string; hostname: string; fqdn: string; txt: MdnsTxtRecord; } export interface HomeWizardEnergyDiscoveryOptions { logger?: LoggerOptions; } /** * HomeWizard Energy Discovery * * @link: https://homewizard-energy-api.readthedocs.io/discovery.html */ export declare class HomeWizardEnergyDiscovery { private mdns; private loggerOptions; private cachedDiscoveryResponses; constructor(options?: HomeWizardEnergyDiscoveryOptions); protected log(...args: unknown[]): void; start(): void; stop(): void; on(event: 'response', callback: (discoveryResponse: DiscoveryResponse) => void): void; on(event: 'error', callback: (error: Error) => void): void; on(event: 'warning', callback: (error: Error) => void): void; protected isGoodbyeResponse(response: multicastDns.ResponsePacket): boolean; /** * Find out if the response is a HomeWizard Energy response. */ protected isHomeWizardEnergyResponse(response: multicastDns.ResponsePacket): boolean; protected getTxtRecordFromResponse(response: multicastDns.ResponsePacket): MdnsTxtRecord | null; protected getHostDetailsFromAnswer(answer: multicastDns.ResponsePacket['answers'][number]): { ip: string; hostname: string; } | null; protected getHostDetailsFromResponse(response: multicastDns.ResponsePacket): { ip: string; hostname: string; } | null; protected getFqdnFromResponse(response: multicastDns.ResponsePacket): string | null; protected getCachedResponseByFqdn(fqdn: string): DiscoveryResponse | undefined; protected removeCachedResponseByFqdn(fqdn: string): void; protected isDiscoveryResponseInCache(discoveryResponse: DiscoveryResponse): boolean; protected handleMdnsResponse(callback: (discoveryResponse: DiscoveryResponse) => void): (response: multicastDns.ResponsePacket) => void; protected handleMdnsError(callback: (error: Error) => void): (error: Error) => void; protected handleMdnsWarning(callback: (error: Error) => void): (error: Error) => void; } //# sourceMappingURL=homewizard-energy-discovery.d.ts.map