import { Vector3, AbsolutePosition, ReferenceSpace } from '@openhps/core'; import { AbstractLocation } from './AbstractLocation'; export declare class SymbolicSpace extends ReferenceSpace { coordinates: Vector3[]; protected positionConstructor: new () => T; centroid: AbsolutePosition; protected connectedSpaces: Map; priority: number; origin: AbsolutePosition; constructor(displayName?: string); get boundaryType(): new () => T; setBounds(bounds: T[]): this; setBounds(bounds: RectangleCornerBoundary): this; setBounds(bounds: RectangleRotationBoundary): this; protected setRectangleBounds(bounds: RectangleRotationBoundary): void; protected setRectangleBounds(bounds: RectangleCornerBoundary): void; protected setArrayBounds(bounds: T[]): void; getBounds(): T[]; protected updateCentroid(): void; set parent(loc: SymbolicSpace); get parent(): SymbolicSpace; isInside(position: AbsolutePosition): boolean; private _rayCasting; isConnected(space: SymbolicSpace): boolean; addConnectedSpace(space: SymbolicSpace, position?: T): this; toPosition(): T; static fromGeoJSON(json: any): InstanceType; static fromWKT(wktLiteral: string): InstanceType; toGeoJSON(flat?: boolean): any; toWKT(): string; toLocation(): AbstractLocation; } export type RectangleCornerBoundary = { topLeft: T; bottomRight: T; }; export type RectangleRotationBoundary = { topLeft: T; width: number; height?: number; length: number; rotation?: number; };