/** * @push.rocks/devicemanager * A comprehensive device manager for discovering and communicating with network devices * Supports: Scanners, Printers, SNMP devices, UPS, DLNA, Sonos, AirPlay, Chromecast */ // ============================================================================ // Core Device Manager // ============================================================================ export { DeviceManager, MdnsDiscovery, NetworkScanner, SsdpDiscovery, SERVICE_TYPES, SSDP_SERVICE_TYPES, } from './devicemanager.classes.devicemanager.js'; // ============================================================================ // Universal Device & Features // ============================================================================ export { UniversalDevice, type IUniversalDeviceInfo, type IDeviceCreateOptions } from './device/device.classes.device.js'; export { Feature, ScanFeature, PrintFeature, PlaybackFeature, VolumeFeature, PowerFeature, SnmpFeature, type TDeviceReference, type IScanFeatureOptions, type IPrintFeatureOptions, type IPlaybackFeatureOptions, type IVolumeFeatureOptions, type IVolumeController, type IPowerFeatureOptions, type ISnmpFeatureOptions, } from './features/index.js'; // ============================================================================ // Device Factories // ============================================================================ export { createScanner, createPrinter, createSnmpDevice, createUpsDevice, createSpeaker, createDlnaRenderer, type IScannerDiscoveryInfo, type IPrinterDiscoveryInfo, type ISnmpDiscoveryInfo, type IUpsDiscoveryInfo, type ISpeakerDiscoveryInfo, type IDlnaRendererDiscoveryInfo, } from './factories/index.js'; // ============================================================================ // Protocol Implementations // ============================================================================ export { EsclProtocol, SaneProtocol, IppProtocol, SnmpProtocol, SNMP_OIDS, NutProtocol, NUT_COMMANDS, NUT_VARIABLES, UpnpSoapClient, UPNP_SERVICE_TYPES, UPNP_DEVICE_TYPES, UpsSnmpHandler, UPS_SNMP_OIDS, type ISnmpOptions, type ISnmpVarbind, type TSnmpValueType, type TNutStatusFlag, type INutUpsInfo, type INutVariable, type TDlnaTransportState, type TDlnaTransportStatus, type IDlnaPositionInfo, type IDlnaTransportInfo, type IDlnaMediaInfo, type IDlnaContentItem, type IDlnaBrowseResult, type TUpsBatteryStatus, type TUpsOutputSource, type TUpsTestResult, type IUpsSnmpStatus, } from './protocols/index.js'; // ============================================================================ // Helpers // ============================================================================ export { withRetry, createRetryable, defaultRetryOptions } from './helpers/helpers.retry.js'; export { isValidIp, ipToNumber, numberToIp, ipRangeToIps, cidrToIps, getLocalSubnet, countIpsInCidr, } from './helpers/helpers.iprange.js'; // ============================================================================ // All Interfaces and Types // ============================================================================ export * from './interfaces/index.js'; // SSDP types export type { ISsdpDevice, ISsdpDeviceDescription, ISsdpService, ISsdpIcon, } from './discovery/discovery.classes.ssdp.js';