/**
 * Флаг говорящий о том используется ли re2 для обработки регулярок или нет.
 * Нужен для того, чтобы можно было задать различные ограничения в зависимости от наличия библиотеки.
 * @private
 */
declare let __$usedRe2: boolean;
type customRegExp = RegExp;
/**
 * Тип для регулярного выражения
 */
export type TPatternRegExp = string | RegExp;
/**
 * Проверяет передано ли регулярное выражение или нет
 * @param regExp Регулярное выражение
 */
export declare function isRegex(regExp: TPatternRegExp | unknown): regExp is RegExp;
/**
 * Возвращает скомпилированное регулярное выражение.
 * Если к проекту подключен re2, будет использоваться он, в противном случае стандартный RegExp.
 * В случае, если передан customReg, регулярное выражение будет собранно через него
 * @param reg - само регулярное выражение
 * @param flags - флаг для регулярного выражения
 * @param customReg - Произвольная реализация для обработки регулярных выражений
 * @returns
 */
export declare function getRegExp(reg: TPatternRegExp | TPatternRegExp[], flags?: string, customReg?: RegExpConstructor): customRegExp;
export { __$usedRe2 };
