import React from 'react'; import { type LayoutType, type OpenmrsResource, type Visit } from '@openmrs/esm-framework'; import { type FormContextProps } from './form-provider'; import { type FormField, type FormSchema, type SessionMode } from '../types'; import { type FormProcessorConstructor } from '../processors/form-processor'; interface FormFactoryProviderContextProps { patient: fhir.Patient; sessionMode: SessionMode; sessionDate: Date; formJson: FormSchema; formProcessors: Record; layoutType: LayoutType; workspaceLayout: 'minimized' | 'maximized'; visit: Visit; location: OpenmrsResource; provider: OpenmrsResource; isFormExpanded: boolean; registerForm: (formId: string, isSubForm: boolean, context: FormContextProps) => void; handleConfirmQuestionDeletion?: (question: Readonly) => Promise; setIsFormDirty: (isFormDirty: boolean) => void; } interface FormFactoryProviderProps { patient: fhir.Patient; patientUUID: string; sessionMode: SessionMode; sessionDate: Date; formJson: FormSchema; workspaceLayout: 'minimized' | 'maximized'; location: OpenmrsResource; provider: OpenmrsResource; visit: Visit; isFormExpanded: boolean; children: React.ReactNode; formSubmissionProps: { isSubmitting: boolean; setIsSubmitting: (isSubmitting: boolean) => void; onSubmit: (data: any) => void; onError: (error: any) => void; handleClose: () => void; }; hideFormCollapseToggle: () => void; handleConfirmQuestionDeletion?: (question: Readonly) => Promise; setIsFormDirty: (isFormDirty: boolean) => void; } export declare const FormFactoryProvider: React.FC; export declare const useFormFactory: () => FormFactoryProviderContextProps; export {}; //# sourceMappingURL=form-factory-provider.d.ts.map