import { FormStatusLoad } from '../../../hook-form/RHFormProvider/types';
import { DynamicFormApiResponse, DynamicFormSubmitMode } from '../../types';
export interface UseDynamicFormDataProps {
    formId?: number;
    formInstanceId?: number;
    inputEndpoint?: string;
    outputEndpoint?: string;
    /**
     * Submit strategy: `'form'` (default) sends a single request to `outputEndpoint`;
     * `'perField'` sends one POST per field to `forms/instances/{instanceId}/fields/{fieldId}/values`
     * concurrently via `Promise.all`.
     */
    submitMode?: DynamicFormSubmitMode;
    /**
     * Formatter for the fetched structure; may return the typed DynamicForm contract or a plain record.
     */
    formatInputData?: (data: Record<string, unknown>) => Record<string, unknown> | DynamicFormApiResponse;
    formatOutputData?: (data: Record<string, unknown>) => Record<string, unknown>;
    onSubmit?: (data: Record<string, unknown>) => void | Promise<void>;
    initialData?: DynamicFormApiResponse | null;
}
export type DynamicFormDataStatusLoad = 'initial' | 'ready' | 'error';
export interface UseDynamicFormDataReturn {
    formData: DynamicFormApiResponse | null;
    statusLoad: FormStatusLoad;
    handleSubmit: (data: Record<string, unknown>) => Promise<void>;
    isLoading: boolean;
}
//# sourceMappingURL=types.d.ts.map