import { Encoding } from "../../Encoding";
import { ObjectiveFunction } from "../ObjectiveFunction";
import { ObjectiveManager } from "./ObjectiveManager";
/**
 * An abstract objective manager for algorithms based on an archive.
 *
 * @author Mitchell Olsthoorn
 */
export declare abstract class ArchiveBasedObjectiveManager<T extends Encoding> extends ObjectiveManager<T> {
    /**
     * @inheritdoc
     */
    protected _handleCoveredObjective(objectiveFunction: ObjectiveFunction<T>, encoding: T): ObjectiveFunction<T>[];
    /**
     * @inheritdoc
     */
    protected _handleUncoveredObjective(_objectiveFunction: ObjectiveFunction<T>, _encoding: T, _distance: number): void;
    /**
     * @inheritdoc
     */
    finalize(_finalPopulation: T[]): void;
    /**
     * Update the archive.
     *
     * @param objectiveFunction
     * @param encoding
     * @protected
     */
    protected _updateArchive(objectiveFunction: ObjectiveFunction<T>, encoding: T): void;
}
//# sourceMappingURL=ArchiveBasedObjectiveManager.d.ts.map