/** * EmberSystem - Rising glowing ember particles * * Creates warm atmosphere with embers that rise, flicker, and glow. * Supports heat intensity (affects colors, speed, glow) and density multipliers. * * Plain TypeScript module - no Svelte runes needed for standalone package. */ import type { Dimensions } from "../../../core/domain/types.js"; import { type HeatIntensity } from "../domain/constants/ember-constants.js"; /** * Initialize embers with stratified vertical distribution */ export declare function initialize(dimensions: Dimensions, count: number): void; /** * Update ember particles with type-specific motion */ export declare function update(dimensions: Dimensions, frameMultiplier: number): void; /** * Draw ember particles with glow effect * Phoenix embers get enhanced rendering with extra glow and trail */ export declare function draw(ctx: CanvasRenderingContext2D, _dimensions: Dimensions): void; /** * Set motion multiplier for accessibility (reduced motion) */ export declare function setMotionMultiplier(multiplier: number): void; /** * Set heat intensity (affects color, speed, glow) */ export declare function setHeatIntensity(intensity: HeatIntensity): void; /** * Set density multiplier */ export declare function setDensityMultiplier(multiplier: number): void; /** * Configure flicker animation */ export declare function setFlicker(enabled: boolean, speed?: number): void; /** * Get particle count for stats */ export declare function getCount(): number; /** * Adjust particle count (for quality changes) */ export declare function setCount(dimensions: Dimensions, count: number): void; /** * Handle resize */ export declare function handleResize(oldDimensions: Dimensions, newDimensions: Dimensions): void; /** * Set callback for phoenix death events * Called when a phoenix ember reaches the top of the screen */ export declare function setPhoenixDeathCallback(callback: ((x: number, y: number) => void) | null): void; /** * Get count of active phoenix embers (for stats/debugging) */ export declare function getPhoenixCount(): number; /** * Cleanup */ export declare function cleanup(): void; /** * Create a new instance-like object for compatibility with class-based consumers * This allows gradual migration - consumers can use either the module functions * directly or create an "instance" that wraps them. */ export declare function createInstance(): { initialize: typeof initialize; update: typeof update; draw: typeof draw; setMotionMultiplier: typeof setMotionMultiplier; setHeatIntensity: typeof setHeatIntensity; setDensityMultiplier: typeof setDensityMultiplier; setFlicker: typeof setFlicker; getCount: typeof getCount; setCount: typeof setCount; handleResize: typeof handleResize; setPhoenixDeathCallback: typeof setPhoenixDeathCallback; getPhoenixCount: typeof getPhoenixCount; cleanup: typeof cleanup; }; //# sourceMappingURL=ember-system.d.ts.map