import { ALObject } from '../types/al-types'; export interface ParseProgress { phase: string; processed: number; total?: number; currentObject?: string; } export declare class StreamingSymbolParser { private progressCallback?; private fallbackExtractor; constructor(progressCallback?: (progress: ParseProgress) => void); /** * Parse AL symbols from a symbol package (.app file containing SymbolReference.json) */ parseSymbolPackage(symbolPackagePath: string, packageName: string): Promise; /** * Parse SymbolReference.json from a readable stream */ private parseSymbolStream; /** * Process complete SymbolReference JSON recursively */ private processSymbolReference; /** * Process objects at any level (namespace or root level) */ private processObjectsAtLevel; /** * Process namespaces recursively to find all AL objects */ private processNamespaces; /** * Process individual data items from the JSON stream (legacy method, keeping for compatibility) */ private processStreamData; /** * Check if the current key/value pair represents an object array */ private isObjectArray; /** * Extract object type from JSON key */ private getObjectTypeFromKey; /** * Process an array of AL objects */ private processObjectArray; /** * Parse a single AL object from raw JSON data */ private parseALObject; /** * Parse table-specific data */ private parseTable; /** * Parse page-specific data */ private parsePage; /** * Parse codeunit-specific data */ private parseCodeunit; /** * Parse report-specific data */ private parseReport; /** * Parse nested data items recursively */ private parseDataItems; /** * Parse enum-specific data */ private parseEnum; /** * Parse query-specific data */ private parseQuery; /** * Parse XmlPort-specific data */ private parseXmlPort; /** * Parse ControlAddIn-specific data */ private parseControlAddIn; /** * Extract the base object name from a TargetObject string * Format: #appid#ObjectName */ private extractTargetObjectName; /** * Parse table extension-specific data */ private parseTableExtension; /** * Parse page extension-specific data */ private parsePageExtension; /** * Parse enum extension-specific data */ private parseEnumExtension; /** * Parse report extension-specific data */ private parseReportExtension; /** * Parse permission set extension-specific data */ private parsePermissionSetExtension; /** * Parse field definition */ private parseField; /** * Parse procedure definition */ private parseProcedure; /** * Parse control definition (basic implementation) */ private parseControl; /** * Parse properties array */ private parseProperties; /** * Find a specific property by name */ private findProperty; /** * Report parsing progress */ private reportProgress; } //# sourceMappingURL=streaming-parser.d.ts.map