/** @internal Tokenizer for KERN source lines. */ import type { ParseState } from './parser-diagnostics.js'; export type LexMode = 'line' | 'expression' | 'path' | 'regex'; export type TokenKind = 'identifier' | 'number' | 'equals' | 'quoted' | 'expr' | 'style' | 'themeRef' | 'slash' | 'comma' | 'whitespace' | 'unknown'; export interface Token { kind: TokenKind; value: string; pos: number; } /** @internal Character-by-character tokenizer for a single KERN line (after indent stripped). * `mode` selects the lex contract; only 'line' is implemented today. */ export declare function tokenizeLineInternal(line: string, state?: ParseState, mode?: LexMode): Token[]; export declare function tokenizeLine(line: string, mode?: LexMode): Token[];