import type { Color } from '@linkurious/ogma'; import { IEdgeStyle, LkEdgeData, OgmaEdgeShape } from '@linkurious/rest-client'; import { StyleRule } from './styleRule'; import { ItemAttributes } from './itemAttributes'; export declare enum EdgeWidthExtrema { MIN = 50, MAX = 200 } export declare class EdgeAttributes extends ItemAttributes { constructor(rulesMap: { color?: Array>; shape?: Array>; width?: Array>; }); /** * Return rule that can be applied to the data */ private static matchStyle; /** * Generate color for a given edge (call only if _rulesMap.color exists) */ color(data: LkEdgeData): Color; /** * Generate shape for a given node */ shape(data: LkEdgeData): OgmaEdgeShape | undefined; /** * Generate size for a given node */ width(data: LkEdgeData): string | number | undefined; /** * return the corresponding width to the value * @param value * @param rule * @param isLog */ static getAutomaticRangeWidth(value: number, rule: StyleRule, isLog?: boolean): string | undefined; /** * Return an object containing all node attributes needed by Ogma to style a node */ all(data: LkEdgeData): { color: Color; shape: OgmaEdgeShape | undefined; width: string | undefined | number; }; }