import type { TradeSlotType } from "./definitions/adventureland.js";
import { PingCompensatedCharacter } from "./PingCompensatedCharacter.js";
import type { ItemName } from "./definitions/adventureland-data.js";
export declare class Merchant extends PingCompensatedCharacter {
    ctype: "merchant";
    /**
     * Fish for items.
     *
     * @return {*}  {Promise<void>}
     * @memberof Merchant
     */
    fish(): Promise<string>;
    joinGiveaway(slot: TradeSlotType, id: string, rid: string): Promise<void>;
    /**
     * Lists an item for sale on your merchant stand
     *
     * @param {number} itemPos the position of the item in your inventory
     * @param {number} price the price to sell the item
     * @param {TradeSlotType} [tradeSlot] the trade slot to list the item in
     * @param {number} [quantity=1] the number of items to sell at this price
     * @return {*}  {Promise<unknown>}
     * @memberof Merchant
     */
    listForSale(itemPos: number, price: number, tradeSlot?: TradeSlotType, quantity?: number): Promise<unknown>;
    /**
     * NOTE: Untested
     *
     * Adds an item that you want to purchase to your trade listing
     *
     * To remove a listing, call unequip(tradeSlot)
     *
     * @param itemName The item you want to buy
     * @param price The price you'll pay for it
     * @param tradeSlot The trade slot you want to put the request in
     * @param quantity How many of the item you want to buy
     * @param level For equipment, the level of the item you wish to buy
     */
    listForPurchase(itemName: ItemName, price: number, tradeSlot?: TradeSlotType, quantity?: number, level?: number): Promise<unknown>;
    merchantCourage(): Promise<unknown>;
    mine(): Promise<string>;
    mluck(target: string): Promise<unknown>;
    massProduction(): Promise<unknown>;
    massProductionPP(): Promise<unknown>;
}
