export interface PlaceData {
    id: string;
    title: string;
    address: string;
    category: string;
    location: LatLng;
    ad_info: {
        adcode: number;
        province: string;
        city: string;
        district: string;
    };
    _distance: number;
}
export interface LatLng {
    /**
     * 纬度值
     */
    lat: number;
    /**
     * 经度值
     */
    lng: number;
}
/**
 * https://lbs.qq.com/webApi/javascriptGL/glDoc/glDocMarker#6
 */
export interface PointGeometry {
    /**
     * 点图形数据的标志信息，不可重复，若id重复后面的id会被重新分配一个新id，若没有会随机生成一个
     */
    id?: string;
    /**
     * 对应MultiMarkerStyleHash中的样式id
     */
    styleId?: string;
    /**
     * 标注点位置
     */
    position: LatLng;
    /**
     * 标注点的图层内绘制顺序
     */
    rank?: number;
    /**
     * 标注点的属性数据
     */
    properties?: Record<string, any>;
}
/**
 * https://lbs.qq.com/webApi/javascriptGL/glDoc/glDocMarker#1
 */
export interface MakerLayer {
    /**
     * 更新标注点数据，如果参数为null或undefined不会做任何处理
     */
    setGeometries: (geometries: PointGeometry[]) => void;
    /**
     * 向图层中添加标注点，如果geometry的id已经存在集合中，则该geometry不会被重复添加，如果geometry没有id或者id不存在于集合中会被添加到集合，没有id的geometry会被赋予一个唯一id；如果要添加到集合中的标注存在重复id，这些标注点会被重新分配id；如果参数为null或undefined不会做任何处理。
     * */
    add: (geometries: PointGeometry | PointGeometry[]) => void;
    getGeometries: () => PointGeometry[];
    updateGeometries: (geometries: PointGeometry[]) => void;
    remove: (ids: string[]) => void;
}
export interface CircleGeometry {
    id: string;
    styleId: string;
    center: LatLng;
    radius: number;
    properties?: Record<string, any>;
}
export interface CircleType {
    /**
     * 更新多圆数据，如果geometry的id存在于集合中，会更新对id的数据，如果之前不存在于集合中，会作为新的圆添加到集合中；如果参数为null或undefined不会做任何处理
     */
    updateGeometries: (geometry: CircleGeometry[]) => void;
}
export interface UrlOptions {
    center?: number[];
    radius?: number;
    keyWords?: string;
    pageNo?: number;
    pageSize?: number;
    key: string;
    filter?: string;
}
