import { DataTableDriver } from './DataTable/DataTable.uni.driver';
import { CheckboxUniDriver } from '../Checkbox/Checkbox.uni.driver';
import { UniDriver } from 'wix-ui-test-utils/unidriver';
import { UniDriverFactory } from 'wix-ui-test-utils/uni-driver-factory';

export interface TableUniDriver extends DataTableDriver {
  getRowCheckboxDriver: (index: number) => Promise<CheckboxUniDriver>;
  getBulkSelectionCheckboxDriver: () => Promise<CheckboxUniDriver>;
  isBulkSelectionDisabled: () => Promise<boolean>;
  isRowSelectionDisabled: (index: number) => Promise<boolean>;
  clickRowCheckbox: (index: number) => Promise<void>;
  clickBulkSelectionCheckbox: () => Promise<void>;
  isRowSelected: (index: number) => Promise<boolean>;
  getBulkSelectionState: () => Promise<'ALL' | 'SOME' | 'NONE'>;
  getTitlebar: () => Promise<UniDriver | null>;
  getCellTextValue: (row?: number, column?: number) => Promise<string>;
  isSelectionTooltipEnabled: (index: number) => Promise<boolean>;
  getSelectionTooltipContent: (index: number) => Promise<string>;
}

declare const tableUniDriverFactory: UniDriverFactory<TableUniDriver>;
