import { Vector } from "./vector"; export interface StackedSpace { get(pos: Vector): A[]; set(pos: Vector, objects: A[]): void; add(pos: Vector, object: A): void; retain(pos: Vector, predicate: (a: A) => boolean): void; } export declare class DiscreteStackedSpace implements StackedSpace { private readonly objects; get(pos: Vector): A[]; set(pos: Vector, objects: A[]): void; add(pos: Vector, object: A): void; retain(pos: Vector, predicate: (a: A) => boolean): void; } export declare class SubStackedSpace implements StackedSpace { readonly space: StackedSpace; readonly transform: (pos: Vector) => Vector; constructor(space: StackedSpace, transform: (pos: Vector) => Vector); get(pos: Vector): A[]; set(pos: Vector, objects: A[]): void; add(pos: Vector, object: A): void; retain(pos: Vector, predicate: (a: A) => boolean): void; }