import { PropType } from 'vue'; export type Direction = 0 | -1 | 1; export interface Column { key: string; name: string; class?: string; size?: string; direction?: Direction; sortable?: boolean; resizable?: boolean; fixed?: boolean; sort?: (a: number | string | boolean, b: number | string | boolean, direction: 'asc' | 'desc') => number; } type DataTableOptions = { columns: Column[]; id: string; serverSide?: boolean; rowsLimit?: number; page?: number; maxPage: number; rowsLimitOptions?: number[]; searchKeys?: string[]; resize: boolean; minColSize: number; ghostColumns?: boolean; defaultColSize?: string; selection?: boolean; search?: boolean; searchModel?: string; robustSearch?: boolean; stickyHeader?: boolean; stickyHeaderClass?: string; firstColumnSticky?: boolean; removeSeparators?: boolean; isVirtualised?: boolean; }; declare const _default: __VLS_WithTemplateSlots[]>; required: true; }; options: { type: PropType; required: true; }; loading: { type: BooleanConstructor; default: boolean; }; headerClass: { type: StringConstructor; default: () => string; }; horizontalScroll: { type: BooleanConstructor; default: boolean; }; }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { "update:page": (...args: any[]) => void; "update:rowsLimit": (...args: any[]) => void; "update:sort": (...args: any[]) => void; "update:search": (...args: any[]) => void; "update:selectedRows": (...args: any[]) => void; "update:resize": (...args: any[]) => void; clickRow: (...args: any[]) => void; clickCell: (...args: any[]) => void; onHoverRow: (...args: any[]) => void; onLeaveRow: (...args: any[]) => void; onMoveRow: (...args: any[]) => void; onEnterRow: (...args: any[]) => void; }, string, import("vue").PublicProps, Readonly[]>; required: true; }; options: { type: PropType; required: true; }; loading: { type: BooleanConstructor; default: boolean; }; headerClass: { type: StringConstructor; default: () => string; }; horizontalScroll: { type: BooleanConstructor; default: boolean; }; }>> & { "onUpdate:page"?: (...args: any[]) => any; "onUpdate:rowsLimit"?: (...args: any[]) => any; "onUpdate:sort"?: (...args: any[]) => any; "onUpdate:search"?: (...args: any[]) => any; "onUpdate:selectedRows"?: (...args: any[]) => any; "onUpdate:resize"?: (...args: any[]) => any; onClickRow?: (...args: any[]) => any; onClickCell?: (...args: any[]) => any; onOnHoverRow?: (...args: any[]) => any; onOnLeaveRow?: (...args: any[]) => any; onOnMoveRow?: (...args: any[]) => any; onOnEnterRow?: (...args: any[]) => any; }, { loading: boolean; headerClass: string; horizontalScroll: boolean; }, {}>, Partial any>> & Partial void; }) => any>> & Partial any>> & Partial void; }) => any>> & { filter?(_: {}): any; header?(_: {}): any; collapsed?(_: { data: any; style: { display: string; gridTemplateColumns: string; }; }): any; "header-row"?(_: { data: any; style: { gridTemplateColumns: string; }; }): any; footer?(_: { data: { size: string; }; }): any; }>; export default _default; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };