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

/**
 * Korean Tokenizer
 *
 * Tokenizes Korean hyperscript input.
 * Korean is an agglutinative language with:
 * - Hangul syllable blocks (가-힣)
 * - Particles (조사) mark grammatical roles
 * - 하다 verbs (noun + 하다)
 * - CSS selectors are embedded ASCII
 */

declare class KoreanTokenizer extends BaseTokenizer {
    readonly language = "ko";
    readonly direction: "ltr";
    constructor();
    tokenize(input: string): TokenStream;
    classifyToken(token: string): TokenKind;
    /**
     * Extract a Korean word (sequence of Hangul).
     * Prioritizes known keywords, then uses particle-based word boundaries.
     *
     * Uses morphological normalization to handle verb conjugations.
     */
    private extractKoreanWord;
    /**
     * Extract an ASCII word (for mixed Korean/English content).
     */
    private extractAsciiWord;
    /**
     * Extract a number, including Korean time unit suffixes.
     * Korean time units attach directly without whitespace.
     */
    private extractKoreanNumber;
    /**
     * Try to split a temporal event suffix from a word token.
     * This handles compact forms like 클릭할때 → 클릭 + 할때
     *
     * @returns Split tokens if a suffix is found, null otherwise
     */
    private trySplitTemporalSuffix;
}
/**
 * Singleton instance.
 */
declare const koreanTokenizer: KoreanTokenizer;

/**
 * Korean Language Profile
 *
 * SOV word order, particles (을/를, 에, 에서, etc.), space-separated between words.
 * Agglutinative language with particles attaching to words.
 */

declare const koreanProfile: LanguageProfile;

export { koreanProfile, koreanTokenizer };
