import { Logger } from "@syntest/logging";
import { BudgetManager } from "../budget/BudgetManager";
import { Encoding } from "../Encoding";
import { EncodingSampler } from "../EncodingSampler";
import { ObjectiveManager } from "../objective/managers/ObjectiveManager";
import { TerminationManager } from "../termination/TerminationManager";
import { SearchAlgorithm } from "./SearchAlgorithm";
/**
 * Random Search algorithm that adds new encodings when these explore a new area of the search domain.
 *
 * @author Mitchell Olsthoorn
 */
export declare class RandomSearch<T extends Encoding> extends SearchAlgorithm<T> {
    protected static LOGGER: Logger;
    protected _encodingSampler: EncodingSampler<T>;
    /**
     * Constructor.
     *
     * @param encodingSampler The encoding sampler
     */
    constructor(objectiveManager: ObjectiveManager<T>, encodingSampler: EncodingSampler<T>);
    /**
     * @inheritDoc
     * @protected
     */
    protected _initialize(): void;
    /**
     * @inheritDoc
     * @protected
     */
    protected _iterate(budgetManager: BudgetManager<T>, terminationManager: TerminationManager): Promise<void>;
}
//# sourceMappingURL=RandomSearch.d.ts.map