/**
 * Text Variation System
 *
 * Utility functions for making repeated game events feel fresh by
 * providing multiple text variants, template replacement, and
 * contextual labeling based on player state.
 */
import type { Player } from '../models/Player.js';
/**
 * Pick a random variant from an array of strings.
 * Optionally accepts a seed string for deterministic selection
 * (uses simple hash so the same seed always picks the same variant).
 */
export declare function pickVariant(variants: string[], seed?: string): string;
/**
 * Replace `{variable}` placeholders in a template string with values
 * from the provided context object.
 *
 * @example
 * templateReplace('{name} feels {mood} this {timeOfDay}', { name: 'Alex', mood: 'happy', timeOfDay: 'morning' })
 * // => 'Alex feels happy this morning'
 */
export declare function templateReplace(text: string, context: Record<string, string | number>): string;
/**
 * Convert an hour (0-23) into a human-readable time-of-day label.
 */
export declare function getTimeOfDayLabel(hour: number): string;
/**
 * Return a short descriptive adjective for a weather type.
 */
export declare function getWeatherAdjective(weather: string): string;
/**
 * Build a template-replacement context from the current player state.
 * The returned record can be fed straight into `templateReplace`.
 */
export declare function buildEventContext(player: Player): Record<string, string>;
//# sourceMappingURL=textVariations.d.ts.map