import { Basic } from '../common/basic';
import { ResultType, CoordType, CoordZRefType } from '../common/data-type';
import { ICreateCADGeoRef } from '../common/interface/coordinate';
interface ITransformPointsByCoordZRef {
    points: Array<CoordType>;
    coordZRef?: CoordZRefType;
    coordZOffset?: number;
}
/**
 * @public
 * @class CoordinateController
 * @extends Basic
 */
declare class CoordinateController extends Basic {
    private apiClassName;
    private CoordinateValidate;
    /**
     * @constructor
     * @param {any} obj
     */
    constructor(obj: any);
    /**
     * @public
     * @async
     * @function CreateCADGeoRef
     * @param {ICreateCADGeoRef} opt
     * @returns {Promise<ResultType>}
     */
    CreateCADGeoRef(opt: ICreateCADGeoRef): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GISToCartesian
     * @param {Array<CoordType>} from
     * @returns {Promise<ResultType>}
     */
    GISToCartesian(from: Array<CoordType>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function CartesianToGIS
     * @param {Array<CoordType>} from
     * @returns {Promise<ResultType>}
     */
    CartesianToGIS(from: Array<CoordType>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function WorldPosToScreenPos
     * @param {CoordType} worldPos
     * @returns {Promise<ResultType>}
     */
    WorldPosToScreenPos(worldPos: CoordType): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GISToScreenPos
     * @param {Array<CoordType>} from
     * @returns {Promise<ResultType>}
     */
    GISToScreenPos(from: Array<CoordType>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function GlobalToLocalGeoRef
     * @param {Record<string, any>} local
     * @param {Array<CoordType>} from
     * @returns {Promise<ResultType>}
     */
    GlobalToLocalGeoRef(local: Record<string, any>, from: Array<CoordType>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function LocalToGlobalGeoRef
     * @param {Record<string, any>} local
     * @param {Array<CoordType>} from
     * @returns {Promise<ResultType>}
     */
    LocalToGlobalGeoRef(local: Record<string, any>, from: Array<CoordType>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function Exchange
     * @param {string} fromProjection
     * @param {string} toProjection
     * @param {Array<CoordType>} coordinates
     * @returns {Promise<ResultType>}
     */
    Exchange(fromProjection: string, toProjection: string, coordinates: Array<CoordType>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function TransformPointsByCoordZRef
     * @param {ITransformPointsByCoordZRef} opt
     * @returns {Promise<ResultType>}
     */
    TransformPointsByCoordZRef(opt: ITransformPointsByCoordZRef): Promise<ResultType>;
}
export default CoordinateController;
