declare namespace GeoJSON { interface NodeJson { id: string; type: string; } interface FeatureCollectionJson extends NodeJson { type: FeatureType.FeatureCollection; features: FeatureJson[]; } function isFeatureCollectionJson(node: NodeJson): node is FeatureCollectionJson; interface FeatureJson extends NodeJson { type: FeatureType.Feature; geometry: GeometryJson; properties?: PropertiesJson; } function isFeatureJson(node: NodeJson): node is FeatureJson; interface PropertiesJson { [key: string]: any; } interface MaprayJson { version: string; id: string; visibility?: boolean; altitudeMode?: "CLAMP" | "RELATIVE" | "ABSOLUTE"; } interface GeometryJson extends NodeJson { type: string; } interface LineStringGeometryJson extends GeometryJson { type: "LineString"; coordinates: CoordinatesJson[]; } interface MultiLineStringGeometryJson extends GeometryJson { type: "MultiLineString"; coordinates: CoordinatesJson[][]; } interface PolygonGeometryJson extends GeometryJson { type: "Polygon"; coordinates: CoordinatesJson[][]; } interface MultiPolygonGeometryJson extends GeometryJson { type: "MultiPolygon"; coordinates: CoordinatesJson[][][]; } interface PointGeometryJson extends GeometryJson { type: GeometryType.Point; coordinates: CoordinatesJson; } function isPointGeometryJson(node: NodeJson): node is PointGeometryJson; interface MultiPointGeometryJson extends GeometryJson { type: "MultiPoint"; coordinates: CoordinatesJson[]; } enum FeatureType { Feature = "Feature", FeatureCollection = "FeatureCollection" } enum GeometryType { Point = "Point" } type CoordinatesJson = Coordinates2DJson | Coordinates3DJson; type Coordinates2DJson = [lng: number, lat: number]; type Coordinates3DJson = [lng: number, lat: number, alt: number]; function isCoordinatesJson(point: number[]): point is CoordinatesJson; function isCoordinatesArrayJson(points: number[][]): points is CoordinatesJson[]; } export default GeoJSON; //# sourceMappingURL=GeoJSON.d.ts.map