import type { Crop } from '../constants/crops.js';
import { type Rarity, type Reforge, ReforgeTarget, type ReforgeTier } from '../constants/reforges.js';
import { Stat } from '../constants/stats.js';
import type { FortuneSourceProgress } from '../constants/upgrades.js';
import type { Effect, EffectEnvironment } from '../effects/types.js';
import type { FarmingArmorInfo } from '../items/armor.js';
import { type PlayerOptions } from '../player/playeroptions.js';
import type { EliteItemDto } from './item.js';
import type { UpgradeableInfo } from './upgradeable.js';
import { UpgradeableBase } from './upgradeablebase.js';
export declare class FarmingEquipment extends UpgradeableBase {
    item: EliteItemDto;
    info: FarmingArmorInfo;
    get type(): ReforgeTarget;
    get slot(): import("../items/definitions.js").GearSlot | undefined;
    rarity: Rarity;
    reforge: Reforge | undefined;
    reforgeStats: ReforgeTier | undefined;
    recombobulated: boolean;
    fortune: number;
    fortuneBreakdown: Record<string, number>;
    options?: PlayerOptions;
    constructor(item: EliteItemDto, options?: PlayerOptions);
    getProgress(stats?: Stat[], zeroed?: boolean): FortuneSourceProgress[];
    setOptions(options: PlayerOptions): void;
    getStat(stat: Stat, crop?: Crop): number;
    /**
     * Returns the declarative `Effect[]` representation of every contribution
     * this equipment piece makes: base stats, reforge, gems, enchants. Set
     * bonuses are emitted at the {@link ArmorSet} level.
     */
    getEffects(env: EffectEnvironment): Effect[];
    getFortune(): number;
    private getFortuneFromVisitors;
    /**
     * Get the bonus from the Salesperson lotus piece
     * @returns {number} Fortune from the Salesperson lotus piece
     */
    getPieceBonus(): number;
    applyTierUpgradeStateTo(newItem: FarmingEquipment): void;
    static isValid(item: EliteItemDto): boolean;
    static fromArray(items: EliteItemDto[], options?: PlayerOptions): FarmingEquipment[];
    static fakeItem(info: UpgradeableInfo, options?: PlayerOptions): FarmingEquipment | undefined;
}
export declare const LotusGear: typeof FarmingEquipment;
