import { AuraApplication, AuraComponent, AuraEvent, ParserData, Position } from "@aurahelper/core";
/**
 * Class to analize an entire Aura Bundle (including Apex Controllers)
 */
export declare class BundleAnalyzer {
    _file?: string;
    _systemData?: ParserData;
    _fileName?: string;
    _activeFile: string;
    _content?: string;
    _component?: AuraComponent | AuraApplication | AuraEvent;
    _tabSize: number;
    /**
     * Create new BundleAnalyzer instance to analize Aura Bundles
     * @param {string} file File path to analyze
     * @param {ParserData} [systemData] Parser Data object with data from Project and Salesforce to identify tokens with more precission
     */
    constructor(file: string, systemData?: ParserData);
    /**
     * Method to set file path
     * @param {string} file File path value
     * @returns {BundleAnalyzer} Return the BundleAnalyzer instance
     */
    setFile(file: string): BundleAnalyzer;
    /**
     * Method to set file content
     * @param {string} content File content value
     * @returns {BundleAnalyzer} Return the BundleAnalyzer instance
     */
    setContent(content: string): BundleAnalyzer;
    /**
     * Method to set Parser Data
     * @param {ParserData} systemData Parser Data object
     * @returns {BundleAnalyzer} Return the BundleAnalyzer instance
     */
    setSystemData(systemData: ParserData): BundleAnalyzer;
    /**
     * Method to set active file path
     * @param {string} activeFile active file path value
     * @returns {BundleAnalyzer} Return the BundleAnalyzer instance
     */
    setActiveFile(activeFile: string): BundleAnalyzer;
    /**
     * Method to set file name
     * @param {string} fileName File name value
     * @returns {BundleAnalyzer} Return the BundleAnalyzer instance
     */
    setFileName(fileName: string): BundleAnalyzer;
    /**
     * Method to set file tab size
     * @param {number} tabSize File tab size value
     * @returns {BundleAnalyzer} Return the BundleAnalyzer instance
     */
    setTabSize(tabSize: number): BundleAnalyzer;
    /**
     * Method to analize bundle and get all Aura component info
     * @param {Position} [position] Position to get data about cursor position on file
     * @returns {AuraComponent | AuraApplication | AuraEvent | undefined} Return the analized Component or undefined if not exists
     */
    analize(position?: Position): AuraComponent | AuraApplication | AuraEvent | undefined;
}
