export interface DuplicationGroup {
    id: string;
    files: string[];
    lines: number[];
    code: string;
    similarity: number;
    variations: string[];
}
export declare class DuplicationDetector {
    private minLines;
    private similarityThreshold;
    constructor(minLines?: number, similarityThreshold?: number);
    detectClones(files: Record<string, string>): DuplicationGroup[];
    groupVariations(groups: DuplicationGroup[]): Map<string, DuplicationGroup[]>;
    generateUnifiedHelper(group: DuplicationGroup): string;
    getExtractHelperAction(group: DuplicationGroup): string;
    getShowAllLocationsAction(group: DuplicationGroup): string;
    getStats(groups: DuplicationGroup[]): {
        totalGroups: number;
        totalFiles: number;
        avgSimilarity: number;
    };
    private findClonesBetween;
    private computeSimilarity;
    private getSignature;
    private extractVariations;
    private extractVariableName;
}
//# sourceMappingURL=duplication-detector.d.ts.map