import { Basic } from '../common/basic';
import { CoordType, ResultType } from '../common/data-type';
import PointController from './geometry/point-controller';
import Point2DController from './geometry/point2d-controller';
import PolylineController from './geometry/polyline-controller';
import Polyline2DController from './geometry/polyline2d-controller';
import PolygonController from './geometry/polygon-controller';
import Polygon2DController from './geometry/polygon2d-controller';
/**
 * @public
 * @class GeometryController
 * @extends Basic
 */
declare class GeometryController extends Basic {
    private apiClassName;
    private GeometryValidate;
    private RequestEntity;
    Point: PointController;
    Point2D: Point2DController;
    Polyline: PolylineController;
    Polyline2D: Polyline2DController;
    Polygon: PolygonController;
    Polygon2D: Polygon2DController;
    /**
     * @constructor
     * @param {any} obj
     */
    constructor(obj: any);
    /**
     * @public
     * @async
     * @function StartShowCoord
     * @param {Array<CoordType>} coordinates
     * @param {string} coordZRef
     * @returns {Promise<ResultType>}
     */
    StartShowCoord(coordinates: Array<CoordType>, coordZRef: string): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function EndShowCoord
     * @returns {Promise<ResultType>}
     */
    EndShowCoord(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function EnableDraw
     * @returns {Promise<ResultType>}
     */
    EnableDraw(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function DisableDraw
     * @returns {Promise<ResultType>}
     */
    DisableDraw(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function ClearByTypes
     * @param {Array<string>} types
     * @returns {Promise<ResultType>}
     */
    ClearByTypes(types: Array<string>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function Clear
     * @returns {Promise<ResultType>}
     */
    Clear(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function ClearCache
     * @returns {Promise<ResultType>}
     */
    ClearCache(): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function CreateGeometryFromGeoJson
     * @param {string} url
     * @returns {Promise<ResultType>}
     */
    CreateGeometryFromGeoJson(url: string): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function CreateGeometryFromShapefile
     * @param {string} url
     * @returns {Promise<ResultType>}
     */
    CreateGeometryFromShapefile(url: string): Promise<ResultType>;
}
export default GeometryController;
