import type { LootEntry } from "./lootTable.js"; import type { LootModifier } from "./lootPipeline.js"; /** Caller-authored weighting curve; item ids, quality tiers and balance never live in the modifier. */ export interface TimeScaledRarityOptions { id?: string; ramp: (entry: LootEntry, hours: number) => number; } /** * Multiply weighted odds (or independent chances, clamped to one) by a caller-authored elapsed-time * curve. Keeps source tables unchanged and uses the existing pipeline's modifier provenance. * Elapsed time and multipliers must be finite and nonnegative; invalid curves reject the roll. * * @capability time-scaled-loot shape loot odds by elapsed hours with caller-authored curves and pipeline provenance */ export declare function timeScaledRarity(options: TimeScaledRarityOptions): LootModifier;