import { BaseProps, SizeType } from "../_utils/props.js"; import React from "react"; //#region src/statistic/types.d.ts type StatisticValue = number | string | null | undefined; type StatisticFormatType = 'number' | 'decimal' | 'percent' | 'currency' | 'compact' | 'duration' | 'custom'; type StatisticAlign = 'start' | 'center' | 'end'; type StatisticEmphasis = 'normal' | 'strong'; type StatisticStatusType = 'default' | 'success' | 'warning' | 'danger' | 'info'; type StatisticTrendDirection = 'up' | 'down' | 'flat'; type StatisticTrendSentiment = 'positive' | 'negative' | 'neutral'; type StatisticDurationUnit = 'ms' | 's'; interface StatisticRenderInfo { rawValue: StatisticValue; formattedValue: string; locale: string; isEmpty: boolean; isNumeric: boolean; parts?: Intl.NumberFormatPart[]; } interface StatisticFormatOptions { type?: StatisticFormatType; locale?: string; currency?: string; minimumFractionDigits?: number; maximumFractionDigits?: number; useGrouping?: boolean; notation?: 'standard' | 'compact'; compactDisplay?: 'short' | 'long'; unit?: Intl.NumberFormatOptions['unit']; unitDisplay?: 'short' | 'long' | 'narrow'; signDisplay?: 'auto' | 'always' | 'never' | 'exceptZero'; durationUnit?: StatisticDurationUnit; } interface StatisticTrend { direction?: StatisticTrendDirection; value?: React.ReactNode; label?: React.ReactNode; sentiment?: StatisticTrendSentiment; icon?: React.ReactNode; } interface StatisticStatus { type?: StatisticStatusType; text?: React.ReactNode; } interface StatisticProps extends BaseProps, Omit, 'title' | 'prefix'> { title?: React.ReactNode; description?: React.ReactNode; tooltip?: React.ReactNode; value?: StatisticValue; format?: StatisticFormatOptions; prefix?: React.ReactNode; suffix?: React.ReactNode; formatter?: (value: StatisticValue, info: StatisticRenderInfo) => React.ReactNode; trend?: StatisticTrend; status?: StatisticStatus; extra?: React.ReactNode; footer?: React.ReactNode; loading?: boolean; skeleton?: React.ReactNode; empty?: React.ReactNode; error?: React.ReactNode; size?: SizeType; emphasis?: StatisticEmphasis; align?: StatisticAlign; monospace?: boolean; valueClassName?: string; titleClassName?: string; trendClassName?: string; valueStyle?: React.CSSProperties; titleStyle?: React.CSSProperties; trendStyle?: React.CSSProperties; 'aria-label'?: string; } //#endregion export { StatisticAlign, StatisticDurationUnit, StatisticEmphasis, StatisticFormatOptions, StatisticFormatType, StatisticProps, StatisticRenderInfo, StatisticStatus, StatisticStatusType, StatisticTrend, StatisticTrendDirection, StatisticTrendSentiment, StatisticValue }; //# sourceMappingURL=types.d.ts.map