import * as matrix from 'zrender/lib/core/matrix.js'; 
 | 
import BoundingRect from 'zrender/lib/core/BoundingRect.js'; 
 | 
import Transformable from 'zrender/lib/core/Transformable.js'; 
 | 
import { CoordinateSystemMaster, CoordinateSystem } from './CoordinateSystem.js'; 
 | 
import GlobalModel from '../model/Global.js'; 
 | 
import { ParsedModelFinder } from '../util/model.js'; 
 | 
import type ExtensionAPI from '../core/ExtensionAPI.js'; 
 | 
export declare type ViewCoordSysTransformInfoPart = Pick<Transformable, 'x' | 'y' | 'scaleX' | 'scaleY'>; 
 | 
declare class View extends Transformable implements CoordinateSystemMaster, CoordinateSystem { 
 | 
    readonly type: string; 
 | 
    static dimensions: string[]; 
 | 
    readonly dimensions: string[]; 
 | 
    readonly name: string; 
 | 
    zoomLimit: { 
 | 
        max?: number; 
 | 
        min?: number; 
 | 
    }; 
 | 
    /** 
 | 
     * Represents the transform brought by roam/zoom. 
 | 
     * If `View['_viewRect']` applies roam transform, 
 | 
     * we can get the final displayed rect. 
 | 
     */ 
 | 
    private _roamTransformable; 
 | 
    /** 
 | 
     * Represents the transform from `View['_rect']` to `View['_viewRect']`. 
 | 
     */ 
 | 
    protected _rawTransformable: Transformable; 
 | 
    private _rawTransform; 
 | 
    /** 
 | 
     * This is a user specified point on the source, which will be 
 | 
     * located to the center of the `View['_viewRect']`. 
 | 
     * The unit this the same as `View['_rect']`. 
 | 
     */ 
 | 
    private _center; 
 | 
    private _zoom; 
 | 
    /** 
 | 
     * The rect of the source, where the measure is used by "data" and "center". 
 | 
     * Has nothing to do with roam/zoom. 
 | 
     * The unit is defined by the source. For example, 
 | 
     * for geo source the unit is lat/lng, 
 | 
     * for SVG source the unit is the same as the width/height defined in SVG. 
 | 
     */ 
 | 
    private _rect; 
 | 
    /** 
 | 
     * The visible rect on the canvas. Has nothing to do with roam/zoom. 
 | 
     * The unit of `View['_viewRect']` is pixel of the canvas. 
 | 
     */ 
 | 
    private _viewRect; 
 | 
    constructor(name?: string); 
 | 
    setBoundingRect(x: number, y: number, width: number, height: number): BoundingRect; 
 | 
    /** 
 | 
     * @return {module:zrender/core/BoundingRect} 
 | 
     */ 
 | 
    getBoundingRect(): BoundingRect; 
 | 
    setViewRect(x: number, y: number, width: number, height: number): void; 
 | 
    /** 
 | 
     * Transformed to particular position and size 
 | 
     */ 
 | 
    protected _transformTo(x: number, y: number, width: number, height: number): void; 
 | 
    /** 
 | 
     * Set center of view 
 | 
     */ 
 | 
    setCenter(centerCoord: (number | string)[], api: ExtensionAPI): void; 
 | 
    setZoom(zoom: number): void; 
 | 
    /** 
 | 
     * Get default center without roam 
 | 
     */ 
 | 
    getDefaultCenter(): number[]; 
 | 
    getCenter(): number[]; 
 | 
    getZoom(): number; 
 | 
    getRoamTransform(): matrix.MatrixArray; 
 | 
    /** 
 | 
     * Remove roam 
 | 
     */ 
 | 
    private _updateCenterAndZoom; 
 | 
    /** 
 | 
     * Update transform props on `this` based on the current 
 | 
     * `this._roamTransformable` and `this._rawTransformable`. 
 | 
     */ 
 | 
    protected _updateTransform(): void; 
 | 
    getTransformInfo(): { 
 | 
        roam: ViewCoordSysTransformInfoPart; 
 | 
        raw: ViewCoordSysTransformInfoPart; 
 | 
    }; 
 | 
    getViewRect(): BoundingRect; 
 | 
    /** 
 | 
     * Get view rect after roam transform 
 | 
     */ 
 | 
    getViewRectAfterRoam(): BoundingRect; 
 | 
    /** 
 | 
     * Convert a single (lon, lat) data item to (x, y) point. 
 | 
     */ 
 | 
    dataToPoint(data: number[], noRoam?: boolean, out?: number[]): number[]; 
 | 
    /** 
 | 
     * Convert a (x, y) point to (lon, lat) data 
 | 
     */ 
 | 
    pointToData(point: number[]): number[]; 
 | 
    convertToPixel(ecModel: GlobalModel, finder: ParsedModelFinder, value: number[]): number[]; 
 | 
    convertFromPixel(ecModel: GlobalModel, finder: ParsedModelFinder, pixel: number[]): number[]; 
 | 
    /** 
 | 
     * @implements 
 | 
     */ 
 | 
    containPoint(point: number[]): boolean; 
 | 
} 
 | 
export default View; 
 |