import { languages } from 'monaco-editor'; import { p as ReservedKeyword, O as Operations, r as SupportedFormats } from './types-BMYcHiSq.js'; import '@tokens-studio/schema-validation'; declare const tokenscriptLanguageDefinition: languages.IMonarchLanguage; declare const tokenscriptLanguageConfig: languages.LanguageConfiguration; /** * Prism.js syntax highlighting for TokenScript * Uses shared patterns from spec.ts */ declare function tokenscriptLanguage(Prism: any): any; /** * Shared syntax highlighting patterns for TokenScript language * Used by both Monaco Editor (VSCode) and Prism.js implementations */ declare const KEYWORDS: ReservedKeyword[]; declare const TYPES: readonly ["String", "Number", "NumberWithUnit", "Color", "List", "Dictionary", "Boolean"]; declare const BUILTIN_FUNCTIONS: readonly ["rgb", "hsl", "srgb", "lrgb", "hex", "oklch", "oklchRamp", "lighten", "darken", "saturate", "desaturate", "spin", "mix", "round_to", "snap", "remap", "pow", "linear-gradient", "type"]; declare const UNITS: SupportedFormats[]; declare const OPERATORS: readonly [...Operations[], "=", ">", "<", ":", "==", "<=", ">=", "!="]; declare const PATTERNS: { /** Single-line comments */ readonly comment: RegExp; /** String literals (single or double quotes) */ readonly string: RegExp; /** TokenScript references with curly braces (e.g., {token.path}) */ readonly reference: RegExp; /** Hex color codes (#RGB, #RRGGBB, #RRGGBBAA) */ readonly hexColor: RegExp; /** Numbers with CSS units (e.g., 10px, 1.5em, 45deg) - dynamically constructed from UNITS */ readonly numberWithUnit: RegExp; /** Plain numbers (integers and floats, including scientific notation) */ readonly number: RegExp; /** Float numbers with decimal point */ readonly float: RegExp; /** Identifiers and keywords */ readonly identifier: RegExp; /** Operators */ readonly operator: RegExp; /** Punctuation */ readonly punctuation: RegExp; /** Method calls (e.g., .methodName() ) */ readonly method: RegExp; /** Property access (e.g., .propertyName) */ readonly property: RegExp; /** Color type constructors (e.g., Color, Color.Rgb, Color.Hex) - accepts any subtype */ readonly colorType: RegExp; }; /** * Monaco-specific patterns that cannot be shared due to Monaco's tokenizer requirements * Monaco uses different syntax for string state transitions and lookahead */ declare const MONACO_PATTERNS: { /** Invalid string (unterminated double quote) - Monaco-specific for error highlighting */ readonly stringInvalidDouble: RegExp; /** Invalid string (unterminated single quote) - Monaco-specific for error highlighting */ readonly stringInvalidSingle: RegExp; /** String start (double quote) - Monaco-specific for state-based tokenization */ readonly stringStartDouble: RegExp; /** String start (single quote) - Monaco-specific for state-based tokenization */ readonly stringStartSingle: RegExp; /** Number with any unit (captures unit for dynamic validation) - Monaco-specific for unit validation */ readonly numberWithDynamicUnit: RegExp; }; declare function createKeywordPattern(keywords: readonly string[]): RegExp; declare function createUnitPattern(units: readonly string[]): RegExp; export { BUILTIN_FUNCTIONS, KEYWORDS, MONACO_PATTERNS, OPERATORS, PATTERNS, TYPES, UNITS, createKeywordPattern, createUnitPattern, tokenscriptLanguage, tokenscriptLanguageConfig, tokenscriptLanguageDefinition };