import { JSONSchemaObject } from '../../api/json-schema-types'; /** * Size preset for big value cards */ export type BigValueSize = 'sm' | 'md' | 'lg'; /** * Comparison format type * - 'pct': Percentage change (e.g., +5.2%) * - 'ppt': Percentage point difference (e.g., +5.0 ppt) */ export type ComparisonFormat = 'pct' | 'ppt'; /** * Settings for the Big Value plugin */ export interface BigValueSettings extends Record { /** Size preset for the cards */ size: BigValueSize; /** Threshold below which delta values are considered neutral (default: 0.05) */ neutralThreshold: number; } /** * Comparison information extracted from field tags * Used when a field has # big_value { comparison_field=... } */ export interface BigValueComparisonInfo { /** The field name of the primary metric this comparison refers to */ comparisonField: string; /** Optional label shown next to the delta (e.g., 'vs Prior Year') */ comparisonLabel?: string; /** Format for the comparison: 'pct' for percentage change, 'ppt' for percentage points */ comparisonFormat: ComparisonFormat; /** If true, a decrease is shown as positive (green) instead of negative */ downIsGood: boolean; } /** * Default settings for the Big Value plugin */ export declare const defaultBigValueSettings: BigValueSettings; /** * JSON Schema for Big Value settings */ export declare const bigValueSettingsSchema: JSONSchemaObject; /** * Type for the settings schema */ export type IBigValueSettingsSchema = typeof bigValueSettingsSchema; /** * Per-field tag data resolved at setup time. * * All tag reads for a field happen during plugin create(), before * the component mounts. This ensures tag validation and unread-tag * detection work without a browser/DOM. See the TagResolver pattern * in CONTEXT.md for the design rationale. */ export interface BigValueFieldConfig { /** Display label (from # label or snake_case conversion of field name) */ label: string; /** Description text (from # description) */ description: string | null; /** Comparison info (from # big_value { comparison_field=... }) */ comparison: BigValueComparisonInfo | null; /** Sparkline nest reference (from # big_value { sparkline=... }) */ sparklineRef: string | null; } /** * Tag data resolved at setup time for the entire big_value nest. * Keyed by child field name. */ export interface BigValueTagConfig { /** Per-field resolved tag data */ fieldConfigs: Map; /** Field names of child nests that are sparkline charts */ sparklineNestNames: Set; }