import { type VNode } from "vue"; /** * Décoration sémantique d'une cellule (DataTable) ou d'une carte (KpiCard). * * API « conditional formatting » façon Power-BI : l'entrée est *pure data* * (zéro couleur). Le DS résout l'`intent` en token feedback (mêmes que * Badge/Status/Alert) appliqué en fond teinté accessible (WCAG via color-mix), * et rend une icône lucide optionnelle. * * Le MOTEUR DE RÈGLES (seuils, comparaisons…) vit dans dataviz-core, hors DS : * il produit ces décorations, le DS ne fait que les rendre. */ export type CellDecorationIntent = "positive" | "negative" | "warning" | "info" | "neutral"; export interface CellDecoration { /** Intention sémantique → token feedback + fond teinté accessible. */ intent: CellDecorationIntent; /** Nom d'icône lucide (kebab-case, ex. « trending-up »). Ignoré si inconnu. */ icon?: string; } /** * Texte lisible par lecteur d'écran décrivant l'intention. Le fond teinté n'est * jamais la SEULE indication : ce libellé (et le `title`) accompagne la cellule. */ export declare const cellDecorationLabel: Record; /** Classe utilitaire token-only résolue depuis l'intention. */ export declare function cellDecorationClass(intent: CellDecorationIntent): string; /** * Données de tracé lucide (mêmes paths que @lucide/svelte / lucide-react) pour * un sous-ensemble d'icônes pertinentes en conditional formatting. Reproduites * en SVG inline afin de garder une parité stricte 3 frameworks sans coupler le * rendu à la résolution dynamique (différente entre lucide-react/-svelte/-vue). */ type IconNode = Array<[string, Record]>; export declare const cellDecorationIconNodes: Record; /** True si l'icône est connue du registre (sinon le rendu l'ignore proprement). */ export declare function hasCellDecorationIcon(icon: string | undefined): boolean; /** Rend l'icône lucide en SVG inline, ou `null` si le nom est inconnu. */ export declare function renderCellDecorationIcon(icon: string | undefined): VNode | null; export {}; //# sourceMappingURL=cellDecoration.d.ts.map