import type { DropKind, DropTag } from '../effects/types.js';
import { Stat } from './stats.js';
import type { UpgradeCost } from './upgrades.js';
export declare enum Crop {
    Cactus = "CACTUS",
    Carrot = "CARROT_ITEM",
    CocoaBeans = "INK_SACK:3",
    Melon = "MELON",
    Mushroom = "MUSHROOM_COLLECTION",
    NetherWart = "NETHER_STALK",
    Potato = "POTATO_ITEM",
    Pumpkin = "PUMPKIN",
    SugarCane = "SUGAR_CANE",
    Wheat = "WHEAT",
    Seeds = "WHEAT_SEEDS",
    Sunflower = "DOUBLE_PLANT",
    Moonflower = "MOONFLOWER",
    WildRose = "WILD_ROSE"
}
export interface CropCraft {
    item: string;
    amount?: number;
    takes: number;
    and?: {
        item: string;
        amount: number;
        cost?: number;
    }[];
}
export interface CropRngDrop {
    chance: number;
    drops: Record<string, number>;
    /** Output bucket for this drop. Defaults to `rng`. */
    output?: 'rng' | 'collection' | 'currency';
    /**
     * If `harvestFeast`, this drop only occurs when a Harvest Feast is active and this crop is in-season.
     * Used for Seasoning + per-crop Harvest Feast materials.
     */
    only?: 'harvestFeast';
    /**
     * Drop kind classification used by the effects pipeline. Defaults to `'rng'` when omitted.
     */
    dropKind?: DropKind;
    /**
     * Drop tags consumed by `Effect.scope.tags`. See `DropTagBuiltin` for the well-known set.
     * Defaults to `['overbloom','rare-crop']` when omitted (the SkyBlock RARE CROP pool).
     */
    tags?: readonly DropTag[];
}
export interface CropInfo {
    name: string;
    npc: number;
    drops: number;
    fortuneType: Stat;
    breaks?: number;
    replenish?: boolean;
    exportable?: boolean;
    exportableCost?: UpgradeCost;
    startingTool: string;
    toolXpFactor: number;
    crafts: CropCraft[];
    rng?: CropRngDrop[];
}
/** Drop chance of Seasoning from any in-season crop during a Harvest Feast (1/2,250). */
export declare const HARVEST_FEAST_SEASONING_CHANCE: number;
/** Drop chance of a per-crop Harvest Feast unique material from in-season crops (1/18,000). */
export declare const HARVEST_FEAST_MATERIAL_CHANCE: number;
/** Per-crop unique Harvest Feast material item id, dropped at 1/18,000 from in-season crops. */
export declare const HARVEST_FEAST_MATERIALS: Partial<Record<Crop, string>>;
export declare const CROP_INFO: Record<Crop, CropInfo>;
export declare const MAX_CROP_FORTUNE: Record<Crop, number>;
export declare const LIST_OF_CROPS: Exclude<Crop, Crop.Seeds>[];
export declare const LIST_OF_CROPS_WITH_SEEDS: Crop[];
export declare const EXPORTABLE_CROP_FORTUNE = 12;
