/**
 * Clue Scroll Reward Item Mappings
 * Organizes all clue scroll rewards by tier with their correct rarity tiers
 * Based on official OSRS Wiki data
 */
import { Item } from "../Item/Item";
/**
 * Reward odds mapping for Beginner clue scrolls
 * Beginner caskets have a three-tier table structure based on wiki data:
 * https://oldschool.runescape.wiki/w/Reward_casket_(beginner)
 *
 * Key mechanics:
 * - Caskets contain 1-3 items (weighted towards 2)
 * - Unique/Cabbage roll: 1/12 (41/492)
 *   - 50% Cabbage (5-9 noted) at 1/24 overall
 *   - 50% Specific unique at 1/360 overall (1/15 items)
 * - Black items table: 11/492 (18 items at 1/805.1 each, or 11/8856)
 * - Common items: 440/492 (weapons, armor, runes, misc food)
 *
 * Average loot value per roll: 1,427 gp
 * Average casket value: 2,854 gp (2 rolls average)
 * Average clues for all uniques: 597
 */
export interface RewardEntry {
    item: Item;
    rarity: number;
    quantity?: number;
    quantityMin?: number;
    quantityMax?: number;
    noted?: boolean;
}
interface RewardTable {
    [itemName: string]: RewardEntry;
}
/**
 * Beginner rewards organized by table structure
 * Table weights define the probability of selecting each table per roll
 *
 * Weights represent proportions that sum to 492:
 * - Unique/Cabbage: 41 weight = 1/12 chance (41/492)
 * - Black items: 11 weight = 11/492 chance
 * - Common items: 440 weight = 440/492 chance
 */
export declare const BEGINNER_REWARDS: {
    tables: Array<{
        name: string;
        weight: number;
        items: RewardTable;
        description?: string;
    }>;
    flattened: {
        [x: string]: RewardEntry;
    };
};
/**
 * Easy rewards organized by table structure
 * Table weights represent the proportion of rolls hitting each table
 *
 * Beginner uses 1080 total weight units:
 * - Unique/standard items dominate
 * - Master clue is separate 1/50 mechanic
 */
export declare const EASY_REWARDS: {
    tables: Array<{
        name: string;
        weight: number;
        items: RewardTable;
        description?: string;
    }>;
    flattened: {
        [x: string]: RewardEntry;
    };
};
/**
 * Medium clue rewards with table-based structure
 * Weighted table system for accurate probability distribution
 */
export declare const MEDIUM_REWARDS: {
    tables: Array<{
        name: string;
        weight: number;
        items: RewardTable;
        description?: string;
    }>;
    flattened: {
        [x: string]: RewardEntry;
    };
};
/**
 * Hard clue rewards with table-based structure
 * 4-6 items per casket, average 5
 */
export declare const HARD_REWARDS: {
    tables: Array<{
        name: string;
        weight: number;
        items: RewardTable;
        description?: string;
    }>;
    flattened: {
        [x: string]: RewardEntry;
    };
};
/**
 * Elite clue rewards with table-based structure
 * 4-6 items per casket, average 5
 */
export declare const ELITE_REWARDS: {
    tables: Array<{
        name: string;
        weight: number;
        items: RewardTable;
        description?: string;
    }>;
    flattened: {
        [x: string]: RewardEntry;
    };
};
/**
 * Master tier unique items
 * Major rare table at various rarities (1/851 to 1/25,530)
 */
export declare const MASTER_UNIQUE_ITEMS: RewardTable;
/**
 * Master tier standard table
 * Dragon weapons, runes, food, resources at 1/30.3 base
 */
export declare const MASTER_STANDARD_TABLE: RewardTable;
/**
 * Master tier mega-rare items (gilded + 3rd age + special)
 */
export declare const MASTER_MEGA_RARE_ITEMS: RewardTable;
/**
 * Master clue rewards with table-based structure
 * 5-7 items per casket, average 6
 */
export declare const MASTER_REWARDS: {
    tables: Array<{
        name: string;
        weight: number;
        items: RewardTable;
        description?: string;
    }>;
    flattened: {
        [x: string]: RewardEntry;
    };
};
/**
 * Gets all reward odds for a specific clue tier
 */
export declare function getClueRewardsByTier(tier: "beginner" | "easy" | "medium" | "hard" | "elite" | "master"): RewardTable;
/**
 * Gets the table structure for a specific clue tier (if available)
 * Returns null for tiers that don't have table-based rewards
 */
export declare function getClueRewardTables(tier: "beginner" | "easy" | "medium" | "hard" | "elite" | "master"): Array<{
    name: string;
    weight: number;
    items: RewardTable;
}> | null;
/**
 * Gets all items for a specific tier as an array
 */
export declare function getClueItemsList(tier: "beginner" | "easy" | "medium" | "hard" | "elite" | "master"): Item[];
export {};
//# sourceMappingURL=ClueScrollRewards.d.ts.map