/**
 * Lógica pura compartida del editor WYSIWYG (formatos, URL de enlaces).
 * El hook `useWysiwyg` orquesta Selection API y estado; aquí vive el razonamiento reutilizable y testeable.
 */
/** Comandos tipo `document.execCommand` → tag HTML para alternar formato. */
export declare const WYSIWYG_COMMAND_TO_TAG: Record<string, string>;
/**
 * Normaliza texto de URL para atributo `href` (trim, `https://` por defecto).
 * @returns `null` si el input queda vacío.
 */
export declare function normalizeLinkHref(input: string): string | null;
/**
 * Acumula formatos activos recorriendo ancestros desde el nodo común del rango hasta `editorRoot` (excl.).
 * @returns `null` si la selección no debe actualizar formatos (fuera del editor cuando hay root).
 */
export declare function collectActiveFormatsFromAncestors(range: Range, editorRoot: HTMLElement | null): Set<string> | null;
/**
 * Indica si `tag` (nombre lógico: bold, italic, …) está activo en la selección actual.
 */
export declare function isFormatActiveAtRange(tag: string, range: Range, editorRoot: HTMLElement | null): boolean;
//# sourceMappingURL=wysiwygEditorUtils.d.ts.map