import { ParsedTokenValue, RgbColor } from './color-math';
/**
 * Resolved paired surface — RGB color + alpha, used as the counterpart in contrast checks.
 * Structurally identical to the `ContextSurface` exported from `token-checks.ts`.
 */
declare type ContextSurface = {
  rgb: RgbColor;
  a: number;
};
/** WCAG 2.1 AA minimum contrast ratio for normal-size text. */
export declare const WCAG_AA_NORMAL_TEXT: number;
/** WCAG 2.1 AA minimum contrast ratio for UI components and large text. */
export declare const WCAG_AA_NON_TEXT_CONTRAST: number;
/** Rendered foreground/background pair for a single check. */
export declare type FgBgPair = {
  fg: RgbColor;
  bg: RgbColor;
};
/**
 * Abstract strategy for computing the rendered fg/bg pair from a token and its paired surface.
 * Each subclass implements the compositing logic specific to its WCAG check category.
 */
export declare abstract class ContrastCheckStrategy {
  /** WCAG AA required contrast ratio for this check category. */
  abstract readonly requiredRatio: number;
  /**
   * Compute the effective foreground and background colors for contrast measurement.
   *
   * @param {ParsedTokenValue} token - Parsed token value (rgb + alpha).
   * @param {ContextSurface} paired - The paired surface resolved from the catalogue.
   * @param {ContextSurface | undefined} compositedOn - Optional override composite surface.
   * @returns {FgBgPair} Rendered foreground and background.
   */
  abstract computeFgBg(token: ParsedTokenValue, paired: ContextSurface, compositedOn?: ContextSurface): FgBgPair;
}
/** Strategy registry — maps check type to its strategy instance. */
export declare const STRATEGY_MAP: Record<string, ContrastCheckStrategy>;
export {};
