/**
 * @ignore
 */
export interface Column {
    filter?: boolean | ((values: unknown[], onChange: (value: string | number) => void) => VNode);
    key: string;
    label?: string;
    sorter?: boolean;
    _style?: CSSProperties;
    _props?: Record<string, unknown>;
}
import { CSSProperties, VNode } from 'vue';
export interface ColumnFilter {
    lazy?: boolean;
    external?: boolean;
}
export interface ColumnFilterValue {
    [key: string]: string | number | ((value: unknown) => boolean);
}
export type FooterItem = {
    label?: string;
    _props?: Record<string, unknown>;
};
export type Item = {
    [key: string]: unknown;
    _cellProps?: Record<string, Record<string, unknown> | undefined>;
    _props: object;
    _selected: boolean;
};
export interface ItemsPerPageSelect {
    external?: boolean;
    label?: string;
    values?: Array<number>;
}
export interface Pagination {
    external?: boolean;
}
export interface Sorter {
    resetable?: boolean;
    external?: boolean;
}
export interface ScopedColumns {
    details?: (a: Item, b: number) => VNode;
}
export interface SorterValue {
    column?: string;
    state?: number | string;
}
export interface TableFilter {
    external?: boolean;
    lazy?: boolean;
    label?: string;
    placeholder?: string;
}
export interface NoItemsView {
    noResults?: string;
    noItems?: string;
}
