import { BCApp } from '../types/bc-types.js';
import { LazyMemoryCache } from '../cache/lazy-cache.js';
export declare class OptimizedAppExtractor {
    private lazyCache;
    constructor(cache?: LazyMemoryCache);
    /**
     * Extract and process a Business Central .app file with lazy loading
     * @param filePath Path to the .app file
     * @returns Promise<BCApp> Processed app data with lazy-loaded symbols
     */
    extractAppLazy(filePath: string): Promise<BCApp>;
    /**
     * Load objects of specific type for an app
     */
    loadObjectsByType(filePath: string, objectType: string): Promise<any[]>;
    /**
     * Load specific object for an app
     */
    loadObject(filePath: string, objectType: string, objectId: number, objectName: string): Promise<any | null>;
    /**
     * Get object metadata without loading full objects
     */
    getObjectMetadata(filePath: string, objectType: string, objectId?: number, objectName?: string): any[];
    /**
     * Get loading statistics for an app
     */
    getLoadingStats(filePath: string): any;
    /**
     * Pre-load commonly used object types for better performance
     */
    preloadCommonObjects(filePath: string): Promise<void>;
    /**
     * Get cache statistics
     */
    getCacheStats(): any;
    /**
     * Calculate SHA-256 hash of file buffer
     */
    private calculateFileHash;
    /**
     * Extract a specific file from the ZIP archive
     */
    private extractFileFromZip;
    /**
     * Parse NavxManifest.xml content
     */
    private parseManifest;
    /**
     * Transform parsed XML manifest to our BCManifest format
     */
    private transformManifest;
    private transformIdRanges;
    private transformDependencies;
    private transformFeatures;
    private transformSuppressWarnings;
    private transformResourceExposurePolicy;
    private transformBuildInfo;
}
//# sourceMappingURL=app-extractor-optimized.d.ts.map