import { EventDispatcher } from "three";
import { Context } from "../../context/context";
import { Graphic } from "../../elements";
import { BoxSelection } from "./box-selection";
interface SelectionEventMap {
    "select": {
        graphics: Graphic[];
        isMultipleSelect: boolean;
    };
}
export declare class Selection extends EventDispatcher<SelectionEventMap> {
    context: Context;
    _list: Set<Graphic>;
    boxSelection: BoxSelection;
    prevPanStatus?: boolean;
    prevRotateStatus?: boolean;
    downPoint: {
        x: number;
        y: number;
    } | null;
    downTime: number;
    isMultipleSelect: boolean;
    constructor(context: Context);
    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 {};
