import { Options, RegionBaseStyle } from '../../lib/interface'; import { BufferGeometry, Group, LineBasicMaterial, LineLoop, Mesh, MeshLambertMaterial, MeshPhongMaterial, MeshBasicMaterial } from "three"; import { Feature, Position } from "geojson"; import ChartScene from '../../lib/chartScene'; export default class MapShape { private readonly _config; wallPoints: Record; currentStyle: RegionBaseStyle; features: Feature[]; geometryArr: BufferGeometry[]; _options: Options; constructor(chartScene: ChartScene); create(): Group[]; create2d(countryCoordinates: Position[][][]): { lineArr: LineLoop, import("three").Material | import("three").Material[]>[]; }; create3d(countryCoordinates: Position[][][]): { lineArr: LineLoop, import("three").Material | import("three").Material[]>[]; }; createShapeGeometry(usefulIndexArr: number[], points: number[]): BufferGeometry; createLineMesh(points: number[]): LineLoop, LineBasicMaterial>; mergeGeometry(): Mesh, MeshPhongMaterial | MeshBasicMaterial | MeshLambertMaterial>; createMaterial(): MeshPhongMaterial | MeshBasicMaterial | MeshLambertMaterial; gridPoint(polygon: Position[]): { linePoints3d: number[]; allPoints3d: number[]; linePoints2d: number[]; usefulIndexArr: number[]; allPoints2d: number[]; }; minMax(arr: number[]): number[]; compareNum(num1: number, num2: number): 0 | 1 | -1; pointInPolygon(point: number[], polygon: Position[]): boolean; trianglePlan(polygonPointsArr: Position[], polygon: Position[]): number[]; getCurrentStyle(name: string): void; }