import Mapbox, { Camera } from '@rnmapbox/maps';
import { BBox, FilterExpression, MapViewInterface, Position } from '../types';
import { LocationManager } from './LocationManager';
export declare class Map implements MapViewInterface {
    private map?;
    private camera?;
    private emitter;
    private locManager;
    get locationManager(): LocationManager;
    constructor(map: Mapbox.MapView | null);
    getCenter(): Promise<Position>;
    getPointInView(location: Position): Promise<Position>;
    getCoordinateFromView(location: Position): Promise<any>;
    getVisibleBounds(): Promise<[Position, Position] | undefined>;
    off(event: any, listener: any): void;
    on(event: any, listener: any): void;
    emit(event: any, ...args: any[]): void;
    getZoom(): Promise<number>;
    setMap(map: Mapbox.MapView): void;
    setCamera(rnCamera: Camera): void;
    setCenter(location: Position): void;
    setSourceVisibility(visible: boolean, sourceId: string, sourceLayerId: string | null): void;
    zoomTo(step: number, duration?: number): Promise<void>;
    flyTo(center: Position, duration?: number): Promise<void>;
    /**
     * 按来源查询feature集合
     *
     * @param sourceId
     * @param filter FilterExpression
     * @param layerIDs 图层ID
     * @returns Promise<GeoJSON.FeatureCollection>
     */
    querySourceFeatures(sourceId: string, filter?: FilterExpression | [], layerIDs?: string[]): Promise<GeoJSON.FeatureCollection>;
    /**
     * 按bbox查询可视区域feature集合
     *
     * @param bbox 查询范围，像素坐标范围
     * @param filter FilterExpression
     * @param layerIDs 图层ID
     * @returns Promise<GeoJSON.FeatureCollection>
     */
    queryRenderFeatures(bbox: BBox, filter?: FilterExpression | [], layerIDs?: string[]): Promise<GeoJSON.FeatureCollection>;
    updateStyle(style: string | Object): void;
}
//# sourceMappingURL=Map.d.ts.map