import { Thread, ThreadPool } from "@amodx/threads"; import { WorldStorageInterface } from "../World/Types/WorldStorage.interface"; import { Generator, GeneratorData } from "./Dimensions/Generator"; import { WorldSimulationTasks } from "./Internal/WorldSimulationTasks"; import { WorldSimulationTools } from "./Internal/WorldSimulationTools"; import { InitalLoad } from "./Procedures/InitalLoad"; import SaveAllSectors from "./Procedures/SaveAllSectors"; interface WorldSimulationInitData { parent: Thread; generators: Thread | ThreadPool; meshers: Thread | ThreadPool; worldStorage?: WorldStorageInterface; } /**# Infinite World Generation IWG * Object to handle the loading and generating the world around a created generator. */ export declare class WorldSimulation { private static _cullGenerators; static readonly _generators: Generator[]; static Tools: typeof WorldSimulationTools; static Tasks: typeof WorldSimulationTasks; static addDimension(id: number): void; static Procedures: { InitalLoad: typeof InitalLoad; SaveAllSectors: typeof SaveAllSectors; }; static logTasks(): { loading: number[]; generating: number[]; propagating: number[]; sun: number[]; building: number[]; unbuilding: number[]; }; static init(data: WorldSimulationInitData): void; static createGenerator(data: Partial): Generator; static addGenerator(generator: Generator): void; static getDimension(id: number): import("./Dimensions/DimensionSegment").DimensionSegment; static removeGenerator(generator: Generator): boolean; static doTickUpdates: boolean; static doBuildUpdate: boolean; static clearAll(): void; static tick(generationOnly?: boolean, buildOnly?: boolean): void; } export {};