import { Item, FieldType } from '../../helpers';
interface Props {
    data: Item[];
    idKey?: string;
    itemDomSelector?: (item: Item) => string;
    fields: FieldType[];
    hasHeader?: boolean;
    sticky?: boolean;
    hover?: boolean;
    highlighted?: string | string[];
    disabled?: Array<string | number>;
    headerPosition?: number;
    paddingX?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
    dragDrop?: boolean;
    selection?: Item[];
    lazy?: boolean;
    sortDir?: 'asc' | 'desc';
    sortBy?: string;
}
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Partial<Record<string, (_: {}) => any>> & Partial<Record<string, (_: {}) => any>> & Partial<Record<string, (_: {
        item: Item;
    }) => any>> & {
        footer?(_: {}): any;
    };
    refs: {};
    rootEl: HTMLTableElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    highlight: (args: [Item, MouseEvent]) => any;
    rowMounted: (item: Item, element: HTMLElement) => any;
    contextmenuClicked: (element: HTMLElement, event: MouseEvent, item: Item) => any;
    itemDropped: (selector: string, event: DragEvent) => any;
    itemDragged: (item: Item, event: DragEvent) => any;
    sort: (sort: {
        sortBy: string;
        sortDir: "asc" | "desc";
    }) => any;
    itemVisible: (item: Item) => any;
    theadClicked: (event: MouseEvent) => any;
    dropRowStyling: (selector: string, leaving: boolean, event: DragEvent) => any;
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
    onHighlight?: (args: [Item, MouseEvent]) => any;
    onRowMounted?: (item: Item, element: HTMLElement) => any;
    onContextmenuClicked?: (element: HTMLElement, event: MouseEvent, item: Item) => any;
    onItemDropped?: (selector: string, event: DragEvent) => any;
    onItemDragged?: (item: Item, event: DragEvent) => any;
    onSort?: (sort: {
        sortBy: string;
        sortDir: "asc" | "desc";
    }) => any;
    onItemVisible?: (item: Item) => any;
    onTheadClicked?: (event: MouseEvent) => any;
    onDropRowStyling?: (selector: string, leaving: boolean, event: DragEvent) => any;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLTableElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
