import { VNodeChild } from 'vue'; import { DeepRequired, GenericObject, NestedPaths } from '../_shared/types/utils'; export interface GridItem>> { label?: string | ((data: T) => VNodeChild); key: Key; render?: (params: { value: any; data: T; store: Record; }) => VNodeChild; condition?: (params: { value: any; data: T; store: Record; }) => boolean; ellipsis?: boolean; fieldColSize?: string | number; fieldRowSize?: string; fitWidth?: boolean; } export type VirtualStoreItem = { value: unknown | (() => unknown | Promise); }; export type DataGridSchema = { virtualStore?: Record; gridColSize?: string | number; gridRowSize?: string | number; fields: GridItem[]; }; export interface DataGridProps { virtualStore?: Record; gridColSize?: string | number; gridRowSize?: string | number; data: T | null | undefined; fields: GridItem[]; }