vuestic-ui
Version:
Vue 3 UI Framework
9 lines (8 loc) • 810 B
TypeScript
import { StringWithAutocomplete } from '../../utils/types/prop-type';
import { DataTableColumnSource } from './types';
export declare const defineVaDataTableColumns: <Key extends string, Columns extends DataTableColumnSource<Key>>(columns: Columns[]) => Columns[];
type ExtractRowsFromColumns<T extends DataTableColumnSource[]> = T extends DataTableColumnSource<infer K>[] ? Record<StringWithAutocomplete<K>, any>[] : never;
export declare const defineVaDataTableItems: <C extends DataTableColumnSource[]>(items: ExtractRowsFromColumns<C>) => ExtractRowsFromColumns<C>;
export type DataTableItems<C extends DataTableColumnSource[]> = ExtractRowsFromColumns<C>;
export type DataTableColumns<Item extends Record<string, any>> = DataTableColumnSource<Item extends Record<infer K, any> ? K : string>[];
export {};