import type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults'

export interface SpanMethodProps<T extends Record<string, any>> {
  row: T
  column: TableColumnCtx<T>
  rowIndex: number
  columnIndex: number
}

export interface TableSettings {
  mergeRowOrColumn?: 'row'|'column',
  arraySpanMethod?: <T>({ row, column, rowIndex, columnIndex }:SpanMethodProps<T>) => number[] | undefined,
  objectSpanMethod?: <T>({ row, column, rowIndex, columnIndex }:SpanMethodProps<T>) => {
    rowspan: number;
    colspan: number;
  } | undefined
}