interface LocationItem {
    code: string;
    name?: string;
}
interface ProvinceLocationItem extends LocationItem {
    cities: object;
}
interface CityLocationItem extends LocationItem {
    districts: object;
}
interface Address {
    province: LocationItem;
    city: LocationItem;
    district: LocationItem;
}
declare class ChinaLocation {
    locationData: object;
    currentProvinces: Array<LocationItem>;
    currentCities: Array<LocationItem>;
    currentDistricts: Array<LocationItem>;
    activeProvince: string;
    activeCity: string;
    activeDistrict: string;
    constructor(locationData: any);
    getProvinces(): Array<LocationItem>;
    getCities(currentProvince: LocationItem): Array<LocationItem>;
    getDistricts(currentCity: LocationItem, currentProvince: LocationItem): Array<LocationItem>;
    getProvinceByCode(code: string): ProvinceLocationItem;
    getCityByCode(cityCode: string, provinceCode: string): CityLocationItem;
    getDistrictByCode(districtCode: string, cityCode: string, provinceCode: string): string;
    getCity(code: string, cities: object): CityLocationItem;
    getDistrict(code: string, districts: object): string;
    changeLocation(provinceCode: string, cityCode?: string, districtCode?: string): this;
    changeProvince(provinceCode: string, cityCode?: string, districtCode?: string): void;
    changeCity(cityCode: string, districtCode?: string): void;
    changeDistrict(districtCode: string): void;
    getCurrentAddress(): Address;
    getCurrentProvinces(): Array<LocationItem>;
    getCurrentCities(): Array<LocationItem>;
    getCurrentDistricts(): Array<LocationItem>;
}
export default ChinaLocation;
