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

/**
 * Hebrew Tokenizer
 *
 * Tokenizes Hebrew hyperscript input.
 * Hebrew is challenging because:
 * - Right-to-left (RTL) text direction
 * - Prefix prepositions that attach to words (ב, ל, מ, כ, ה, ו, ש)
 * - Optional vowel points (nikkud) typically omitted in modern text
 * - CSS selectors are LTR islands within RTL text
 */

declare class HebrewTokenizer extends BaseTokenizer {
    readonly language = "he";
    readonly direction: "rtl";
    constructor();
    tokenize(input: string): TokenStream;
    classifyToken(token: string): TokenKind;
    /**
     * Try to match a Hebrew preposition.
     */
    private tryPreposition;
    /**
     * Try to extract a prefix conjunction (ו - "and") that's attached to the following word.
     *
     * Hebrew conjunction prefix attaches directly to words without space:
     * - והחלף → ו + החלף (and + toggle)
     * - ולחיצה → ו + לחיצה (and + click)
     */
    private tryPrefixConjunction;
    /**
     * Try to extract an event marker prefix (ב, כ) attached to an event name.
     *
     * Hebrew event markers attach directly to event names without space:
     * - בלחיצה → ב + לחיצה (on + click)
     * - כשינוי → כ + שינוי (when + change)
     *
     * Returns both the marker token and the event name token if successful.
     */
    private tryEventMarkerPrefix;
    /**
     * Extract a Hebrew word.
     */
    private extractHebrewWord;
    /**
     * Extract an ASCII word.
     */
    private extractAsciiWord;
    /**
     * Extract a number, including Hebrew time unit suffixes.
     */
    private extractHebrewNumber;
}
/**
 * Singleton instance.
 */
declare const hebrewTokenizer: HebrewTokenizer;

/**
 * Hebrew Language Profile
 *
 * SVO word order, prepositions, RTL (right-to-left), space-separated.
 * Hebrew uses prefix prepositions (ב, ל, מ, כ) that attach to the following word.
 * Features optional vowel points (nikkud) which are typically omitted in modern text.
 */

declare const hebrewProfile: LanguageProfile;

export { hebrewProfile, hebrewTokenizer };
