import { B as BaseTokenizer, T as TokenStream, a as TokenKind, L as LanguageProfile } from '../types-BY3Id07j.js';

/**
 * Chinese Tokenizer
 *
 * Tokenizes Chinese hyperscript input.
 * Chinese is challenging because:
 * - No spaces between words (like Japanese)
 * - Uses CJK characters (shared with Japanese Kanji)
 * - SVO word order (like English)
 * - Uses prepositions (把, 在, 从, etc.) for grammatical roles
 * - No conjugation (unlike Japanese/Korean)
 * - CSS selectors are embedded ASCII
 */

declare class ChineseTokenizer extends BaseTokenizer {
    readonly language = "zh";
    readonly direction: "ltr";
    constructor();
    tokenize(input: string): TokenStream;
    classifyToken(token: string): TokenKind;
    /**
     * Extract a Chinese word.
     * Uses greedy matching to find the longest known keyword.
     * Chinese doesn't have inflection, so we don't need morphological normalization.
     * profileKeywords is already sorted longest-first, enabling greedy matching.
     */
    private extractChineseWord;
    /**
     * Extract an ASCII word (for mixed Chinese/English content).
     */
    private extractAsciiWord;
    /**
     * Try to extract a string literal, including Chinese quotes.
     * Chinese quotes: \u201C " (open) \u201D " (close) \u2018 ' (open) \u2019 ' (close)
     */
    private tryChineseString;
    /**
     * Extract a number, including Chinese time unit suffixes.
     * Chinese time units attach directly without whitespace.
     */
    private extractChineseNumber;
}
/**
 * Singleton instance.
 */
declare const chineseTokenizer: ChineseTokenizer;

/**
 * Chinese (Simplified) Language Profile
 *
 * SVO word order, no markers (relies on word order), no spaces between words.
 * Isolating language with topic-comment structure and optional BA construction.
 */

declare const chineseProfile: LanguageProfile;

export { chineseProfile, chineseTokenizer };
