import { Container } from "./Container";
import { NestFiler } from "../Common/Filer";
import { Part } from "./Part";
import { Path } from "./Path";
import { PlaceType } from "./PlaceType";
/**
 * 个体(表示某一次优化的结果,或者还没开始优化的状态)
 * 个体是由一堆零件组成的，零件可以有不同的状态。
 *
 * 个体单独变异
 *  可以是某个零件的旋转状态发生改变
 *  可以是零件的顺序发生改变
 *
 * 个体交配(感觉暂时不需要)
 *  个体和其他个体进行基因交换
 */
export declare class Individual {
    Parts?: Part[];
    mutationRate: number;
    Fitness: number;
    constructor(Parts?: Part[], mutationRate?: number);
    Clone(): Individual;
    /**
    * 突变
    */
    Mutate(): this;
    Containers: Container[];
    HoleContainers: Container[];
    /**
     * 评估健康程度
     */
    Evaluate(bin: Path, bestCount: number, greedy?: boolean, type?: PlaceType): void;
    ReadFile(file: NestFiler): void;
    WriteFile(f: NestFiler): void;
}
//# sourceMappingURL=Individual.d.ts.map