export type Type_LegendItem = { id: string; text: string; bold?: boolean; swatch_color?: string; tag_group_id?: string; tag_id?: string; starts_group?: boolean; own_line?: boolean; block_id?: string; scale_bar?: boolean; }; export declare const SCALE_BAR_HEIGHT_PX = 50; export type Type_LegendEnv = { data_type_label?: string; has_interval_values?: boolean; t_free_value?: string; t_dashed_links?: string; t_scale?: string; }; type Type_TagForLegend = { id: string; name: string; display_name: string; color: string; resolved_unit?: { unit: { name: string; label: string; }; }; }; type Type_TagGroupForLegend = { id: string; name: string; use_colors: boolean; selected_tags_list: Type_TagForLegend[]; }; export type Type_SankeyForLegend = { node_taggs_list: Type_TagGroupForLegend[]; flux_taggs_list: Type_TagGroupForLegend[]; data_taggs_list: (Type_TagGroupForLegend & { is_unit?: boolean; })[]; visible_nodes_list: { hasGivenTag(t: Type_TagForLegend): boolean; }[]; visible_links_list: { hasGivenTag(t: Type_TagForLegend): boolean; valueCurrent?: number | null | undefined; }[]; }; export type Type_LegendConfigValues = { masked: boolean; managed: boolean; police: number; bg_border: boolean; bg_color: string; bg_opacity: number; horizontal: boolean; width: number; display_scale: boolean; scale_unit: string; scale_ratio: number; show_dataTags: boolean; show_constraints: boolean; show_data_type: boolean; info_link_value_void: boolean; entry_template: string; }; /** * OS#1314 — texte d'une entrée de tag : le nom long du tag (historique), ou le * gabarit d'entrée interpolé s'il est renseigné (« {Name} [{Unit}] », gabarit * d'entrée d'e!Sankey). Un jeton inconnu reste tel quel (cf. applyTemplate). */ export declare function legendEntryText(tag: Type_TagForLegend, tag_group: Type_TagGroupForLegend, entry_template: string): string; /** * Contenu de la légende : la même logique de filtrage que l'ancienne * drawTagDisplayed() — groupes avec use_colors, tags sélectionnés portés par au * moins un élément visible (ou data tags, toujours montrés). */ export declare function computeLegendItems(sankey: Type_SankeyForLegend, config: Type_LegendConfigValues, env?: Type_LegendEnv, scale_text?: string): Type_LegendItem[]; /** * Texte de l'échelle (reprend la logique de l'ancien drawSankeyScale, sans la * barre draggable) : échelle du dessin / 2, éventuellement remplacée par celle * du porteur effectif, divisée par le ratio utilisateur. * * sa#283 — porteur généralisé (même règle que ScaleResolution, sans contexte de * valeur) : du DERNIER groupe de dataTags au premier, un groupe d'unité porte par * son premier tag sélectionné (comportement historique de cette légende), un * groupe ordinaire par son UNIQUE tag sélectionné à échelle propre (`own_scale`). * `data_taggs` doit être donné dans l'ordre de `taggs_order`. Fichier legacy * (échelles d'unité seules) : résultat strictement identique. */ export declare function computeScaleText(drawing_area_scale: number, data_taggs: { is_unit?: boolean; selected_tags_list: { name: string; scale?: number; is_selected?: boolean; own_scale?: number; }[]; }[], config: Type_LegendConfigValues, t_scale: string): string; export type Type_LegendItemPosition = { id: string; x: number; y: number; }; /** * Positions relatives (px monde, origine = coin haut-gauche du contenu) des * zones générées. Vertical par défaut ; en horizontal les entrées d'un même * groupe se suivent sur une ligne, chaque groupe repart à la ligne. */ export declare function layoutLegendItems(items: Type_LegendItem[], config: Type_LegendConfigValues): Type_LegendItemPosition[]; export {};