import type { SeedInput } from '../seed'; import type { RestRngState } from './rest.rng'; export type RestPosture = 'deep' | 'doze' | 'watch'; export interface RestPostureDef { key: RestPosture; name: string; desc: string; flavor: string; baseHeal: number; } export type RestWatchKind = 'embers' | 'dream' | 'stir' | 'still'; export interface RestDreamDef { id: string; title: string; lines: readonly string[]; keepsake: string; } export interface RestWatchOption { id: string; label: string; desc: string; disabledReason?: string; } export interface RestWatchResult { title: string; body: string; rolls: readonly number[]; warmthDelta: number; woodDelta: number; comfortDelta: number; keepsake: string; } export interface RestPendingWatch { watch: number; kind: RestWatchKind; title: string; body: string; options: readonly RestWatchOption[]; result: RestWatchResult | null; dreamId?: string; } export type RestOutcomeTier = 'restored' | 'rested' | 'meagre'; export interface RestOutcome { tier: RestOutcomeTier; healFraction: number; cleansed: boolean; warmth: number; comfort: number; keepsakes: readonly string[]; } export type RestPhase = 'posture' | 'watch' | 'outcome' | 'done'; export interface RestSession { phase: RestPhase; baseHealFraction: number; posture: RestPosture | null; watch: number; watchPlan: readonly RestWatchKind[]; dreamQueue: readonly string[]; warmth: number; wood: number; comfort: number; keepsakes: readonly string[]; pending: RestPendingWatch | null; outcome: RestOutcome | null; seed: SeedInput; rng: RestRngState; } //# sourceMappingURL=rest.types.d.ts.map