import { type Rgb } from "./color.js";
import type { ScreenIr } from "./irTypes.js";
import type { StructuralTestItem } from "./screenIrTestBaseline.js";
/** WCAG relative luminance of an sRGB colour: 0 for black, 1 for white. */
export declare const relativeLuminance: (rgb: Rgb) => number;
/** WCAG contrast ratio (L_lighter + 0.05) / (L_darker + 0.05); symmetric, 1..21. */
export declare const contrastRatio: (a: Rgb, b: Rgb) => number;
/** Whether a ratio meets the WCAG AA threshold (3.0 for large text, else the stricter 4.5). */
export declare const meetsContrastAa: (ratio: number, isLargeText: boolean) => boolean;
/**
 * Derive the deterministic a11y test items per screen, keyed by the screen they are attributed to.
 * Reuses #754's StructuralTestItem shape so the items compose additively through
 * `deriveScreenTestBaseline(screen, extraItems)`, ALONGSIDE #811's navigation items. Model-free and
 * reproducible: the same IR yields a byte-identical map.
 */
export declare function deriveA11yTestItemsByScreen(screens: readonly ScreenIr[]): ReadonlyMap<string, readonly StructuralTestItem[]>;
//# sourceMappingURL=a11yBaseline.d.ts.map