import { Encoding } from "../Encoding";
import { SearchSubject } from "../SearchSubject";
import { ApproachLevel } from "./heuristics/ApproachLevel";
import { BranchDistance } from "./heuristics/BranchDistance";
import { ObjectiveFunction } from "./ObjectiveFunction";
/**
 * Objective function based on control flow graph calculations.
 *
 * @author Dimitri Stallenberg
 */
export declare abstract class ControlFlowBasedObjectiveFunction<T extends Encoding> extends ObjectiveFunction<T> {
    protected approachLevel: ApproachLevel;
    protected branchDistance: BranchDistance;
    constructor(id: string, subject: SearchSubject<T>, approachLevel: ApproachLevel, branchDistance: BranchDistance);
}
//# sourceMappingURL=ControlFlowBasedObjectiveFunction.d.ts.map