import { Box2, Vector2 } from 'three'; export type DistributionParams = { minDistance: number; maxDistance?: number; tries?: number; distanceFunction?: (point: any) => number; bias?: number; maxElementSize?: number; }; /** * Pseudo-random distribution made from infinitely repeatable patterns * providing independant and deterministic behavior */ export declare class DiscreteDistributionMap { patternDimension: Vector2; bounds: Box2; samplesIndex: Record; seed: string; constructor(dimensions: Vector2, seed: string); get dimensions(): Vector2; get samplesCount(): number; genPassSamples(maxSpawnRadius: number, previousPoints: Vector2[]): Vector2[]; populateSamplesIndex(): void; /** * Based on provided items' dimensions, will find all surrounding items overlapping with given point * @param searchedArea tested point * @param itemDimension max dimensions of items likely to overlap tested point */ queryMapSpawnSlots(query: Vector2[] | Box2, slotsInsideAreaOnly?: boolean): Record; getPatchOrigin(patchId: Vector2): Vector2; toLocalPos(pos: Vector2, patchId: Vector2): Vector2; toWorldPos(relativePos: Vector2, patchId: Vector2): Vector2; } /** * Storing entities at biome level with overlap at biomes' transitions */ export declare class OverlappingEntitiesMap { }