import { Rarity, ReforgeTarget } from '../constants/reforges.js';
import { Skill } from '../constants/skills.js';
import { SpecialCrop } from '../constants/specialcrops.js';
import { Stat } from '../constants/stats.js';
import { Upgrade } from '../constants/upgrades.js';
import { UpgradeableInfo } from '../fortune/upgradeable.js';
export declare enum GearSlot {
    Boots = "Boots",
    Leggings = "Leggings",
    Chestplate = "Chestplate",
    Helmet = "Helmet",
    Necklace = "Necklace",
    Cloak = "Cloak",
    Belt = "Belt",
    Gloves = "Gloves"
}
export interface GearSlotInfo {
    name: string;
    startingItem: string;
    target: ReforgeTarget;
}
export declare const GEAR_SLOTS: Record<GearSlot, GearSlotInfo>;
export interface FarmingArmorInfo extends UpgradeableInfo {
    special?: SpecialCrop[];
    slot: GearSlot;
    family?: string;
    maxRarity: Rarity;
    upgrade?: Upgrade;
    wiki: string;
    contestStatsMultiplier?: number;
    perLevelStats?: {
        skill: Skill;
        appliesTo?: ReforgeTarget[];
        stats: Partial<Record<Stat, number>>;
    };
    skillReq?: Partial<Record<Skill, number>>;
}
export declare const ARMOR_INFO: Record<string, FarmingArmorInfo>;
export type ArmorSetBonusStats = Partial<Record<number, Partial<Record<Stat, number>>>>;
export interface ArmorSetBonus {
    name: string;
    piecePotential?: Partial<Record<Stat, number>>;
    stats: ArmorSetBonusStats;
    special?: SpecialCrop[];
}
export declare const ARMOR_SET_BONUS: Record<string, ArmorSetBonus>;
