import type { UniqueIdentifier } from "@dnd-kit/abstract"; import type { DragEndEvent } from "@dnd-kit/react"; import type { DisplayStyle3dState } from "@itwin/core-frontend"; /** * Shared map-layer drag model utilities. * * This module defines stable droppable IDs, sortable item IDs, target parsing, * and the final drop commit into the viewport display style. It intentionally * contains no React state or optimistic hover behavior. */ export declare const overlayMapLayersId = "overlayMapLayers"; export declare const backgroundMapLayersId = "backgroundMapLayers"; export type MapLayerDroppableId = typeof overlayMapLayersId | typeof backgroundMapLayersId; interface MapLayerDragStateItem { id: UniqueIdentifier; layerIndex: number; } type MapLayerDragState = Record; interface MapLayerDropTarget { id: UniqueIdentifier; group?: UniqueIdentifier; index?: number; } type MapLayerDisplayStyle = Pick; export declare function createMapLayerSortableId(droppableId: MapLayerDroppableId, layerName: string): string; export declare function getMapLayerDroppableId(id: UniqueIdentifier | undefined): MapLayerDroppableId | undefined; export declare function getMapLayerDropTargetId(target: MapLayerDropTarget | null | undefined): MapLayerDroppableId | undefined; export declare function commitMapLayerDrop(displayStyle: MapLayerDisplayStyle, mapLayers: MapLayerDragState, event: DragEndEvent): boolean; export {}; //# sourceMappingURL=MapLayerDragModel.d.ts.map