import { Readable } from 'stream'; export interface ExtractedManifest { id: string; name: string; publisher: string; version: string; dependencies?: { id: string; name: string; publisher: string; version: string; }[]; } /** * Pure Node.js ZIP extractor for AL symbol packages * Uses yauzl library - 10x faster than PowerShell, no temp files needed */ export declare class ZipFallbackExtractor { /** * Extract SymbolReference.json from AL symbol package using yauzl */ extractSymbolReference(symbolPackagePath: string): Promise; /** * Extract manifest information from AL package (.app file) * Parses NavxManifest.xml from the ZIP archive */ extractManifest(alPackagePath: string): Promise; /** * Parse NavxManifest.xml content to extract package info */ private parseNavxManifest; /** * Find ZIP signature in AL package buffer * AL packages have 40-byte NAVX header followed by ZIP data */ private findZipStart; /** * Find the true end of the ZIP data in the buffer. * Signed AL packages have an NXSB trailer (~10KB) after the ZIP data * that causes yauzl to reject the buffer with "Invalid comment length". * This method scans backwards for the EOCD record and calculates the * actual ZIP end position, excluding any trailing signature data. */ private findZipEnd; /** * Check if yauzl is available */ isUnzipAvailable(): Promise; } //# sourceMappingURL=zip-fallback.d.ts.map