import { Token, Position, AuraJSFile } from "@aurahelper/core";
/**
 * Class to Parse Aura Javascript files to extract data from files
 */
export declare class JSParser {
    fileName?: string;
    tokens: Token[];
    tokensLength: number;
    filePath?: string;
    content?: string;
    cursorPosition?: Position;
    node?: AuraJSFile;
    tabSize: number;
    /**
     * Create new JSParser instance to analize Aura Javscript file
     * @param {string | Token[]} [filePathOrTokens] File path or Tokens (tokens from JSTokenizer class)
     * @param {string} [fileName] File name
     */
    constructor(filePathOrTokens?: string | Token[], fileName?: string);
    /**
     * Method to set the tab size
     * @param {number} tabSize Tab size value
     * @returns {JSParser} Return the JSParser instance
     */
    setTabSize(tabSize: number): JSParser;
    /**
     * Method to set the file tokens
     * @param {Token[]} tokens File tokens
     * @returns {JSParser} Return the JSParser instance
     */
    setTokens(tokens: Token[]): JSParser;
    /**
     * Method to set the file path
     * @param {string} filePath File path value
     * @returns {JSParser} Return the JSParser instance
     */
    setFilePath(filePath: string): JSParser;
    /**
     * Method to set the file name
     * @param {string} fileName File name value
     * @returns {JSParser} Return the JSParser instance
     */
    setFileName(fileName: string): JSParser;
    /**
     * Method to set the file content
     * @param {string} content File content value
     * @returns {JSParser} Return the JSParser instance
     */
    setContent(content: string): JSParser;
    /**
     * Method to set the cusor Position on file
     * @param {Position} position Cursor Position object
     * @returns {JSParser} Return the JSParser instance
     */
    setCursorPosition(position?: Position): JSParser;
    /**
     * Method to parse Aura Javascript file and get file information
     * @returns Return the AuraJSFile node with file data
     */
    parse(): AuraJSFile | undefined;
}
