import { type ContentChange } from './diff.js'; /** * When two captures of the same surface are different product states, the * certification differ still emits computed-style findings (a mode chip's * background, a focus ring on a different button). Those are not a restyle * the reviewer should approve. Detect the mismatch from the opt-in content * layer; the report then withholds those findings from the style gate. * * The differ itself stays exact (no tolerance). This is report classification. */ export type IncomparableProductState = { surfaceBase: string; evidence: string[]; }; /** True when both sides are distinct mode-like labels, not a small copy edit. */ export declare function isWholesaleLabelReplacement(before: string, after: string): boolean; /** Evidence strings when this surface's content layer is a different product state. */ export declare function productStateMismatchEvidence(changes: ContentChange[]): string[]; /** Collapse per-width content diffs onto product surface bases. */ export declare function incomparableProductStates(surfaces: { surface: string; changes: ContentChange[]; }[]): IncomparableProductState[]; export declare function incomparableSurfaceBaseSet(states: IncomparableProductState[]): Set;