/** §8.6.5.6/§8.6.5.7 — what a CIE-based space states about itself. */ export interface CieSpace { /** `/WhitePoint` — the colour of the illuminant, in XYZ. */ readonly white: readonly [number, number, number]; /** `/Gamma` — one per component. */ readonly gamma: ReadonlyArray; /** §8.6.5.7 `/Matrix` — components to XYZ, column-major as the PDF states it. */ readonly matrix?: ReadonlyArray; } /** * One colour in a CIE-based space, as sRGB in 0..1. * * @param space The space's own parameters. * @param abc Its components: one for a grey space, three for an RGB one. * @returns The sRGB triple a viewer shows for it. */ export declare function cieToSrgb(space: CieSpace, abc: ReadonlyArray): [number, number, number]; /** * §8.6.5.8 — one colour in a `Lab` space, as sRGB in 0..1. * * Lab is the one CIE space a file states in absolute terms: `L*` from 0 to 100 * is lightness and `a*`/`b*` are the two opponent axes, and unlike `CalRGB` * (see the note above) there is no argument about the way out — every renderer * takes it through XYZ against the stated white and adapts to the screen's. * issue10339_reduced.pdf paints two grids of blue swatches through an `Indexed` * palette whose base is one, and read as anything else the page came back * blank. * * @param white The space's `/WhitePoint`, in XYZ. * @param lab `L*`, `a*`, `b*`. * @returns The sRGB triple a viewer shows for it. */ export declare function labToSrgb(white: readonly [number, number, number], lab: readonly [number, number, number]): [number, number, number];