import { SingleValueGridProps } from '../SingleValueGrid.js'; import { SingleValueGridSparklineProps } from '../slots/Sparkline.js'; import { SingleValueGridTrendProps } from '../slots/Trend.js'; import { SingleValueGridValueProps } from '../slots/Value.js'; /** Omits all the props ending with 'Accessor' suffix */ type OmitAccessors = { [K in keyof T as K extends `${string}Accessor` ? never : K]: T[K]; }; /** @internal */ export type SingleValueGridRequiredProps = OmitAccessors, 'color' | 'data' | 'thresholds'>>; /** @internal */ export type SingleValueGridSparklineRequiredProps = OmitAccessors, 'color'>>; /** @internal */ export type SingleValueGridTrendRequiredProps = OmitAccessors, 'colorsOverride' | 'formatter'>>>; /** @internal */ export interface SingleValueGridAccessorsConfig { colorAccessor?: string; labelAccessor?: string; prefixIconAccessor?: string; sparkline?: { dataAccessor?: string; colorAccessor?: string; }; value?: { dataAccessor?: string; formatterAccessor?: string; unitAccessor?: string; }; trend?: { directionAccessor?: string; valueAccessor?: string; labelAccessor?: string; formatterAccessor?: string; inverseTrendAccessor?: string; }; } /** @internal */ export type SingleValueGridSparklineConfig = OmitAccessors>; /** @internal */ export type SingleValueGridValueConfig = OmitAccessors>; /** @internal */ export type SingleValueGridTrendConfig = OmitAccessors>; /** @internal */ export interface SingleValueGridConfig extends OmitAccessors> { sparkline?: SingleValueGridSparklineConfig; value?: SingleValueGridValueConfig; trend?: SingleValueGridTrendConfig; } /** @internal */ export interface PartialSingleValueGridConfig extends Partial>> { sparkline?: Partial; value?: Partial; trend?: Partial; } export {};