import type { Datum } from "./components/charts/shared/datumTypes";
/**
 * semiotic/themes — Named theme presets for Semiotic charts.
 *
 * Each theme provides light and dark mode variants as full SemioticTheme objects.
 * Use with ThemeProvider: `<ThemeProvider theme={TUFTE_LIGHT} />` or by name:
 * `<ThemeProvider theme="tufte" />` / `<ThemeProvider theme="tufte-dark" />`.
 *
 * Also exports `themeToCSS()` and `themeToTokens()` for serialization.
 */
import type { SemioticTheme } from "./components/store/ThemeStore";
import { LIGHT_THEME, DARK_THEME, HIGH_CONTRAST_THEME, COLOR_BLIND_SAFE_CATEGORICAL } from "./components/store/ThemeStore";
export { LIGHT_THEME, DARK_THEME, HIGH_CONTRAST_THEME, COLOR_BLIND_SAFE_CATEGORICAL };
export type { SemioticTheme };
export declare const PASTELS_LIGHT: SemioticTheme;
export declare const PASTELS_DARK: SemioticTheme;
export declare const BI_TOOL_LIGHT: SemioticTheme;
export declare const BI_TOOL_DARK: SemioticTheme;
export declare const ITALIAN_LIGHT: SemioticTheme;
export declare const ITALIAN_DARK: SemioticTheme;
export declare const TUFTE_LIGHT: SemioticTheme;
export declare const TUFTE_DARK: SemioticTheme;
export declare const JOURNALIST_LIGHT: SemioticTheme;
export declare const JOURNALIST_DARK: SemioticTheme;
export declare const PLAYFUL_LIGHT: SemioticTheme;
export declare const PLAYFUL_DARK: SemioticTheme;
/**
 * IBM Carbon Design System categorical palette (14 colors).
 * Full palette for data-dense visualizations; themes use the first 4.
 */
export declare const CARBON_CATEGORICAL_14: string[];
/**
 * IBM Carbon alert palette — danger, warning, success, info.
 */
export declare const CARBON_ALERT: {
    readonly danger: "#da1e28";
    readonly warning: "#f1c21b";
    readonly success: "#24a148";
    readonly info: "#0043ce";
};
export declare const CARBON_LIGHT: SemioticTheme;
export declare const CARBON_DARK: SemioticTheme;
/** All named theme presets, keyed by slug. */
export declare const THEME_PRESETS: Record<string, SemioticTheme>;
/** All valid named theme strings for ThemeProvider. */
export type ThemePresetName = keyof typeof THEME_PRESETS;
/**
 * Resolve a theme preset name to a SemioticTheme object.
 * Returns undefined if the name is not recognized.
 */
export declare function resolveThemePreset(name: string): SemioticTheme | undefined;
/**
 * Convert a SemioticTheme to a CSS custom properties string.
 * Useful for SSR or generating stylesheet content.
 *
 * @param theme - A SemioticTheme object
 * @param selector - CSS selector to scope the variables (default: `:root`)
 * @returns CSS string with custom properties
 *
 * @example
 * ```ts
 * const css = themeToCSS(TUFTE_LIGHT, ".my-charts")
 * // .my-charts {
 * //   --semiotic-bg: #fffff8;
 * //   --semiotic-text: #111111;
 * //   ...
 * // }
 * ```
 */
export declare function themeToCSS(theme: SemioticTheme, selector?: string): string;
/**
 * Convert a SemioticTheme to a design tokens JSON object.
 * Compatible with Style Dictionary / Design Token Community Group format.
 *
 * @example
 * ```ts
 * const tokens = themeToTokens(TUFTE_LIGHT)
 * // { semiotic: { bg: { $value: "#fffff8", $type: "color" }, ... } }
 * ```
 */
export declare function themeToTokens(theme: SemioticTheme): Datum;
