import { EllipseParams, Fitness, FitnessData, HitInfo, State } from "./types.js";
export declare class EdeapAreas {
    areaSampleStep: number;
    maxTotalAreaDiff: number;
    zoneStrings: string[];
    proportions: number[];
    contours: string[];
    ellipseParams: EllipseParams[];
    ellipseMap: Map<string, HitInfo>;
    constructor(state: State);
    computeAreasAndBoundingBoxesFromEllipses(generateLabelPositions?: boolean): FitnessData;
    _fillFragment(zoneFragmentMap: number[], bitmap: boolean[], x: number, y: number, bitmapSizeX: number, bitmapSizeY: number, zoneFragmentN: number): number;
    _missingZonePenalty(missingZone: string, fitnessData: FitnessData, fitness: Fitness): void;
    _unwantedZonePenalty(zone: string, difference: number, fitness: Fitness): boolean;
    computeFitnessComponents(): {
        zoneAreaDifference: number;
        unwantedZone: number;
        circleDistortion: number;
        splitZone: number;
        missingOneLabelZone: number;
        missingTwoOrMoreLabelZone: number;
        unwantedExpandedOverlap: number;
    };
    zoneAreaTableBody(): string;
}
