import VitisHlsReportParser from "./VitisHlsReportParser.js";
import Tool from "@specs-feup/lara/api/lara/tool/Tool.js";
export default class VitisHls extends Tool {
    topFunction: string;
    platform: string;
    clock: number;
    vitisDir: string;
    vitisProjName: string;
    sourceFiles: string[];
    flowTarget: "vitis" | "vivado";
    constructor(topFunction: string, clock?: number, platform?: string, disableWeaving?: boolean);
    setTopFunction(topFunction: string): this;
    setPlatform(platform: string): this;
    setClock(clock: number): this;
    setFlowTarget(target: "vitis" | "vivado"): this;
    addSource(file: string): this;
    private getTimestamp;
    synthesize(verbose?: boolean): boolean;
    clean(): void;
    private getSynthesisReportPath;
    private executeVitis;
    private getTclInputFiles;
    private generateTclFile;
    getSynthesisReport(): {
        platform: string;
        topFun: string;
        clockTarget: number;
        clockEstim: number;
        fmax: number;
        latencyWorst: number;
        latencyAvg: number;
        latencyBest: number;
        hasFixedLatency: boolean;
        execTimeWorst: number;
        execTimeAvg: number;
        execTimeBest: number;
        FF: number;
        LUT: number;
        BRAM: number;
        DSP: number;
        availFF: number;
        availLUT: number;
        availBRAM: number;
        availDSP: number;
        perFF: number;
        perLUT: number;
        perBRAM: number;
        perDSP: number;
    };
    preciseStr(n: number, decimalPlaces?: number): string;
    prettyPrintReport(report: ReturnType<VitisHlsReportParser["getSanitizedJSON"]>): void;
}
//# sourceMappingURL=VitisHls.d.ts.map