/** * The name of the ESI (EtherCAT Slave Information) file. */ export declare const esiFilename = "SOMANET_CiA_402.xml"; /** * The name of the zipped ESI file as it is stored inside a firmware package and on the device flash memory. */ export declare const esiZipFilename = "SOMANET_CiA_402.xml.zip"; /** * Extracts the unzipped ESI file ({@link esiFilename}) content from a firmware package. * * A firmware package is a ZIP archive that typically contains {@link esiZipFilename} * (a ZIP wrapping {@link esiFilename}), the firmware binaries, the SII file, and other assets such as * `stack_image.svg.zip`. This function unzips the package, then unzips the nested {@link esiZipFilename}, * and returns the raw XML bytes. Only the ESI entries are decompressed; the firmware binaries are skipped. * * The returned content matches what Motion Master returns when reading the file from a device, where the * zipped file is automatically unzipped. This means it can be stored in IndexedDB just like the read-time * caching in `getDeviceFile` does, allowing the ESI to be resolved locally without writing it to the drive. * * @param firmwarePackageContent - The firmware package ZIP archive content. * @returns The unzipped ESI XML bytes, or `null` if the package does not contain an ESI file * (for example, an empty firmware package). */ export declare function extractEsiFromFirmwarePackage(firmwarePackageContent: Uint8Array): Uint8Array | null;