import { Box2, Vector2 } from 'three'; import { WorldLocals } from '../config/WorldEnv.js'; import { NoiseSampler } from './NoiseSampler.js'; import { DiscreteDistributionMap } from './DiscreteDistributionMap.js'; import { Biome } from './Biome.js'; import { Heightmap } from './Heightmap.js'; export type SpawnSlot = { pos: Vector2; randomIndex: number; }; export type SpawnRules = { overlapTolerance: number; overlapProbability: number; }; /** * Support for multiple items' sizes */ export declare class SpawnDistributionMap { discreteDistributionMap: DiscreteDistributionMap; spawnDistributionLaw: NoiseSampler; spawnProbabilityThreshold: number; biomes: Biome; heightmap: Heightmap; constructor(worldLocalEnv: WorldLocals, heightmap: Heightmap, biomes: Biome); evalSpawnability(pos: Vector2): number | null; /** * * @param initialInput * @param maxSearchRadius to limit or to query only inner elements, use radius 0 * @returns */ queryMapArea(initialInput: Vector2[] | Box2, spawnInsideOnly?: boolean): Record; }