import { ObjectAbstract } from '../../common/object-abstract';
import { GeoReferenceAtomType, GeoReferenceType, IGenerate } from '../../common/interface/geo';
import { ObjectCore } from '../../common/object-core';
/**
 * @public
 * @class GeoReference
 * @description  全局坐标系
 * @extends ObjectCore
 * @implements ObjectAbstract
 */
declare class GeoReference extends ObjectCore implements ObjectAbstract {
    className: string;
    private GeoReferenceAtom;
    /**
     * @constructor
     * @param {GeoReferenceType} opt (optional)
     */
    constructor(opt?: GeoReferenceType);
    /**
     * @public
     * @function GetScheme
     * @returns {{GeoReferenceAtom: GeoReferenceAtomType}}
     */
    GetScheme(): {
        GeoReferenceAtom: GeoReferenceAtomType;
    };
    /**
     * @public
     * @function GetData
     * @returns {GeoReferenceType}
     */
    GetData(): GeoReferenceType;
    /**
     * @public
     * @function SetData
     * @param {GeoReferenceType} opt
     * @returns {void}
     */
    SetData(opt: GeoReferenceType): void;
    /**
     * @public
     * @function generateAtomData
     * @param {GeoReferenceType} opt
     * @returns {IGenerate}
     */
    generateAtomData(opt: GeoReferenceType): IGenerate;
    /**
     * @public
     * @function generateObjectData
     * @param {Record<string, any>} atomData
     * @param {Record<string, any>} atomObj (default value is this)
     * @returns {void}
     */
    generateObjectData(atomData: Record<string, any>, atomObj?: Record<string, any>): void;
    /**
     * @public
     * @function GetValidateRules
     * @returns {GeoReferenceType}
     */
    GetValidateRules(): GeoReferenceType;
    /**
     * @public
     * @function Validate
     * @param {GeoReferenceType} opt
     * @returns {void}
     */
    Validate(opt: GeoReferenceType): void;
}
export default GeoReference;
