import { Vector } from "./vector"; import { Option } from "lazy-space"; export interface Space { get(pos: Vector): Option; set(pos: Vector, objects: A): void; remove(pos: Vector): Option; } export declare class DiscreteSpace implements Space { private readonly objects; get(pos: Vector): Option; set(pos: Vector, objects: A): void; remove(pos: Vector): Option; } export declare class SubSpace implements Space { readonly space: Space; readonly transform: (pos: Vector) => Vector; constructor(space: Space, transform: (pos: Vector) => Vector); get(pos: Vector): Option; set(pos: Vector, objects: A): void; remove(pos: Vector): Option; }