/** * Transform a `.scss` source into CSS-equivalent text that the downstream * Lyse pipeline (token extraction, hardcoded-value rules) can consume. * * CRITICAL invariant: the transform is **line-count preserving**. Output line N * corresponds to source line N. Downstream rules report findings by line against * this output, and those line numbers must match the original `.scss` source — * otherwise findings (and codemod edits, SARIF locations) land on the wrong * line. We therefore neutralize SCSS-only constructs *in place* (blanking their * source lines) instead of removing AST nodes and re-stringifying, which would * collapse lines and shift everything below. * * The transform is deliberately lossy and minimal: * - `$variable: value;` declarations feed a symbol table, then their source * lines are blanked (kept as empty lines). * - `#{$variable}` interpolation is resolved against the symbol table. An * unresolved interpolation is left as-is so downstream rules can still surface * "unknown token" findings rather than silently swallowing it. * - SCSS-only at-rules (`@include`, `@if`, `@for`, `@function`, `@use`, * `@import`, etc.) have their full source line range blanked. * - `@mixin` is special-cased: only its header line (`@mixin name(args) {`) and * closing brace are blanked, so CSS-like declarations in the body (a real * hardcoded-value drift surface) are still scanned. Single-line mixins * collapse to one blanked line as before. * - `//` line comments are converted to CSS block comments in place, so a * value inside a comment is not mistaken for a hardcoded-value violation. * - Plain rules / nested rules / plain at-rules (`@media`, `@supports`, * `@keyframes`, `@theme`) are kept verbatim. * * Out of scope for v0.1: * - `.sass` indented syntax (postcss-scss does not parse it; the caller keeps * `.sass` flagged as `skipped`). * - SCSS functions (`darken()`, `map-get()`, …) — left unresolved. * - `@function` / `@include`-content bodies (SCSS logic, not CSS declarations) — * still fully blanked. */ export declare function transformScssToCss(source: string): string;