import TimerBase from "@specs-feup/lara/api/lara/code/TimerBase.js";
import { Joinpoint } from "../../Joinpoints.js";
export default class Timer extends TimerBase<Joinpoint> {
    addedDefines: Set<string>;
    /**
     * Times the code of a given section.
     *
     * @param $start - Starting point of the time measure
     * @param prefix - Message that will appear before the time measure. If undefined, empty string will be used.
     * @param $end - Ending point of the time measure. If undefined, measure is done around starting point.
     */
    time($start: Joinpoint, prefix?: string, $end?: Joinpoint): string | undefined;
    _time_cpp($start: Joinpoint, prefix?: string, $end?: Joinpoint): string;
    _time_c($start: Joinpoint, prefix?: string, $end?: Joinpoint): string;
    private _timer_c_windows_declare_vars;
    private _timer_c_windows_get_time;
    private _timer_c_windows_calc_interval;
    private _timer_c_linux_declare_vars;
    private _timer_c_linux_get_time;
    private _timer_c_linux_calc_interval;
    private _timer_cpp_define_time_var;
    private _timer_cpp_now;
    private _timer_cpp_calc_interval;
}
//# sourceMappingURL=Timer.d.ts.map