import { BaseIndividual } from '../../individual/base/BaseIndividual';
import { Population, PopulationItem } from '../../population/Population';
import { PopulationReplacement, PopulationReplacementParams } from './PopulationReplacement';
export declare abstract class BaseReplacement<I extends BaseIndividual<T>, T> implements PopulationReplacement<I, T> {
    replace(oldPopulation: Population<I, T>, newPopulation: Population<I, T>, params: PopulationReplacementParams): Population<I, T>;
    pushIndividual(population: Population<I, T>, item: PopulationItem<I, T>): void;
    abstract sortMethod(a: PopulationItem<I, T>, b: PopulationItem<I, T>): number;
}
