/** * Hook personalizado para editor WYSIWYG * * Implementación usando Selection API y Range API nativas del navegador. * * **Ventajas de usar Selection API vs document.execCommand (deprecado):** * - ✅ Control total sobre el HTML generado (consistente entre navegadores) * - ✅ APIs modernas y mantenidas * - ✅ Mayor flexibilidad para personalizar comportamientos * - ✅ Mejor manejo de estados de formato * - ✅ No dependiente de APIs deprecadas * * **Cómo funciona:** * - `window.getSelection()`: Obtiene la selección actual del usuario * - `Range`: Define el rango de texto seleccionado * - `surroundContents()`: Envuelve la selección en un elemento HTML * - `extractContents()`: Extrae el contenido de la selección * - `insertNode()`: Inserta un nodo en la posición del cursor * * @returns Objeto con refs, estados y funciones del editor */ export declare const useWysiwyg: () => { editorRef: import('react').RefObject; isFocused: boolean; setIsFocused: import('react').Dispatch>; activeFormats: Set; execCommand: (command: string, value?: string) => void; updateActiveFormats: () => void; handleEditorClick: () => void; insertEmoji: (emoji: string) => void; insertMention: (mention: string) => void; getHTML: () => string; setHTML: (html: string) => void; clear: () => void; isEmpty: () => boolean; }; //# sourceMappingURL=useWysiwyg.d.ts.map