import Pass from "@specs-feup/lara/api/lara/pass/Pass.js";
import PassResult from "@specs-feup/lara/api/lara/pass/results/PassResult.js";
import { Joinpoint, Loop } from "../../Joinpoints.js";
import StatementDecomposer from "../code/StatementDecomposer.js";
export default class SimplifyLoops extends Pass {
    protected _name: string;
    private statementDecomposer;
    private options;
    private label_suffix;
    /**
     *
     * @param statementDecomposer -
     * @param options - Object with options. Supported options: 'forToWhile' (default: true), transforms for loops into while loops
     */
    constructor(statementDecomposer: StatementDecomposer, options?: {
        forToWhile: boolean;
    });
    protected _apply_impl($jp: Joinpoint): PassResult;
    protected _findLoops($jp: Joinpoint): Generator<Loop>;
    private makeWhileLoop;
    private transform;
}
//# sourceMappingURL=SimplifyLoops.d.ts.map