import type { ParticleConfigIssue, ParticleEmitterConfig } from '@flighthq/types/contract'; /** Return a copy of the config with every value coerced to something the * simulation can run safely: non-finite numbers fall back to their defaults, * negative counts/rates/sizes are clamped to 0, integer fields are floored, and * `frameCount` is forced to >= 1. Range inversions (e.g. lifetimeMin > max) are * left intact since they simulate correctly — use {@link validateParticleEmitterConfig} * to surface those to the author. Safe to call on partial input. */ export declare function normalizeParticleEmitterConfig(config?: Partial): ParticleEmitterConfig; /** Report problems in a particle config without modifying it — for asset-import * validation, editor inspectors, or CI checks on authored effects. Returns an * empty array for a clean config. Use {@link normalizeParticleEmitterConfig} to * get a corrected config for safe runtime use. */ export declare function validateParticleEmitterConfig(config: Readonly): ParticleConfigIssue[]; //# sourceMappingURL=validateParticleEmitterConfig.d.ts.map