import { Crop, CropInfo } from '../constants/crops.js';
interface CalculateDropsOptions {
    farmingFortune?: number;
    blocksBroken: number;
    dicerLevel?: 1 | 2 | 3;
    armorPieces?: 1 | 2 | 3 | 4;
}
export declare function calculateAverageDrops(options: CalculateDropsOptions): Record<Crop, number>;
interface CalculateDetailedDropsOptions extends CalculateDropsOptions {
    bountiful: boolean;
    mooshroom: boolean;
}
interface DetailedDrops {
    collection: number;
    npcCoins: number;
    fortune: number;
    coinSources: Record<string, number>;
    otherCollection: Record<string, number>;
}
export declare function calculateDetailedAverageDrops(options: CalculateDetailedDropsOptions): Record<Crop, DetailedDrops>;
interface CalculateExpectedDropsOptions extends CalculateDropsOptions {
    blocksBroken: number;
    crop: Crop;
}
interface CalculateCropDetailedDropsOptions extends CalculateDetailedDropsOptions {
    blocksBroken: number;
    crop: Crop;
}
export declare function calculateExpectedDrops(options: CalculateExpectedDropsOptions): number;
export declare function calculateDetailedDrops(options: CalculateCropDetailedDropsOptions): DetailedDrops;
export interface FortuneRequiredCalculatorOptions {
    blocksBroken: number;
    crop: Crop;
    collection: number;
    useDicers?: boolean;
    useMooshroom?: boolean;
}
export declare function getFortuneRequiredForCollection(options: FortuneRequiredCalculatorOptions): number;
export declare function getNPCProfitFromCrops(crop: Crop, amount: number): number;
export declare function getCropInfo(crop: Crop): CropInfo;
export {};
