/**
 * semiotic/utils — Shared utilities, ThemeProvider, and data helpers.
 *
 * Lightweight entry point for consumers that need the theme system,
 * format utilities, data transforms, or color constants without pulling
 * in any chart type bundles. Import from "semiotic/utils" instead of
 * "semiotic" to keep bundle size minimal.
 */
export { ThemeProvider, useTheme } from "./ThemeProvider";
export type { SemioticTheme } from "./store/ThemeStore";
export { LIGHT_THEME, DARK_THEME, HIGH_CONTRAST_THEME, COLOR_BLIND_SAFE_CATEGORICAL, } from "./store/ThemeStore";
export { themeToCSS, themeToTokens, resolveThemePreset, THEME_PRESETS, CARBON_CATEGORICAL_14, CARBON_ALERT, } from "./semiotic-themes";
export type { ThemePresetName } from "./semiotic-themes";
export { adaptiveTimeTicks, smartTickFormat } from "./charts/shared/formatUtils";
export { darkenColor, lightenColor } from "./charts/shared/colorManipulation";
export { createHatchPattern } from "./charts/shared/hatchPattern";
export type { HatchPatternOptions } from "./charts/shared/hatchPattern";
export { validateProps } from "./charts/shared/validateProps";
export { diagnoseConfig } from "./charts/shared/diagnoseConfig";
export { auditAccessibility, formatAccessibilityAudit, accessibilityCaveats } from "./charts/shared/auditAccessibility";
export { describeChart, resolveCommunicativeAct, communicativeActForIntent } from "./ai/describeChart";
export type { DescribeChartResult, DescribeChartOptions, DescribeLevel, CommunicativeAct, DescribeCapabilityContext } from "./ai/describeChart";
export { buildNavigationTree, flattenVisible, countNodes } from "./ai/navigationTree";
export type { NavTreeNode, NavTreeRole, BuildNavigationTreeOptions } from "./ai/navigationTree";
export { buildReaderGrounding } from "./ai/readerGrounding";
export type { ChartReaderGrounding, ChartReaderGroundingOptions, ChartReaderGroundingIntent } from "./ai/readerGrounding";
export type { A11yPrinciple, A11yStatus, A11yFinding, AccessibilityAuditResult, AuditAccessibilityOptions } from "./charts/shared/auditAccessibility";
export { getHitRadius } from "./stream/hitTestUtils";
export { toConfig, fromConfig, toURL, fromURL, copyConfig, configToJSX } from "./export/chartConfig";
export type { ChartConfig, ToConfigOptions, CopyFormat } from "./export/chartConfig";
export { serializeSelections, deserializeSelections } from "./export/selectionSerializer";
export type { SerializedSelections, SerializedSelection, SerializedFieldSelection } from "./export/selectionSerializer";
export { exportChart } from "./export/exportChart";
export { fromVegaLite } from "./data/fromVegaLite";
export type { VegaLiteSpec, VegaLiteEncoding } from "./data/fromVegaLite";
export { RingBuffer } from "./realtime/RingBuffer";
export { IncrementalExtent } from "./realtime/IncrementalExtent";
export { normalizeTooltip, MultiPointTooltip } from "./Tooltip/Tooltip";
export { useReducedMotion, useHighContrast } from "./stream/useMediaPreferences";
export { sweepToAngles, valueToAngle, computeArcBoundingBox, } from "./charts/shared/radialGeometry";
export type { SweepAngles, ArcBoundingBox } from "./charts/shared/radialGeometry";
export { useStreamStatus } from "./charts/shared/useStreamStatus";
export type { StreamStatus, StreamStatusOptions, StreamStatusResult, } from "./charts/shared/useStreamStatus";
