import { NestableListBaseUniDriver } from '../NestableListBase/NestableListBase.uni.driver';

interface NestableItemDetails {
  dataHook: string;
  depthLevel: number;
}

export interface NestableListUniDriver extends NestableListBaseUniDriver {
  changeItemDepth: (itemDetails: NestableItemDetails) => Promise<void>;
  getActionsCount(dataHook?: string): Promise<number>;
  clickActionAt(pointer: {
    actionIndex: number;
    parentDataHook?: string;
  }): Promise<void>;
  hoverActionsContainer(parentDataHook?: string): Promise<void>;
  getActionLabelAt(pointer: {
    actionIndex: number;
    parentDataHook?: string;
  }): Promise<string>;
}
