import { Crop } from '../constants/crops.js';
import { Rarity, Reforge, ReforgeTier } from '../constants/reforges.js';
import { FortuneSourceProgress } from '../constants/upgrades.js';
import { FarmingToolInfo } from '../items/tools.js';
import { PlayerOptions } from '../player/playeroptions.js';
import { EliteItemDto } from './item.js';
import { UpgradeableBase, UpgradeableInfo } from './upgradeable.js';
export declare class FarmingTool extends UpgradeableBase {
    item: EliteItemDto;
    crop?: Crop;
    info: FarmingToolInfo;
    get type(): import("../constants/reforges.js").ReforgeTarget;
    get tool(): FarmingToolInfo;
    itemname: string;
    private colorPrefix;
    get name(): string;
    rarity: Rarity;
    counter: number | undefined;
    cultivating: number;
    reforge: Reforge | undefined;
    reforgeStats: ReforgeTier | undefined;
    logCounter: number;
    collAnalysis: number;
    farmingForDummies: number;
    recombobulated: boolean;
    fortune: number;
    fortuneBreakdown: Record<string, number>;
    options?: PlayerOptions;
    constructor(item: EliteItemDto, options?: PlayerOptions);
    getProgress(zeroed?: boolean): FortuneSourceProgress[];
    setOptions(options: PlayerOptions): void;
    rebuildTool(item: EliteItemDto, options?: PlayerOptions): void;
    private setReforge;
    changeReforgeTo(reforgeId: string): void;
    changeFarmedCropsTo(crops: number): void;
    getFortune(): number;
    private getCounter;
    private getCultivating;
    getCultivatingLevel(): number;
    get farmed(): number;
    isUsed(): boolean;
    supportsCultivating(): boolean;
    isMissingDedication(): boolean | 0 | null | undefined;
    private getFarmingAbilityFortune;
    static isValid(item: EliteItemDto | FarmingTool): boolean;
    static fromArray(items: EliteItemDto[], options?: PlayerOptions): FarmingTool[];
    static fakeItem(info: UpgradeableInfo, options?: PlayerOptions): FarmingTool | undefined;
}
