import { Basic } from '../common/basic';
import { ResultType } from '../common/data-type';
interface IperipheralProvincesInfo {
    provinceCode: string;
    markSize: number;
    markColor: string;
    lineWidth: number;
    lineColor: string;
    curvature: number;
}
interface ICreateMigration {
    migrationId: string;
    type: number;
    hubProvinceCode: string;
    bGathered: boolean;
    peripheralProvincesInfo: Array<IperipheralProvincesInfo>;
}
/**
 * @public
 * @class ChinaMapController
 * @extends Basic
 */
declare class ChinaMapController extends Basic {
    private apiClassName;
    private ChinaMapValidate;
    /**
     * @constructor
     * @param {Record<string, any>} obj
     */
    constructor(obj: Record<string, any>);
    /**
     * @public
     * @async
     * @function Switch
     * @param {{bChinaMap: boolean}} opt
     * @returns {Promise<ResultType>}
     */
    Switch(opt: {
        bChinaMap: boolean;
    }): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function HighlightProvince
     * @param {{provinceCode: string; bHighlight: boolean; color?: string;}} opt
     * @returns {Promise<ResultType>}
     */
    HighlightProvince(opt: {
        provinceCode: string;
        bHighlight: boolean;
        color?: string;
    }): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetProvinceNameVisibility
     * @param {{provinceCode: string; bVisible: boolean;}} opt
     * @returns {Promise<ResultType>}
     */
    SetProvinceNameVisibility(opt: {
        provinceCode: string;
        bVisible: boolean;
        color: string;
    }): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function CreateMigration
     * @param {ICreateMigration} opt
     * @returns {Promise<ResultType>}
     */
    CreateMigration(opt: ICreateMigration): Promise<ResultType>;
}
export default ChinaMapController;
