export type Rgb = readonly [number, number, number]; export interface Ink { /** Dark substrate: the ink is mirrored so near marks read bright. */ dark: boolean; /** Gradient stops, left → right. Empty = upstream's grey ink. */ ramp: readonly Rgb[]; /** CSS-px frame width the ramp is laid across. */ size: number; } export declare function monoInk(dark: boolean): Ink; /** * Fill or stroke style for one mark. `white` is upstream's ink value * (0 = darkest ink on paper); `x` is the mark's projected CSS-px position. */ export declare function inkStyle(ink: Ink, white: number, x: number, alpha: number): string; /** * Resolve a CSS colour to sRGB by painting one pixel — the canvas accepts * hex, rgb(), hsl(), names and the CSS Color 4 spaces alike. Returns null * for anything the canvas rejects (including `var(...)`). */ export declare function parseColor(css: string): Rgb | null; /** Gradient ink from CSS stops; falls back to grey when none of them parse. */ export declare function gradientInk(dark: boolean, size: number, stops: readonly string[]): Ink;