import type { SeedInput } from '../seed'; import type { LootCacheRngState } from './lootcache.rng'; export interface CacheItemRef { uid: string; name: string; } export type LootCacheLayerIndex = 0 | 1 | 2; export declare const LOOT_CACHE_LAYER_COUNT = 3; export interface LootCacheLayerLoot { items: readonly CacheItemRef[]; currency: number; keepsake: string; } export interface LootCacheLayerState { index: LootCacheLayerIndex; name: string; flavor: string; trapped: boolean; trapBite: number; revealed: boolean; opened: boolean; spoiled: boolean; loot: LootCacheLayerLoot; } export interface LootCacheCard { title: string; body: string; items: readonly CacheItemRef[]; currency: number; keepsake: string; bite: number; slammed: boolean; } export type LootCacheOutcomeTier = 'emptied' | 'prudent' | 'stung'; export interface LootCacheOutcome { tier: LootCacheOutcomeTier; itemsKept: readonly CacheItemRef[]; currencyKept: number; keepsakes: readonly string[]; bittenVitae: number; layersOpened: number; } export type LootCachePhase = 'intro' | 'delving' | 'card' | 'outcome' | 'done'; export interface LootCacheSession { phase: LootCachePhase; layers: readonly LootCacheLayerState[]; depth: number; probeUsed: boolean; bittenVitae: number; card: LootCacheCard | null; outcome: LootCacheOutcome | null; seed: SeedInput; rng: LootCacheRngState; } //# sourceMappingURL=lootcache.types.d.ts.map