/**
 * Tipo de paradigma suportado.
 * - 'imperativo': Usa formas imperativas (escreva, leia, pegue, tente, etc.)
 * - 'infinitivo': Usa formas infinitivas (escrever, ler, pegar, tentar, etc.)
 * - 'ambos': Aceita ambas as formas (comportamento padrão)
 */
export type TipoParadigma = 'imperativo' | 'infinitivo' | 'ambos';
/**
 * Mapeamento de palavras reservadas por paradigma.
 * Cada entrada mapeia formas alternativas para o mesmo tipo de símbolo.
 */
export interface GrupoPalavrasParadigma {
    tipo: string;
    imperativo?: string[];
    infinitivo?: string[];
    neutro?: string[];
}
/**
 * Grupos de palavras reservadas organizadas por paradigma.
 * Cada grupo representa diferentes formas de expressar a mesma funcionalidade.
 */
export declare const gruposPalavrasParadigma: GrupoPalavrasParadigma[];
/**
 * Palavras neutras que não têm paradigma específico.
 * Estas palavras são aceitas em todos os modos de paradigma.
 */
export declare const palavrasNeutras: Record<string, string>;
/**
 * Retorna um mapa de lexema para paradigma.
 * Útil para verificar rapidamente se uma palavra pertence a um paradigma.
 */
export declare function obterMapaLexemaParaParadigma(): Map<string, 'imperativo' | 'infinitivo' | 'neutro'>;
/**
 * Obtém a forma alternativa de uma palavra para o paradigma especificado.
 * @param lexema A palavra original
 * @param paradigmaAlvo O paradigma desejado
 * @returns A forma alternativa ou undefined se não houver conversão
 */
export declare function obterFormaAlternativa(lexema: string, paradigmaAlvo: 'imperativo' | 'infinitivo'): string | undefined;
/**
 * Verifica se um lexema pertence a um paradigma específico.
 * @param lexema A palavra a verificar
 * @param paradigma O paradigma a verificar
 * @returns true se o lexema pertence ao paradigma ou é neutro
 */
export declare function pertenceAoParadigma(lexema: string, paradigma: TipoParadigma): boolean;
//# sourceMappingURL=mapeamento-paradigmas.d.ts.map