/**
 * Color utilities shared across canvas renderers.
 *
 * Kept here (not in layouts/hierarchyUtils or a deeper shared module) so
 * renderers don't reach into unrelated layers for primitive helpers.
 */
/**
 * Resolve any valid CSS color string to an [r, g, b] tuple.
 *
 * Uses the canvas's own fillStyle round-trip to normalize first: assigning a
 * CSS color to `ctx.fillStyle` and reading it back always yields `#rrggbb`
 * or `rgba(r, g, b, a)`. That means named colors (`red`, `steelblue`), hsl(),
 * and any other valid CSS form work the same as hex and rgb. Without the
 * normalization pass a bare regex parser silently falls back on anything it
 * doesn't match — gradients from named colors would render gray.
 *
 * The prior fillStyle is restored so this is callable from the middle of a
 * draw without disturbing in-progress paint state.
 */
export declare function parseCanvasColor(ctx: CanvasRenderingContext2D, color: string): [number, number, number];
