/**
 * Tailwind / shadcn semantic migration helpers for tidy:
 * theme color discovery, class-string extraction, palette→semantic mapping, and safe replacement.
 * Contrast pairing uses coarse palette bands only (not computed WCAG / dark mode CSS).
 */
export type SemanticMapResult = {
    kind: "none";
} | {
    kind: "replace";
    replacement: string;
    confidence: number;
} | {
    kind: "ambiguous";
    candidates: string[];
    confidence: number;
};
/**
 * Collect semantic color names that map to Tailwind color utilities (bg-*, text-*, border-*).
 * Parses --color-<name> from @theme / CSS and legacy shadcn :root variables.
 */
export declare function parseThemeColorNamesFromCss(content: string): Set<string>;
/** Rough luminance bucket for palette utilities (not computed from theme CSS). */
export type LuminanceBand = "light" | "dark" | "mid" | "unknown" | "semantic";
export declare function prefixOf(cls: string): "bg" | "text" | "border" | null;
/** Strip utility prefix and return the color part (e.g. bg-white → white, text-muted-foreground → muted-foreground). */
export declare function colorPart(cls: string): string | null;
export declare function isSemanticColorUtility(cls: string): boolean;
/**
 * Map a default-palette Tailwind class to a semantic utility if theme exposes the target and the mapping is allowed.
 */
export declare function mapPaletteUtilityToSemantic(cls: string, themeNames: Set<string>): SemanticMapResult;
/**
 * Classify bg-* / text-* palette colors into coarse bands for contrast pairing.
 * Semantic shadcn utilities return "semantic".
 */
export declare function approximateBandForColorUtility(cls: string): LuminanceBand;
export interface ContrastPairIssue {
    original: string;
    replacement: string;
    pairedWith: string;
    rationale: string;
    confidence: number;
}
export type DarkNormalizationAction = "append" | "rewrite" | "append_and_rewrite";
export interface DarkContrastIssue {
    original: string;
    replacement: string;
    appendClass?: string;
    action: DarkNormalizationAction;
    rationale: string;
    confidence: number;
}
/**
 * Within one class chunk, find bg/text pairs that likely break contrast or theme pairing.
 * At most one remedial suggestion per text-* token (highest-priority rule wins).
 */
export declare function findContrastAndPairingIssues(tokens: string[], themeNames: Set<string>): ContrastPairIssue[];
/**
 * Default-on dark contrast normalization pass.
 * Static heuristic only: this does not compute runtime WCAG contrast.
 */
export declare function findDarkContrastNormalizationIssues(tokens: string[], _themeNames: Set<string>): DarkContrastIssue[];
/**
 * Extract string contents that hold Tailwind class lists from a line of TS/JS/TSX.
 */
export declare function extractClassListStringsFromLine(line: string): string[];
export declare function splitClassTokens(chunk: string): string[];
/**
 * Replace the nth (0-based) occurrence of a standalone class token in a line.
 * Returns null if the occurrence does not exist.
 */
export declare function replaceNthClassOccurrence(line: string, fromClass: string, toClass: string, occurrenceIndex: number): string | null;
//# sourceMappingURL=tailwindSemantic.d.ts.map