import { BCSymbolReference } from '../types/bc-types.js';
export declare class SymbolParser {
    private streamingParser;
    constructor();
    /**
     * Parse symbols using streaming approach for large files
     */
    parseSymbolReferenceStreaming(symbolsBuffer: Buffer): Promise<BCSymbolReference>;
    /**
     * Parse the complete symbol reference JSON (legacy method)
     */
    parseSymbolReference(symbolsData: any): BCSymbolReference;
    /**
     * Parse namespaces recursively
     */
    private parseNamespaces;
    /**
     * Parse tables
     */
    private parseTables;
    /**
     * Parse codeunits
     */
    private parseCodeunits;
    /**
     * Parse pages
     */
    private parsePages;
    /**
     * Parse page extensions
     */
    private parsePageExtensions;
    /**
     * Parse enum types
     */
    private parseEnumTypes;
    /**
     * Parse enum values
     */
    private parseEnumValues;
    /**
     * Parse fields
     */
    private parseFields;
    /**
     * Parse keys
     */
    private parseKeys;
    /**
     * Parse methods
     */
    private parseMethods;
    /**
     * Parse parameters
     */
    private parseParameters;
    /**
     * Parse variables
     */
    private parseVariables;
    /**
     * Parse type definition
     */
    private parseTypeDefinition;
    /**
     * Parse properties
     */
    private parseProperties;
    /**
     * Parse controls
     */
    private parseControls;
    /**
     * Parse actions
     */
    private parseActions;
    /**
     * Parse action changes
     */
    private parseActionChanges;
    /**
     * Parse table extensions
     */
    private parseTableExtensions;
    /**
     * Parse reports (placeholder implementation)
     */
    private parseReports;
    /**
     * Parse XML ports (placeholder implementation)
     */
    private parseXmlPorts;
    /**
     * Parse queries (placeholder implementation)
     */
    private parseQueries;
    /**
     * Parse control add-ins (placeholder implementation)
     */
    private parseControlAddIns;
    /**
     * Parse .NET packages (placeholder implementation)
     */
    private parseDotNetPackages;
    /**
     * Parse interfaces (placeholder implementation)
     */
    private parseInterfaces;
    /**
     * Parse permission sets (placeholder implementation)
     */
    private parsePermissionSets;
    /**
     * Parse permission set extensions (placeholder implementation)
     */
    private parsePermissionSetExtensions;
    /**
     * Parse report extensions (placeholder implementation)
     */
    private parseReportExtensions;
    /**
     * Generic parser for basic objects
     */
    private parseBasicObjects;
    /**
     * Find all objects of a specific type across all namespaces
     */
    findObjectsByType(symbols: BCSymbolReference, objectType: string): any[];
    /**
     * Find an object by name and type
     */
    findObjectByName(symbols: BCSymbolReference, objectType: string, objectName: string): any | null;
    /**
     * Find an object by ID and type
     */
    findObjectById(symbols: BCSymbolReference, objectType: string, objectId: number): any | null;
    /**
     * Get all object types available in the symbols
     */
    getAvailableObjectTypes(symbols: BCSymbolReference): string[];
}
//# sourceMappingURL=symbol-parser.d.ts.map