import { ThemeFlavor, ThemeTokens } from '../../core/dist/index.js'; /** * Generates CSS variable declarations for syntax highlighting. */ export declare function generateSyntaxVarsFromTokens(tokens: ThemeTokens): string[]; /** * CSS styles for syntax highlighting using Turbo variables. * Works with Rouge, Prism, highlight.js, and similar highlighters. */ export declare const CSS_SYNTAX = "/* Turbo Themes - Syntax Highlighting */\n\n/* Astro Code component css-variables theme mapping */\n:root {\n --astro-code-color-text: var(--turbo-syntax-fg, var(--turbo-text-primary));\n --astro-code-color-background: var(--turbo-syntax-bg, var(--turbo-code-block-bg));\n --astro-code-token-constant: var(--turbo-syntax-number);\n --astro-code-token-string: var(--turbo-syntax-string);\n --astro-code-token-comment: var(--turbo-syntax-comment);\n --astro-code-token-keyword: var(--turbo-syntax-keyword);\n --astro-code-token-parameter: var(--turbo-syntax-variable);\n --astro-code-token-function: var(--turbo-syntax-function);\n --astro-code-token-string-expression: var(--turbo-syntax-string);\n --astro-code-token-punctuation: var(--turbo-syntax-punctuation);\n --astro-code-token-link: var(--turbo-accent-link, var(--turbo-brand-primary));\n /* Additional Astro tokens */\n --astro-code-background: var(--turbo-syntax-bg, var(--turbo-code-block-bg));\n --astro-code-foreground: var(--turbo-syntax-fg, var(--turbo-text-primary));\n}\n\n/* Astro Code component styling */\n.astro-code,\npre.astro-code {\n background-color: var(--turbo-syntax-bg, var(--turbo-code-block-bg)) !important;\n padding: var(--space-lg);\n border-radius: var(--radius-lg);\n overflow-x: auto;\n border: 1px solid var(--turbo-border-default);\n}\n\n.astro-code code {\n background-color: transparent !important;\n color: inherit;\n}\n\n/* Base highlight container - only applies to pre elements */\n.highlight,\npre.highlight,\npre[class*=\"language-\"] {\n background-color: var(--turbo-syntax-bg, var(--turbo-code-block-bg));\n color: var(--turbo-syntax-fg, var(--turbo-code-block-fg));\n}\n\n/* Code inside pre should have transparent background */\n.highlight pre,\n.highlight code,\npre code,\npre code[class*=\"language-\"] {\n background-color: transparent;\n color: inherit;\n}\n\n/* Comments */\n.highlight .c,\n.highlight .cm,\n.highlight .c1,\n.highlight .cs,\n.highlight .cp,\n.highlight .cpf,\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata,\n.hljs-comment,\n.hljs-quote {\n color: var(--turbo-syntax-comment);\n font-style: italic;\n}\n\n/* Keywords */\n.highlight .k,\n.highlight .kc,\n.highlight .kd,\n.highlight .kn,\n.highlight .kp,\n.highlight .kr,\n.highlight .kt,\n.highlight .kv,\n.token.keyword,\n.token.atrule,\n.token.important,\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-built_in,\n.hljs-type {\n color: var(--turbo-syntax-keyword);\n}\n\n/* Strings */\n.highlight .s,\n.highlight .s1,\n.highlight .s2,\n.highlight .sb,\n.highlight .sc,\n.highlight .sd,\n.highlight .se,\n.highlight .sh,\n.highlight .si,\n.highlight .sr,\n.highlight .ss,\n.highlight .sx,\n.token.string,\n.token.char,\n.token.regex,\n.token.template-string,\n.hljs-string,\n.hljs-regexp {\n color: var(--turbo-syntax-string);\n}\n\n/* Numbers */\n.highlight .m,\n.highlight .mi,\n.highlight .mf,\n.highlight .mh,\n.highlight .mo,\n.highlight .mb,\n.highlight .mx,\n.highlight .il,\n.token.number,\n.token.boolean,\n.token.constant,\n.hljs-number,\n.hljs-literal {\n color: var(--turbo-syntax-number);\n}\n\n/* Functions */\n.highlight .nf,\n.highlight .fm,\n.highlight .nb,\n.token.function,\n.token.builtin,\n.hljs-title.function_,\n.hljs-built_in {\n color: var(--turbo-syntax-function);\n}\n\n/* Classes and types */\n.highlight .nc,\n.highlight .nn,\n.highlight .no,\n.highlight .nd,\n.token.class-name,\n.token.namespace,\n.hljs-title.class_,\n.hljs-class .hljs-title {\n color: var(--turbo-syntax-type);\n}\n\n/* Variables and identifiers */\n.highlight .n,\n.highlight .nv,\n.highlight .vc,\n.highlight .vg,\n.highlight .vi,\n.highlight .vm,\n.token.variable,\n.hljs-variable,\n.hljs-template-variable {\n color: var(--turbo-syntax-variable);\n}\n\n/* Operators */\n.highlight .o,\n.highlight .ow,\n.token.operator,\n.hljs-operator {\n color: var(--turbo-syntax-operator);\n}\n\n/* Punctuation */\n.highlight .p,\n.token.punctuation,\n.hljs-punctuation {\n color: var(--turbo-syntax-punctuation);\n}\n\n/* HTML/XML tags */\n.highlight .nt,\n.highlight .nx,\n.token.tag,\n.hljs-tag,\n.hljs-name {\n color: var(--turbo-syntax-tag);\n}\n\n/* Attributes */\n.highlight .na,\n.highlight .atn,\n.token.attr-name,\n.hljs-attr {\n color: var(--turbo-syntax-attribute);\n}\n\n/* Attribute values */\n.highlight .atv,\n.token.attr-value,\n.hljs-attr .hljs-string {\n color: var(--turbo-syntax-value);\n}\n\n/* Errors */\n.highlight .err,\n.highlight .gr,\n.token.error,\n.hljs-error {\n color: var(--turbo-syntax-error);\n}\n\n/* Diff: deletions */\n.highlight .gd,\n.token.deleted,\n.hljs-deletion {\n color: var(--turbo-syntax-deleted);\n background-color: color-mix(in srgb, var(--turbo-syntax-deleted) 15%, transparent);\n}\n\n/* Diff: insertions */\n.highlight .gi,\n.token.inserted,\n.hljs-addition {\n color: var(--turbo-syntax-inserted);\n background-color: color-mix(in srgb, var(--turbo-syntax-inserted) 15%, transparent);\n}\n\n/* Line numbers (if used) */\n.highlight .lineno,\n.line-numbers .line-numbers-rows,\n.hljs-ln-numbers {\n color: var(--turbo-text-secondary);\n opacity: 0.5;\n user-select: none;\n}\n\n/* Selection within code */\n.highlight ::selection,\npre[class*=\"language-\"] ::selection,\ncode[class*=\"language-\"] ::selection {\n background-color: var(--turbo-selection-bg);\n color: var(--turbo-selection-fg);\n}\n"; /** * Generates syntax highlighting CSS for a specific theme. * This includes both the variable definitions and the styling rules. */ export declare function generateSyntaxCss(flavor: ThemeFlavor): string; /** * Generates the complete syntax highlighting CSS file. * Includes base styles that work with any theme. */ export declare function generateSyntaxBaseCss(): string; //# sourceMappingURL=syntax.d.ts.map