/**
 * StatDisplay Molecule
 *
 * A compact stat display: label + value + optional icon.
 * Molecule-level replacement for the stats (StatCard) organism in behavior schemas.
 * No entity prop, no data fetching, no hooks beyond icon resolution.
 */
import React from 'react';
export type StatDisplayLook = 'elevated' | 'flat' | 'progress-backed' | 'gauge' | 'sparkline';
export interface StatDisplayProps {
    /** Display label (e.g., "Total", "Remaining") */
    label: string;
    /** Primary value (number or formatted string) */
    value: number | string;
    /** Optional denominator. >0 renders "value / max"; 0 or omitted hides the divider. */
    max?: number;
    /** Optional progress target. >0 renders a progress bar at value/target. */
    target?: number;
    /** Signed delta vs previous period. >0 renders ↑ green, <0 renders ↓ red, 0 hides. Polarity reversal via `trendPolarity`. */
    trend?: number;
    /** Controls whether `trend > 0` is "good" (default) or "bad". `lower-is-better` inverts the color logic. */
    trendPolarity?: 'higher-is-better' | 'lower-is-better';
    /** When `'percent'`, renders trend with a `%` suffix (e.g. `↓ 3.3%`); default is `'absolute'`. */
    trendFormat?: 'absolute' | 'percent';
    /** Optional inline sparkline data appended to the trend row. Length < 2 renders nothing. */
    sparklineData?: readonly number[];
    /** Event name emitted as `UI:{clickEvent}` with `{ metricLabel }` when the card is clicked. */
    clickEvent?: string;
    /** Prefix prepended to the formatted value (e.g. "≈ "). */
    prefix?: string;
    /** Suffix appended to the formatted value (e.g. " /mo", " ms"). */
    suffix?: string;
    /** Lucide icon name or React node */
    icon?: React.ReactNode;
    /** Icon background color class */
    iconBg?: string;
    /** Icon color class */
    iconColor?: string;
    /** Display format: "number", "currency", "percent" */
    format?: string;
    /** Size variant */
    size?: 'sm' | 'md' | 'lg';
    /** Color variant */
    variant?: 'default' | 'primary' | 'success' | 'warning' | 'error' | 'info';
    /** Compact mode (inline, no card wrapper) */
    compact?: boolean;
    /** Layer 2 visual treatment. */
    look?: StatDisplayLook;
    /** Additional CSS classes */
    className?: string;
    /** Loading state */
    isLoading?: boolean;
    /** Error state */
    error?: Error | null;
}
export declare const StatDisplay: React.FC<StatDisplayProps>;
