import { Loop } from "@specs-feup/clava/api/Joinpoints.js"; import { AdvancedTransform } from "../AdvancedTransform.js"; export declare enum LoopAnnotationIdiom { CLAVA = "clava", VITIS = "HLS" } export declare class LoopCharacterizer extends AdvancedTransform { constructor(silent?: boolean); characterize(loop: Loop): LoopCharacterization; annotate(loop: Loop, ch: LoopCharacterization, idiom?: LoopAnnotationIdiom): void; private handleForLoop; private calculateTripCount; private logBase; private getInitializationData; private getConditionData; private getIncrementData; private handleUnaryIncrement; private handleBinaryIncrement; private handleWhileLoop; private getDefaultCharacterization; } export type LoopCharacterization = { isValid: boolean; inductionVar: string; boundVar: string; incrementVar: string; initialVal: number; bound: number; increment: number; op: string; tripCount: number; }; //# sourceMappingURL=LoopCharacterizer.d.ts.map