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;
}