import { UseDynamicFormCoupledProps, UseDynamicFormCoupledReturn } from './types';
/**
 * Hook that combines useDynamicFormData and useDynamicForm for coupled mode.
 *
 * In coupled mode the form is rendered inside an existing RHFormProvider (at the
 * consumer site). This hook:
 * 1. Fetches/sends form data (same as useDynamicFormData: formId, formInstanceId,
 *    inputEndpoint, outputEndpoint, initialData, formatInputData, formatOutputData, onSubmit).
 * 2. Derives initialValues and validationSchema from the form data (same as useDynamicForm).
 *
 * Fields with endpoint/endpointParams (RHFSelect, RHFCheckableList with empty options) have their
 * options fetched inside DynamicFormContent via useFieldsWithFetchedOptions; no extra
 * setup is needed when using this hook in coupled mode.
 *
 * The consumer uses the returned values to:
 * - Pass formDataToUse, initialValues, validationSchema, statusLoad to DynamicForm (coupled=true)
 *   or to their own RHFormProvider + DynamicFormContent.
 * - Use statusLoad for loading UI (e.g. show skeleton when statusLoad !== 'ready').
 * - Use handleSubmit when the parent form or flow triggers submit.
 * @example
 * ```tsx
 * const {
 *   formDataToUse,
 *   initialValues,
 *   validationSchema,
 *   statusLoad,
 *   handleSubmit,
 * } = useDynamicFormCoupled({
 *   formId,
 *   formInstanceId,
 *   inputEndpoint,
 *   outputEndpoint,
 *   initialData,
 *   formatInputData,
 *   formatOutputData,
 *   onSubmit,
 * });
 *
 * if (statusLoad !== 'ready' || !formDataToUse) return <Skeleton />;
 *
 * return (
 *   <RHFormProvider
 *     values={initialValues}
 *     validationSchema={validationSchema}
 *     onSubmit={handleSubmit}
 *     statusLoad={statusLoad}
 *   >
 *     <DynamicForm coupled initialData={formDataToUse} coupledStatusLoad={statusLoad} />
 *   </RHFormProvider>
 * );
 * ```
 */
export declare function useDynamicFormCoupled(props: UseDynamicFormCoupledProps): UseDynamicFormCoupledReturn;
//# sourceMappingURL=useDynamicFormCoupled.d.ts.map