import { ActionFormSubmitProgrammaticProps } from './types';
/**
 * ActionFormSubmitProgrammatic: Componente que ejecuta el submit del formulario programáticamente.
 * Este componente utiliza un botón tipo `button` (en lugar de `submit`) y ejecuta el submit
 * de manera programática mediante `handleSubmit` de react-hook-form. Esta implementación es
 * necesaria para garantizar que el componente funcione correctamente tanto cuando está
 * contenido dentro de un `RHFormProvider` ancestro como cuando está aislado.
 *
 * **Razón técnica:**
 * El estándar HTML no permite el anidamiento de elementos `<form>`. Cuando un navegador
 * encuentra un formulario dentro de otro, el markup resultante es inválido y el navegador
 * puede cerrar implícitamente el formulario externo antes de abrir el interno, o generar
 * un DOM no determinístico. Como consecuencia, el evento `submit` no sigue el ciclo normal
 * de propagación de eventos del DOM, ya que el envío del formulario es manejado directamente
 * por el navegador. Esto implica que no es posible garantizar la retención o aislamiento
 * del evento usando mecanismos como `event.stopPropagation()` o `event.preventDefault()` desde
 * el formulario interno.
 *
 * **Beneficios de esta implementación:**
 * - **Resiliencia:** El componente funciona de manera idéntica tanto cuando está contenido
 * por un `RHFormProvider` ancestro como cuando está aislado, sin afectar el comportamiento
 * del formulario contenedor.
 * - **Control explícito:** Permite controlar cuándo y cómo se ejecuta el proceso de envío,
 * evitando efectos colaterales entre formularios.
 * - **Comportamiento predecible:** Garantiza un comportamiento estable y alineado con el
 * estándar HTML, sin depender de comportamientos no determinísticos del navegador.
 * - **Compatibilidad:** Mantiene la validación y el flujo completo de react-hook-form mediante
 * el uso de `handleSubmit`, asegurando que todas las validaciones se ejecuten correctamente.
 * @param props - Propiedades del componente
 * @param props.onSubmit - Función que se ejecuta cuando el formulario se envía exitosamente
 * @param props.size - Tamaño del botón (opcional)
 * @returns Componente de botón que ejecuta el submit programáticamente
 */
export declare function ActionFormSubmitProgrammatic(props: ActionFormSubmitProgrammaticProps): import("@emotion/react/jsx-runtime").JSX.Element;
//# sourceMappingURL=ActionFormSubmitProgrammatic.d.ts.map