import { Recipe } from "./../shoppingCart/ShoppingCartCore";
import { Optimizer, OptimalActions } from "./OptimizerInterface";
import { Action, ActionTaken } from "./Action";
export declare class PPSOptimizer extends Optimizer {
    /**
     * Find the most optimal actions
     */
    findOptimalActionSets(): {
        [key: string]: {
            recipe: Recipe;
            optimalActions: OptimalActions;
        };
    };
    startCalculatingOptimalActions(itemName: string, startingRecipeId: string | null): OptimalActions;
    /**
     *
     * @param item
     * @param recipeRestriction Must choose this recipe
     * @param optimalActions
     */
    calculateOptimalActions(itemName: string, recipeRestriction: string | null, optimalActions: OptimalActions | null): OptimalActions;
    pickBestCraftingAction(possibleCraftOptions: Array<Action>, itemMarketPrice: number): Action;
    calculateRecipeCostUsingSequence(sequence: Array<ActionTaken>, recipe: Recipe, recipe_id: string, optimalActions: any): Action | null;
}
//# sourceMappingURL=PPSOptimizer.d.ts.map