import type { AgWidgetField } from '../../api/agField'; import type { AgStudioCommon } from '../../api/agStudioCommon'; import type { _AgDragSource, _AgDraggingEvent, _AgDropTarget } from 'ag-grid-enterprise'; export type DragAnchor = 'nw' | 'n' | 'ne' | 'e' | 'se' | 's' | 'sw' | 'w'; export declare enum StudioDragSourceType { VIZ = 0, FIELD = 1, STANDALONE_WIDGET = 2, FILTER = 3 } type StudioDragType = 'viz' | 'field' | 'widget-data-field' | 'standalone-widget' | 'filter'; interface BaseStudioDragItem { type: TStudioDragType; } interface VizDrag extends BaseStudioDragItem<'viz'> { widgetType: string; } interface FieldDrag extends BaseStudioDragItem<'field'> { field: AgWidgetField; parentId?: string; index?: number; } interface StandaloneWidgetDrag extends BaseStudioDragItem<'standalone-widget'> { standaloneWidgetId: string; widgetType: string; } interface FilterDrag extends BaseStudioDragItem<'filter'> { id: string; } export type StudioDragItem = VizDrag | FieldDrag | StandaloneWidgetDrag | FilterDrag; export type StudioDragAndDropIcon = 'dragDropAdd' | 'dragDropReplace' | 'dragDropReorder' | 'dragDropNotAllowed'; export interface StudioDragSource extends _AgDragSource { preview?: boolean; } export interface StudioDropTarget extends _AgDropTarget { } export interface StudioDraggingEvent extends _AgDraggingEvent, AgStudioCommon { } export {};