/** Reset the dedup set — intended for use between tests. */ export declare function resetContrastWarnings(): void; /** * DEV-only WCAG AA guardrail for caller-supplied hex pairs. * * - No-op when `import.meta.env.DEV` is false. * - No-op when either half of the pair is missing (the "fg missing → * inherits DS token" case is a docs concern; the DS token isn't a * hex at runtime so we can't check it here). * - No-op when either hex can't be parsed (silent — not the helper's * concern to police malformed input). * - Deduplicated by `(bgHex, fgHex, contextLabel)` tuple so moving a * ratio-bad event around the calendar doesn't spam the console. * * @param bgHex - Caller-supplied background hex (e.g. `'#c2185b'`) * @param fgHex - Caller-supplied foreground hex (e.g. `'#ffffff'`) * @param contextLabel - Short description for the warning (e.g. `'event e1'`). */ export declare function warnLowContrast(bgHex: string | undefined, fgHex: string | undefined, contextLabel: string): void; export type EventInk = 'on-light' | 'on-dark'; /** * Pick the ink for an arbitrary opaque bg hex. Returns `null` when the * input can't be parsed (`#rgb` / `#rrggbb` only). * * The threshold 0.1791 is the relative luminance at which * `contrast(bg, #fff) === contrast(bg, #000)`; the better of the two * always yields ≥ 4.58:1 (the minimum, at a mid-grey ≈ `#757575`) — * provably WCAG AA-safe for any opaque background. */ export declare function resolveInk(bgHex: string): EventInk | null; /** * DEV-only, one-shot warning for a caller `backgroundColor` the kit can't * parse (`rgb(…)`, keywords, malformed hex). The browser can still paint * it, but the text falls back to the token default and contrast can't be * verified. Deduplicated by `(bgHex, contextLabel)`. */ export declare function warnUnparseableBackground(bgHex: string, contextLabel: string): void; /** * DEV-only, one-shot warning for a near-white `backgroundColor` * (relative luminance > 0.9) supplied without a `borderColor` — the * event may be invisible against the calendar grid. The kit warns, it * does not repaint (delineation is decorative under WCAG 1.4.11 and the * consumer owns the picker colour). Deduplicated by `(bgHex, contextLabel)`. */ export declare function warnLowDelineation(bgHex: string, contextLabel: string): void; //# sourceMappingURL=contrast-warning.d.ts.map