import { Graphic, Poi, Poi2 } from "../../elements";
import { BMap } from "../../bmap";
import { Plugin } from "../base";
import { BoxSelection } from "./box-selection";
export interface BMapSelectOptions {
    boxSelection: boolean;
    elements: ("graphic" | "poi")[];
}
interface SelectionEventMap {
    "select": {
        graphics: Graphic[];
        pois: (Poi | Poi2)[];
        isMultipleSelect: boolean;
    };
}
export declare class BMapSelect extends Plugin<SelectionEventMap> {
    options: BMapSelectOptions;
    _list: Set<Graphic>;
    _poiList: Set<Poi | Poi2>;
    boxSelection: BoxSelection;
    prevPanStatus?: boolean;
    prevRotateStatus?: boolean;
    downPoint: {
        x: number;
        y: number;
    } | null;
    isMultipleSelect: boolean;
    constructor(bmap: BMap, options?: Partial<BMapSelectOptions>);
    get list(): Set<Graphic>;
    enableBoxSelection(): void;
    disableBoxSelection(): void;
    onPointerDown: (e: PointerEvent) => void;
    onPointerUp: (e: PointerEvent) => void;
    onPointerOut: (e: PointerEvent) => void;
    onKeyDown: (e: KeyboardEvent) => void;
    onKeyUp: (e: KeyboardEvent) => void;
    onBoxSelected: ({ list }: {
        list: Graphic[];
    }) => void;
    selectEnd(): void;
    registryEvent(): void;
    unRegistryEvent(): void;
    clear(): void;
    remove(graphic: Graphic): void;
    dispose(): void;
}
export {};
