import { DiacriticMap } from './types.js';
import { slovakDiacriticMap, czechDiacriticMap, slovakCzechDiacriticMap } from './maps.js';
export { slovakDiacriticMap, czechDiacriticMap, slovakCzechDiacriticMap };
/**
 * Transformuje vstupný reťazec do formátu regulárneho výrazu
 * pre diakriticky necitlivé vyhľadávanie.
 * Každý základný znak v reťazci, ktorý má zodpovedajúci záznam v diakritickej mape,
 * sa nahradí regulárnym výrazom, ktorý zodpovedá tomuto znaku a jeho diakritickým variantom.
 *
 * @param searchString - Reťazec, ktorý sa má transformovať (typicky hľadaný výraz).
 * Môže obsahovať diakritiku, ktorá bude najprv normalizovaná.
 * @param diacriticMap - Diakritická mapa, ktorá definuje, ako sa majú znaky transformovať.
 * @returns Transformovaný reťazec pripravený na použitie v RegExp.
 *
 * @example
 * // Pre vyhľadávanie "Mesto" v textoch s diakritikou (napr. "Město", "Mesto")
 * const transformedQuery = diacriticInsensitiveTransform('Město', czechDiacriticMap);
 * // transformedQuery bude "M[e,é,ě]sto"
 * const searchRegex = new RegExp(transformedQuery, 'i');
 * searchRegex.test('Město'); // true
 */
export declare function diacriticInsensitiveTransform(searchString: string, diacriticMap: DiacriticMap): string;
/**
 * Vyhľadá reťazec v texte s ignorovaním diakritiky.
 * Táto funkcia je obal (wrapper) nad `diacriticInsensitiveTransform` a `RegExp`.
 *
 * @param text - Text, v ktorom sa má vyhľadávať.
 * @param query - Hľadaný reťazec (môže obsahovať diakritiku).
 * @param diacriticMap - Diakritická mapa, ktorá sa má použiť (napr. `slovakDiacriticMap`).
 * @param caseSensitive - Ak je `true`, vyhľadávanie bude citlivé na veľkosť písmen. Predvolené: `false`.
 * @returns `true`, ak sa zhoda nájde, inak `false`.
 */
export declare function searchDiacriticInsensitive(text: string, query: string, diacriticMap: DiacriticMap, caseSensitive?: boolean): boolean;
/**
 * Vyhľadá viacero slov v texte s ignorovaním diakritiky.
 * Slova v dopyte môžu byť oddelené medzerami a poradie slov je dôležité.
 * Medzi hľadanými slovami sa povolí ľubovoľný počet znakov.
 *
 * @param text - Text, v ktorom sa má vyhľadávať.
 * @param query - Hľadaný reťazec obsahujúci jedno alebo viacero slov (môže obsahovať diakritiku).
 * @param diacriticMap - Diakritická mapa, ktorá sa má použiť.
 * @param caseSensitive - Ak je `true`, vyhľadávanie bude citlivé na veľkosť písmen. Predvolené: `false`.
 * @returns `true`, ak sa nájdu všetky slová v správnom poradí, inak `false`.
 */
export declare function searchMultiWordDiacriticInsensitive(text: string, query: string, diacriticMap: DiacriticMap, caseSensitive?: boolean): boolean;
