export class JSDocParser {
    /**
     * @type {import('@typescript/vfs').VirtualTypeScriptEnvironment}
     * @private
     */
    private _env;
    /**
     * An internal array of program errors
     * @private
     */
    private _errors;
    /**
     * Initializes the JSDocParser with the standard library files
     *
     * @param {string} libPath - A path to a directory of library types, or a path to the '.d.ts' file itself
     * @returns {Promise<JSDocParser>} - The initialized JSDocParser
     */
    init(libPath: string): Promise<JSDocParser>;
    /**
     * Creates program from fileName and scriptsContents
     *
     * @param {[string, string][]} newFiles - An array of {[path]: [content]} which represent the files in the program
     * @param {string[]} removedFiles - An array of file paths that should be removed from the program
     * @returns {{ parser: ScriptParser, program: ts.Program,
     * errors: import('./parsers/script-parser.js').ValidationError[]}} - The extracted attributes
     */
    updateProgram(newFiles?: [string, string][], removedFiles?: string[]): {
        parser: ScriptParser;
        program: ts.Program;
        errors: import("./parsers/script-parser.js").ValidationError[];
    };
    parser: ScriptParser;
    program: ts.Program;
    /**
     * Returns all the valid ESM Scripts within a file
     * @param {string} fileName - The file name in the program to check
     * @returns {Map<string, import('typescript').Node>} - A map of valid ESM Script <names, nodes> within the file
     */
    getAllEsmScripts(fileName: string): Map<string, import("typescript").Node>;
    /**
     * Analyzes the specified TypeScript file and extracts metadata from JSDoc comments.
     *
     * @param {string} fileName - The name of the file in the program to run
     * @returns {[results: object, errors: import('./parsers/script-parser.js').ValidationError[]]} - The extracted attributes
     */
    parseAttributes(fileName: string): [results: object, errors: import("./parsers/script-parser.js").ValidationError[]];
    /**
     * Analyzes the specified TypeScript file and extracts metadata from JSDoc comments.
     * @param {string} fileName - The name of the file to run
     * @returns {[results: object, errors: import('./parsers/script-parser.js').ValidationError[]]} - The extracted attributes
     */
    getAttributes(fileName: string): [results: object, errors: import("./parsers/script-parser.js").ValidationError[]];
}
import { ScriptParser } from './parsers/script-parser.js';
import * as ts from 'typescript';
