export declare const SHADE_LABELS: readonly [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
export type ShadeLabel = (typeof SHADE_LABELS)[number];
export type PaletteRecord = Record<ShadeLabel, string>;
export interface HSL {
    h: number;
    s: number;
    l: number;
}
export declare const LOCKED_S = 73;
export declare const LOCKED_L = 59;
export type Preset = {
    name: string;
    steps: string[];
};
export declare function hexToHSL(hex: string): HSL;
export declare function hslToHex({ h, s, l }: HSL): string;
/** Generate an 11-step palette (50→950) from a hue angle. S and L for step 500 are locked. */
export declare function generatePaletteFromHue(hue: number): string[];
/** Generate an 11-step palette (50→950) from an arbitrary hex500 anchor color. */
export declare function generatePaletteFromHex500(hex500: string): string[];
export declare const PRESETS: Preset[];
/**
 * Returns the accessible text color to use over a given background.
 * Uses W3C relative luminance. Returns '#000000' when the background is light
 * enough to cause the standard white text to fail WCAG AA (4.5:1).
 */
export declare function getContrastTextColor(backgroundHex: string): '#FFFFFF' | '#000000';
