import { Storage } from "./storage"; import { Component, ComponentSource, EntityView } from "./component"; import { EntityModifier, Entity } from "./entity"; import { Option, Source, Push } from "lazy-space"; import { Iteration } from "../iterator"; export interface Tick { delta: number; } export declare class World implements Source { private components; private componentSources; private subSystems; private openEntities; private lastEntity; registerComponent(name: C, storage: Storage): void; registerComponentSource(source: ComponentSource): void; getStorage(name: C): Option>; allStorages(): Iteration>; createEntity(): EntityModifier; editEntity(entity: Entity): EntityModifier; deleteEntity(entity: Entity): void; fetchEntity(entity: Entity, ...storages: C[]): Option; subscribe(p: Push): void; processComponentSources(): void; processSubSystems(tick: Tick): void; }