import type { Transparency, DomTier } from '../../contracts/material.js'; import type { MotionPreference } from '../../contracts/motion.js'; import type { Contrast, Density, Scheme } from '../../contracts/preferences.js'; import type { CapabilitySignals, OsSignals, PreferenceInput, ResolvedDetail, ContrastSetting, MotionSetting, SchemeSetting, TransparencySetting } from './types.js'; export interface ResolveAllInput { os: OsSignals; cap: CapabilitySignals; app?: PreferenceInput; user?: PreferenceInput; } /** Resolved axes the pre-paint script stamps on (no floors/reasons — those exist for the store/panel and are computed by resolvePreferences). */ export interface PaintResult { transparency: Transparency; contrast: Contrast; motion: MotionPreference; scheme: Scheme; density: Density; glassOpacity: number; tier: DomTier; allowContinuous: boolean; } /** Axis keys in PaintTuple order. The pre-paint bundle (REQ-MAT-59) reads app/user fields and writes data-ag-* attributes through this one list, so each key string ships once instead of once per access. */ export declare const PAINT_KEYS: readonly ["transparency", "contrast", "motion", "scheme", "density", "glassOpacity", "tier", "allowContinuous"]; /** resolvePaint as a positional tuple (PAINT_KEYS order) — the lean body the pre-paint script bundles. Signals arrive positionally (OsSignals order, then CapabilitySignals order) so no signal-object keys ship either. With `unknownEngine` given (pre-paint only) the tier slot applies the REQ-MAT-59 write rule: '' omits a signal-default 'standard' (written only for a persisted/app value or a heuristic 'lightweight'), and an unknown engine caps 'enhanced' at 'standard'. */ export type PaintTuple = [Transparency, Contrast, MotionPreference, Scheme, Density, number, DomTier | '', boolean]; export declare const resolvePaintCore: (forcedColors: boolean, contrastMore: boolean, reducedTransparency: boolean, reducedMotion: boolean, schemeDark: boolean, coarsePointer: boolean, backdropFilter: boolean, saveData: boolean | undefined, deviceMemory: number | null | undefined, app: PreferenceInput, user: PreferenceInput, unknownEngine?: boolean) => PaintTuple; /** Single-pass resolution over every axis (resolvePreferences wraps it with floors/reasons for the store); object view of resolvePaintCore. */ export declare const resolvePaint: (os: OsSignals, cap: CapabilitySignals, app?: PreferenceInput, user?: PreferenceInput) => PaintResult; export declare const resolveTransparency: (os: OsSignals, backdropFilter: boolean, app?: TransparencySetting, user?: TransparencySetting, glassOpacity?: number) => Transparency; export declare const resolveContrast: (os: OsSignals, app?: ContrastSetting | "less" | "custom", user?: ContrastSetting | "less" | "custom") => Contrast; export declare const resolveMotion: (os: OsSignals, app?: MotionSetting, user?: MotionSetting) => MotionPreference; export declare const resolveScheme: (os: OsSignals, app?: SchemeSetting, user?: SchemeSetting) => Scheme; export declare const resolvePreferences: ({ os, cap, app, user }: ResolveAllInput) => ResolvedDetail; //# sourceMappingURL=resolve.d.ts.map