| import BoundingRect from 'zrender/lib/core/BoundingRect.js'; | 
| import { GeoJSON, GeoProjection } from './geoTypes.js'; | 
| import type Element from 'zrender/lib/Element.js'; | 
| import type { RegionOption } from './GeoModel.js'; | 
| export declare abstract class Region { | 
|     readonly name: string; | 
|     readonly type: 'geoJSON' | 'geoSVG'; | 
|     protected _center: number[]; | 
|     protected _rect: BoundingRect; | 
|     constructor(name: string); | 
|     setCenter(center: number[]): void; | 
|     /** | 
|      * Get center point in data unit. That is, | 
|      * for GeoJSONRegion, the unit is lat/lng, | 
|      * for GeoSVGRegion, the unit is SVG local coord. | 
|      */ | 
|     getCenter(): number[]; | 
|     abstract calcCenter(): number[]; | 
| } | 
| export declare class GeoJSONPolygonGeometry { | 
|     readonly type = "polygon"; | 
|     exterior: number[][]; | 
|     interiors?: number[][][]; | 
|     constructor(exterior: number[][], interiors: number[][][]); | 
| } | 
| export declare class GeoJSONLineStringGeometry { | 
|     readonly type = "linestring"; | 
|     points: number[][][]; | 
|     constructor(points: number[][][]); | 
| } | 
| export declare class GeoJSONRegion extends Region { | 
|     readonly type = "geoJSON"; | 
|     readonly geometries: (GeoJSONPolygonGeometry | GeoJSONLineStringGeometry)[]; | 
|     properties: GeoJSON['features'][0]['properties'] & { | 
|         echartsStyle?: Omit<RegionOption, 'name'>; | 
|     }; | 
|     constructor(name: string, geometries: GeoJSONRegion['geometries'], cp: GeoJSON['features'][0]['properties']['cp']); | 
|     calcCenter(): number[]; | 
|     getBoundingRect(projection?: GeoProjection): BoundingRect; | 
|     contain(coord: number[]): boolean; | 
|     /** | 
|      * Transform the raw coords to target bounding. | 
|      * @param x | 
|      * @param y | 
|      * @param width | 
|      * @param height | 
|      */ | 
|     transformTo(x: number, y: number, width: number, height: number): void; | 
|     cloneShallow(name: string): GeoJSONRegion; | 
| } | 
| export declare class GeoSVGRegion extends Region { | 
|     readonly type = "geoSVG"; | 
|     private _elOnlyForCalculate; | 
|     constructor(name: string, elOnlyForCalculate: Element); | 
|     calcCenter(): number[]; | 
| } |