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

/**
 * Italian Tokenizer
 *
 * Tokenizes Italian hyperscript input.
 * Italian is very similar to Spanish:
 * - Uses space-separated words
 * - Has similar preposition structure (SVO)
 * - Uses accent marks that need proper handling
 */

declare class ItalianTokenizer extends BaseTokenizer {
    readonly language = "it";
    readonly direction: "ltr";
    constructor();
    tokenize(input: string): TokenStream;
    classifyToken(token: string): TokenKind;
    /**
     * Try to match multi-word phrases that function as single units.
     * Multi-word phrases are included in profileKeywords and sorted longest-first,
     * so they'll be matched before their constituent words.
     */
    private tryMultiWordPhrase;
    /**
     * Extract an Italian word.
     *
     * Uses morphological normalization to handle:
     * - Reflexive verbs (mostrarsi → mostrare)
     * - Verb conjugations (alternando → alternare)
     */
    private extractItalianWord;
    /**
     * Extract a number, including Italian time unit suffixes.
     */
    private extractItalianNumber;
}
/**
 * Singleton instance.
 */
declare const italianTokenizer: ItalianTokenizer;

/**
 * Italian Language Profile
 *
 * SVO word order, prepositions, space-separated.
 * Features rich verb conjugation with pro-drop (subject omission).
 * Very similar to Spanish but with Italian-specific vocabulary.
 */

declare const italianProfile: LanguageProfile;

export { italianProfile, italianTokenizer };
