import { BaseUniDriver } from 'wix-ui-test-utils/base-driver';

interface ReorderIds {
  removedId: number | string;
  addedId: number | string;
}

interface ReorderDataHooks{
  from: string;
  to: string;
}

interface DraggableItemDetails {
  dataHook: string
}

export interface NestableItemDetails extends DraggableItemDetails {
  depthLevel: number;
  threshold?: number;
}

export interface NestableListUniDriver extends BaseUniDriver {
  /**
   * @deprecated use reorderByDataHook
   */
  reorder: (ids: ReorderIds, offset?: { x: number; y: number }) => Promise<void>;
  reorderByDataHook: (dataHooks: ReorderDataHooks) => Promise<void>;
  changeItemDepth: (itemDetails: NestableItemDetails) => Promise<void>;
  getItemPosition: (itemDetails: DraggableItemDetails) => Promise<number>
  getItemDepth: (itemDetails: DraggableItemDetails) => Promise<number>
}
