import type { TableColumnProps } from '../wd-table-col/types'
declare const _default: __VLS_WithTemplateSlots<
  import('vue').DefineComponent<
    {
      data: {
        type: {
          (arrayLength: number): Record<string, any>[]
          (...items: Record<string, any>[]): Record<string, any>[]
          new (arrayLength: number): Record<string, any>[]
          new (...items: Record<string, any>[]): Record<string, any>[]
          isArray(arg: any): arg is any[]
          readonly prototype: any[]
          from<T>(arrayLike: ArrayLike<T>): T[]
          from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]
          from<T>(iterable: Iterable<T> | ArrayLike<T>): T[]
          from<T, U>(
            iterable: Iterable<T> | ArrayLike<T>,
            mapfn: (v: T, k: number) => U,
            thisArg?: any,
          ): U[]
          of<T>(...items: T[]): T[]
          fromAsync<T>(
            iterableOrArrayLike:
              | AsyncIterable<T>
              | Iterable<T | PromiseLike<T>>
              | ArrayLike<T | PromiseLike<T>>,
          ): Promise<T[]>
          fromAsync<T, U>(
            iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>,
            mapFn: (value: Awaited<T>) => U,
            thisArg?: any,
          ): Promise<Awaited<U>[]>
          readonly [Symbol.species]: ArrayConstructor
        }
        required: true
      }
      border: {
        type: BooleanConstructor
        default: boolean
      }
      stripe: {
        type: BooleanConstructor
        default: boolean
      }
      height: {
        type: import('vue').PropType<string>
        default: string
      }
      rowHeight: {
        type: NumberConstructor
        default: number
      }
      showHeader: {
        type: BooleanConstructor
        default: boolean
      }
      ellipsis: {
        type: BooleanConstructor
        default: boolean
      }
      index: {
        type: import('vue').PropType<boolean | Omit<Partial<TableColumnProps>, 'prop'>>
        default: boolean
      }
      customStyle: {
        type: import('vue').PropType<string>
        default: string
      }
      customClass: {
        type: import('vue').PropType<string>
        default: string
      }
    },
    {},
    unknown,
    {},
    {},
    import('vue').ComponentOptionsMixin,
    import('vue').ComponentOptionsMixin,
    {
      'sort-method': (...args: any[]) => void
      'row-click': (...args: any[]) => void
    },
    string,
    import('vue').PublicProps,
    Readonly<
      import('vue').ExtractPropTypes<{
        data: {
          type: {
            (arrayLength: number): Record<string, any>[]
            (...items: Record<string, any>[]): Record<string, any>[]
            new (arrayLength: number): Record<string, any>[]
            new (...items: Record<string, any>[]): Record<string, any>[]
            isArray(arg: any): arg is any[]
            readonly prototype: any[]
            from<T>(arrayLike: ArrayLike<T>): T[]
            from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]
            from<T>(iterable: Iterable<T> | ArrayLike<T>): T[]
            from<T, U>(
              iterable: Iterable<T> | ArrayLike<T>,
              mapfn: (v: T, k: number) => U,
              thisArg?: any,
            ): U[]
            of<T>(...items: T[]): T[]
            fromAsync<T>(
              iterableOrArrayLike:
                | AsyncIterable<T>
                | Iterable<T | PromiseLike<T>>
                | ArrayLike<T | PromiseLike<T>>,
            ): Promise<T[]>
            fromAsync<T, U>(
              iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>,
              mapFn: (value: Awaited<T>) => U,
              thisArg?: any,
            ): Promise<Awaited<U>[]>
            readonly [Symbol.species]: ArrayConstructor
          }
          required: true
        }
        border: {
          type: BooleanConstructor
          default: boolean
        }
        stripe: {
          type: BooleanConstructor
          default: boolean
        }
        height: {
          type: import('vue').PropType<string>
          default: string
        }
        rowHeight: {
          type: NumberConstructor
          default: number
        }
        showHeader: {
          type: BooleanConstructor
          default: boolean
        }
        ellipsis: {
          type: BooleanConstructor
          default: boolean
        }
        index: {
          type: import('vue').PropType<boolean | Omit<Partial<TableColumnProps>, 'prop'>>
          default: boolean
        }
        customStyle: {
          type: import('vue').PropType<string>
          default: string
        }
        customClass: {
          type: import('vue').PropType<string>
          default: string
        }
      }>
    > & {
      'onSort-method'?: ((...args: any[]) => any) | undefined
      'onRow-click'?: ((...args: any[]) => any) | undefined
    },
    {
      customStyle: string
      customClass: string
      index: boolean | Omit<Partial<TableColumnProps>, 'prop'>
      border: boolean
      ellipsis: boolean
      height: string
      stripe: boolean
      rowHeight: number
      showHeader: boolean
    },
    {}
  >,
  {
    default?(_: {}): any
  }
>
export default _default
type __VLS_WithTemplateSlots<T, S> = T & {
  new (): {
    $slots: S
  }
}
