export interface RenderTableProps {
  size?: 'large' | 'small' | 'default'
  loading?: boolean
  rowKey?: string
  isRowSort?: boolean
  columns: RenderColumnProps[]
  data: Record<string, any>[]
  mergeTableCols?: string[]
  showSummary?: boolean
  summaryProps?: string[]
  pagerConfig: Paginations
}
export interface RenderColumnProps {
  type?: 'selection' | 'index' | 'expand' | 'sort'
  label?: string
  width?: string | number
  align?: 'left' | 'right' | 'center'
  fixed?: 'left' | 'right' | 'center'
  [key: string]: any
}
export interface Paginations {
  current?: number
  pageSize?: number
  total?: number
}
declare const _default: __VLS_WithTemplateSlots<
  import('vue').DefineComponent<
    RenderTableProps,
    {},
    {},
    {},
    {},
    import('vue').ComponentOptionsMixin,
    import('vue').ComponentOptionsMixin,
    {
      'update:columns': (...args: any[]) => void
      'update:data': (...args: any[]) => void
      'update:pagerConfig': (...args: any[]) => void
      selectionChange: (...args: any[]) => void
      pageChange: (...args: any[]) => void
      rowDragChange: (...args: any[]) => void
    },
    string,
    import('vue').PublicProps,
    Readonly<RenderTableProps> &
      Readonly<{
        'onUpdate:columns'?: ((...args: any[]) => any) | undefined
        'onUpdate:data'?: ((...args: any[]) => any) | undefined
        'onUpdate:pagerConfig'?: ((...args: any[]) => any) | undefined
        onSelectionChange?: ((...args: any[]) => any) | undefined
        onPageChange?: ((...args: any[]) => any) | undefined
        onRowDragChange?: ((...args: any[]) => any) | undefined
      }>,
    {
      loading: boolean
      rowKey: string
    },
    {},
    {},
    {},
    string,
    import('vue').ComponentProvideOptions,
    false,
    {
      renderTableRef: unknown
    },
    HTMLDivElement
  >,
  Partial<Record<`header-${any}`, (_: { column: any; index: any }) => any>> &
    Partial<Record<any, (_: { row: any; index: any; column: any }) => any>> & {
      expand?(_: { row: any; index: any }): any
    }
>
export default _default
type __VLS_WithTemplateSlots<T, S> = T & {
  new (): {
    $slots: S
  }
}
