import { type OpenmrsResource } from '@openmrs/esm-framework'; import { type FormContextProps } from '../provider/form-provider'; import { type ValueAndDisplay, type FormField, type FormSchema, type FormProcessorContextProps } from '../types'; export type FormProcessorConstructor = new (...args: ConstructorParameters) => FormProcessor; export type GetCustomHooksResponse = { useCustomHooks: (context: Partial) => { data: any; isLoading: boolean; error: any; updateContext: (setContext: React.Dispatch>) => void; }; }; export declare abstract class FormProcessor { formJson: FormSchema; domainObjectValue: OpenmrsResource; constructor(formJson: FormSchema); getDomainObject(): OpenmrsResource; loadDependencies(context: Partial, setContext: React.Dispatch>): Promise>; abstract getHistoricalValue(field: FormField, context: FormContextProps): Promise; abstract processSubmission(context: FormContextProps, abortController: AbortController): Promise; abstract getInitialValues(context: FormProcessorContextProps): Promise>; abstract getCustomHooks(): GetCustomHooksResponse; abstract prepareFormSchema(schema: FormSchema): FormSchema; } //# sourceMappingURL=form-processor.d.ts.map