import { Project, Unproject, TerraDrawCallbacks, TerraDrawChanges, TerraDrawMouseEvent, SetCursor, TerraDrawStylingFunction, GetLngLatFromEvent, TerraDrawAdapter, TerraDrawHandledEvents } from "../common"; import { AdapterListener } from "./adapter-listener"; type BasePointerListener = (event: PointerEvent) => void; type BaseKeyboardListener = (event: KeyboardEvent) => void; type BaseMouseListener = (event: MouseEvent) => void; export type BaseAdapterConfig = { ignoreMismatchedPointerEvents?: boolean; coordinatePrecision?: number; minPixelDragDistanceDrawing?: number; minPixelDragDistance?: number; minPixelDragDistanceSelecting?: number; }; export declare abstract class TerraDrawBaseAdapter implements TerraDrawAdapter { constructor(config: BaseAdapterConfig); private _nextKeyUpIsContextMenu; private _lastPointerDownEventTarget; protected _ignoreMismatchedPointerEvents: boolean; protected _minPixelDragDistance: number; protected _minPixelDragDistanceDrawing: number; protected _minPixelDragDistanceSelecting: number; protected _lastDrawEvent: TerraDrawMouseEvent | undefined; protected _coordinatePrecision: number; protected _heldKeys: Set; protected _listeners: AdapterListener[]; protected _dragState: "not-dragging" | "pre-dragging" | "dragging"; protected _currentModeCallbacks: TerraDrawCallbacks | undefined; abstract getMapEventElement(eventType?: TerraDrawHandledEvents): HTMLElement; protected getButton(event: PointerEvent | MouseEvent): "neither" | "left" | "middle" | "right"; protected getMapElementXYPosition(event: PointerEvent | MouseEvent): { containerX: number; containerY: number; }; protected getDrawEventFromEvent(event: PointerEvent | MouseEvent, isContextMenu?: boolean): TerraDrawMouseEvent | null; /** * Registers the provided callbacks for the current drawing mode and attaches * the necessary event listeners. * @param {TerraDrawCallbacks} callbacks - An object containing callback functions * for handling various drawing events in the current mode. */ register(callbacks: TerraDrawCallbacks): void; /** * Gets the coordinate precision. The coordinate precision is the number of decimal places in geometry * coordinates stored in the store. * @returns {number} The coordinate precision. */ getCoordinatePrecision(): number; protected getAdapterListeners(): AdapterListener[]; /** * Unregisters the event listeners for the current drawing mode. * This is typically called when switching between drawing modes or * stopping the drawing process. */ unregister(): void; abstract clear(): void; abstract project(...args: Parameters): ReturnType; abstract unproject(...args: Parameters): ReturnType; abstract setCursor(...args: Parameters): ReturnType; abstract getLngLatFromEvent(...event: Parameters): ReturnType; abstract setDraggability(enabled: boolean): void; abstract setDoubleClickToZoom(enabled: boolean): void; abstract render(changes: TerraDrawChanges, styling: TerraDrawStylingFunction): void; } export {};