import { type AssetReference, type EntityRecord, type TransformValue } from "@skenora/contracts"; export type ParticleEffectId = "aura-v1" | "embers-v1" | "spark-burst-v1"; export interface ParticleEffectOptions { id?: string; /** Scene-unit scale, independent of the group transform. Default 1. */ size?: number; /** Density multiplier in [0.1, 3]; lifetime/brightness remain coordinated. */ intensity?: number; autoStart?: boolean; transform?: TransformValue; textures?: Partial>; } export interface ParticleEffect { id: string; preset: ParticleEffectId; assets: readonly AssetReference[]; entities: readonly EntityRecord[]; rootEntityId: string; particleEntityIds: readonly string[]; } /** Two coordinated particle layers using only the existing native particle schema. */ export declare function createParticleEffect(preset: ParticleEffectId, options?: ParticleEffectOptions): ParticleEffect; export declare function describeParticleEffects(): { readonly presets: readonly [{ readonly id: "aura-v1"; readonly name: "Cool luminous halo"; readonly mode: "continuous"; readonly textures: readonly ["soft-dot-v1"]; }, { readonly id: "embers-v1"; readonly name: "Warm rising embers"; readonly mode: "continuous"; readonly textures: readonly ["soft-dot-v1", "rain-streak-v1"]; }, { readonly id: "spark-burst-v1"; readonly name: "Short golden spark burst"; readonly mode: "explicit-trigger"; readonly textures: readonly ["soft-dot-v1", "rain-streak-v1"]; }]; readonly layers: 2; readonly limits: { readonly size: readonly [0.01, 1000]; readonly intensity: readonly [0.1, 3]; readonly maxCapacity: 1800; }; readonly fields: "Ordinary group and particle entities with explicit replaceable textures; no new entity kind"; readonly playback: "Renderer playback or explicit Editor preview; spark burst does not auto-start"; readonly limitations: readonly ["Visual sprites, not volumetric fire or collision simulation", "Host must install its explicit texture provider", "Glow is additive sprite blending; bloom is an optional separate presentation setting"]; }; //# sourceMappingURL=particle-effects.d.ts.map