/**
 * Helper class for OSRS Clue Scrolls
 * Handles casket opening simulation with accurate wiki-based reward odds
 *
 * WIKI REFERENCE: https://oldschool.runescape.wiki/w/Clue_scrolls
 * Each tier has unique mechanics documented in the reward casket pages
 */
import { Item } from "../Item/Item";
/**
 * Result of opening a casket - contains all rewards obtained
 */
export interface CasketReward {
    items: Item[];
    count: number;
    /** Optional: master clue if obtained from certain tiers */
    masterClue?: Item;
    /** Optional: true when a casket triggered a mimic encounter roll */
    mimicTriggered?: boolean;
    /** Optional: true when mimic trigger came from guaranteed pity logic */
    mimicGuaranteed?: boolean;
    /** Optional: mimic bonus reward roll for master caskets */
    mimicBonusItem?: Item;
}
/**
 * Main ClueScrollHelper class that provides methods to simulate clue scroll rewards
 */
export declare class ClueScrollHelper {
    /**
     * Resets internal simulation state.
     */
    static resetSimulationState(): void;
    /**
     * Simulate opening a clue casket and return all rewards
     *
     * Uses tier-specific mechanics per OSRS Wiki documented behavior:
     * - Beginner: 1-3 rewards with unique/cabbage sub-mechanic
     * - Easy: 2-4 rewards + 1/50 master clue
     * - Medium: 3-5 rewards (standard)
     * - Hard: 4-6 rewards (standard)
     * - Elite: 4-6 rewards + 1/5 master clue (bonus, doesn't consume slot)
     * - Master: 5-7 rewards (standard)
     *
     * @param tier The difficulty tier of the clue scroll
     * @returns CasketReward containing all items, count, and optional master clue
     */
    static openCasket(tier: "beginner" | "easy" | "medium" | "hard" | "elite" | "master"): CasketReward;
    /**
     * Get the probability of obtaining a specific item from a casket as a fraction
     * @param tier The difficulty tier
     * @param itemName The item name to check probability for
     * @returns The probability as a fraction (e.g., 0.0278 for 1/36)
     */
    static getItemProbability(tier: "beginner" | "easy" | "medium" | "hard" | "elite" | "master", itemName: string): number;
    /**
     * Get the rarity denominator (X in "1 in X") for an item
     */
    static getItemRarity(tier: "beginner" | "easy" | "medium" | "hard" | "elite" | "master", itemName: string): number;
    /**
     * Get all possible rewards for a tier as Item objects
     */
    static getPossibleRewards(tier: "beginner" | "easy" | "medium" | "hard" | "elite" | "master"): Item[];
    /**
     * Get all possible reward items names for a tier
     */
    static getPossibleRewardNames(tier: "beginner" | "easy" | "medium" | "hard" | "elite" | "master"): string[];
    /**
     * Simulate opening multiple caskets
     * @param tier The clue tier
     * @param count Number of caskets to open
     * @returns Array of all reward items
     */
    static simulateMultiple(tier: "beginner" | "easy" | "medium" | "hard" | "elite" | "master", count: number): Item[];
    /**
     * Get reward statistics for a tier
     */
    static getRewardStats(tier: "beginner" | "easy" | "medium" | "hard" | "elite" | "master"): {
        tier: string;
        totalUnique: number;
        rareItems: number;
        commonItems: number;
    };
}
//# sourceMappingURL=ClueScrollHelper.d.ts.map