import { SearchAlgorithm } from "../algorithms/SearchAlgorithm";
import { BudgetManager } from "../budget/BudgetManager";
import { Encoding } from "../Encoding";
import { SearchSubject } from "../SearchSubject";
import { TerminationManager } from "../termination/TerminationManager";
export type Events = {
    searchInitializationStart: <E extends Encoding>(searchAlgorithm: SearchAlgorithm<E>, subject: SearchSubject<E>, budgetManager: BudgetManager<E>, terminationManager: TerminationManager) => void;
    searchInitializationComplete: <E extends Encoding>(searchAlgorithm: SearchAlgorithm<E>, subject: SearchSubject<E>, budgetManager: BudgetManager<E>, terminationManager: TerminationManager) => void;
    searchStart: <E extends Encoding>(searchAlgorithm: SearchAlgorithm<E>, subject: SearchSubject<E>, budgetManager: BudgetManager<E>, terminationManager: TerminationManager) => void;
    searchComplete: <E extends Encoding>(searchAlgorithm: SearchAlgorithm<E>, subject: SearchSubject<E>, budgetManager: BudgetManager<E>, terminationManager: TerminationManager) => void;
    searchIterationStart: <E extends Encoding>(searchAlgorithm: SearchAlgorithm<E>, subject: SearchSubject<E>, budgetManager: BudgetManager<E>, terminationManager: TerminationManager) => void;
    searchIterationComplete: <E extends Encoding>(searchAlgorithm: SearchAlgorithm<E>, subject: SearchSubject<E>, budgetManager: BudgetManager<E>, terminationManager: TerminationManager) => void;
};
//# sourceMappingURL=Events.d.ts.map