import { DescribeOptions, Engine, EngineRunResults, RuleDescription, RunOptions } from "@salesforce/code-analyzer-engine-api";
import { GenerateAstOptions, PmdAstDumpResults } from "./pmd-wrapper";
import { PmdEngineConfig } from "./config";
export declare class PmdEngine extends Engine {
    private readonly pmdWrapperInvoker;
    private readonly config;
    private readonly extensionToLanguageMap;
    private workspaceLiaisonCache;
    private pmdRuleInfoListCache;
    constructor(config: PmdEngineConfig);
    getName(): string;
    getEngineVersion(): Promise<string>;
    describeRules(describeOptions: DescribeOptions): Promise<RuleDescription[]>;
    runRules(ruleNames: string[], runOptions: RunOptions): Promise<EngineRunResults>;
    /**
     * Generates Abstract Syntax Tree (AST) representation for a source file
     * @param language - Language identifier (apex, visualforce, xml, html, javascript)
     * @param file - Absolute path to the file to analyze
     * @param options - Optional configuration (encoding, workingFolder)
     * @returns PmdAstDumpResults containing AST XML or error information
     */
    generateAst(language: string, file: string, options?: GenerateAstOptions): Promise<PmdAstDumpResults>;
    private getPmdRuleInfoList;
    private getWorkspaceLiaison;
    private toViolation;
}
