import { SvgDragSelectElement } from './selector'; export { SvgDragSelectElement } from './selector'; export declare type PointerEventLike = PointerEvent | Partial & MouseEvent | Partial & Touch & TouchEvent; export interface SvgDragSelectionStart { readonly svg: SVGSVGElement; readonly referenceElement: SVGElement | null; readonly pointerEvent: PointerEventLike; cancel(): void; } export interface SvgDragSelectSelectorContext { readonly svg: SVGSVGElement; readonly referenceElement: SVGElement | null; readonly pointerEvent: PointerEventLike; readonly dragAreaInClientCoordinate: SVGRect; readonly dragAreaInSvgCoordinate: SVGRect; readonly dragAreaInInitialSvgCoordinate: SVGRect; getEnclosures(): SvgDragSelectElement[]; getIntersections(): SvgDragSelectElement[]; } export interface SvgDragSelectSelector { (context: SvgDragSelectSelectorContext): ReadonlyArray; } export interface SvgDragSelectionEnd { readonly svg: SVGSVGElement; readonly referenceElement: SVGElement | null; readonly pointerEvent: PointerEventLike; readonly dragAreaInClientCoordinate: SVGRect; readonly dragAreaInSvgCoordinate: SVGRect; readonly dragAreaInInitialSvgCoordinate: SVGRect; readonly selectedElements: ReadonlyArray; } export interface SvgDragSelectionChange extends SvgDragSelectionEnd { readonly previousSelectedElements: ReadonlyArray; readonly newlySelectedElements: ReadonlyArray; readonly newlyDeselectedElements: ReadonlyArray; } export interface SvgDragSelectOptions { readonly svg: SVGSVGElement; readonly referenceElement?: SVGElement; readonly onSelectionStart?: (event: SvgDragSelectionStart) => any; readonly onSelectionChange?: (event: SvgDragSelectionChange) => any; readonly onSelectionEnd?: (event: SvgDragSelectionEnd) => any; readonly selector?: 'intersection' | 'enclosure' | SvgDragSelectSelector; } declare const _default: (options: SvgDragSelectOptions) => { cancel: () => void; dragAreaOverlay: HTMLDivElement; }; export default _default;