import * as graphic from '../../util/graphic.js'; 
 | 
import ExtensionAPI from '../../core/ExtensionAPI.js'; 
 | 
import GeoModel from '../../coord/geo/GeoModel.js'; 
 | 
import MapSeries from '../../chart/map/MapSeries.js'; 
 | 
import GlobalModel from '../../model/Global.js'; 
 | 
import { Payload } from '../../util/types.js'; 
 | 
import GeoView from '../geo/GeoView.js'; 
 | 
import MapView from '../../chart/map/MapView.js'; 
 | 
import Element from 'zrender/lib/Element.js'; 
 | 
declare class MapDraw { 
 | 
    private uid; 
 | 
    private _controller; 
 | 
    private _controllerHost; 
 | 
    readonly group: graphic.Group; 
 | 
    /** 
 | 
     * This flag is used to make sure that only one among 
 | 
     * `pan`, `zoom`, `click` can occurs, otherwise 'selected' 
 | 
     * action may be triggered when `pan`, which is unexpected. 
 | 
     */ 
 | 
    private _mouseDownFlag; 
 | 
    private _regionsGroup; 
 | 
    private _regionsGroupByName; 
 | 
    private _svgMapName; 
 | 
    private _svgGroup; 
 | 
    private _svgGraphicRecord; 
 | 
    private _svgDispatcherMap; 
 | 
    constructor(api: ExtensionAPI); 
 | 
    draw(mapOrGeoModel: GeoModel | MapSeries, ecModel: GlobalModel, api: ExtensionAPI, fromView: MapView | GeoView, payload: Payload): void; 
 | 
    private _buildGeoJSON; 
 | 
    private _buildSVG; 
 | 
    private _enableBlurEntireSVG; 
 | 
    remove(): void; 
 | 
    findHighDownDispatchers(name: string, geoModel: GeoModel): Element[]; 
 | 
    private _svgResourceChanged; 
 | 
    private _useSVG; 
 | 
    private _freeSVG; 
 | 
    private _updateController; 
 | 
    /** 
 | 
     * FIXME: this is a temporarily workaround. 
 | 
     * When `geoRoam` the elements need to be reset in `MapView['render']`, because the props like 
 | 
     * `ignore` might have been modified by `LabelManager`, and `LabelManager#addLabelsOfSeries` 
 | 
     * will subsequently cache `defaultAttr` like `ignore`. If do not do this reset, the modified 
 | 
     * props will have no chance to be restored. 
 | 
     * Note: this reset should be after `clearStates` in `renderSeries` becuase `useStates` in 
 | 
     * `renderSeries` will cache the modified `ignore` to `el._normalState`. 
 | 
     * TODO: 
 | 
     * Use clone/immutable in `LabelManager`? 
 | 
     */ 
 | 
    resetForLabelLayout(): void; 
 | 
    private _updateMapSelectHandler; 
 | 
} 
 | 
export default MapDraw; 
 |