import type { ItemDefinition, ItemChronicleEntry } from './types.js'; export type GrowthTrigger = 'kill-count' | 'age' | 'recognition-count' | 'faction-kills' | 'boss-kill'; export type GrowthMilestone = { trigger: GrowthTrigger; threshold: number; epithet: string; statBonus?: Record; }; export type RelicState = { itemId: string; currentEpithet?: string; milestonesReached: string[]; tier: number; }; export declare const DEFAULT_WEAPON_MILESTONES: GrowthMilestone[]; export declare const DEFAULT_ARMOR_MILESTONES: GrowthMilestone[]; /** * Evaluate relic growth for an item based on its chronicle. * Returns the current relic state: tier, epithet, and reached milestones. */ export declare function evaluateRelicGrowth(item: ItemDefinition, chronicle: ItemChronicleEntry[], currentTick: number, milestones?: GrowthMilestone[]): RelicState; /** * Get the display name with relic epithet: "Gravedigger's Spade, the Reaper" */ export declare function getRelicEpithet(item: ItemDefinition, relicState: RelicState): string; /** * Get the current relic tier (0-3). */ export declare function getRelicTier(relicState: RelicState): number; /** Tier labels for display. */ export declare const TIER_LABELS: Record; /** * Compute aggregate stat bonuses from reached milestones. * * `itemName` is required to resolve each candidate milestone's own pattern * (F-c2ac7705) — see the exact-match note below. Callers already have the * `ItemDefinition` in scope wherever a `RelicState` is available (it's what * `evaluateRelicGrowth` was called with to produce that state); pass * `item.name`. */ export declare function computeRelicBonuses(relicState: RelicState, milestones: GrowthMilestone[], itemName: string): Record; //# sourceMappingURL=relic-growth.d.ts.map