import type { NumericArray } from "@thi.ng/api" ; import type { IRandom } from "@thi.ng/random" ; import type { Color , ColorFactory , ReadonlyColor , TypedColor } from "../api.js" ; import { defColor } from "../defcolor.js" ; import { hsvHsl } from "../hsv/hsv-hsl.js" ; import { lchLab } from "../lab/lab-lch.js" ; import { labRgb } from "../lab/lab-rgb.js" ; import { rgbHsl } from "../rgb/rgb-hsl.js" ; import { rgbSrgb } from "../rgb/rgb-srgb.js" ; import { hslRgb } from "./hsl-rgb.js" ; export declare class HSL implements TypedColor < HSL > { buf : NumericArray ; offset : number ; stride : number ; h : number ; s : number ; l : number ; alpha : number ; [ id ] : number ; readonly mode : "hsl" ; readonly length : 4 ; readonly range : [ ReadonlyColor , ReadonlyColor ] ; [ Symbol . iterator ] ( ) ; clamp ( ) ; copy ( ) ; copyView ( ) ; deref ( ) ; empty ( ) ; eqDelta ( o , eps ? ) ; randomize ( rnd ? ) ; set ( src ) ; toJSON ( ) ; } export const hsl = < ColorFactory < HSL > > defColor ( { mode : "hsl" , channels : { h : { hue : true } } , order : < const > [ "h" , "s" , "l" , "alpha" ] , from : { rgb : rgbHsl , srgb : rgbHsl , hsv : hsvHsl , lch : [ lchLab , labRgb , rgbSrgb , rgbHsl ] , } , toRgb : hslRgb , } ) ;