import type { WorkflowTaskDraft, WorkflowTaskFormInput, WorkflowTaskFormSurface } from 'openxiangda-contracts/browser'; import type { WorkflowTaskFormBehavior, WorkflowTaskFormLinkageContext } from '../../workflow-definitions'; export declare function workflowTaskFormLinkage(source: WorkflowTaskFormSurface, changed: Record, values: Record, linkage: WorkflowTaskFormBehavior['valueLinkage'], context: WorkflowTaskFormLinkageContext): { [k: string]: unknown; }; export declare function workflowTaskFormValues(source: WorkflowTaskFormSurface, values: Record): { [k: string]: unknown; }; export declare function workflowTaskFormPatch(source: WorkflowTaskFormSurface, values: Record): WorkflowTaskFormInput; /** A conflict comparison obeys the fresh page's visibility, not the old input's keys. */ export declare function workflowTaskFormReviewFields(source: WorkflowTaskFormSurface, latest: WorkflowTaskFormSurface, current: Record): { code: string; visible: boolean; readonly: boolean; required: boolean; }[]; /** Page state stays local; the Workflow command is its only submission owner. */ export declare function useWorkflowTaskForm(latest?: WorkflowTaskFormSurface): { form: import("antd").FormInstance>; source: WorkflowTaskFormSurface | undefined; latest: WorkflowTaskFormSurface | undefined; current: { [k: string]: unknown; }; subtableError: { field: string; index: number; } | undefined; linkageError: boolean; setLinkageError: import("react").Dispatch>; dirty: boolean; unsaved: boolean; stale: boolean; draft: WorkflowTaskDraft | undefined; draftNeedsSave: boolean; build: (complete: boolean) => Promise<{ draft?: import("openxiangda-contracts").WorkflowTaskDraftReference; expectedRevision: number; values: Record; } | undefined>; reviewLatest: (keep: boolean) => void; committed: (input?: WorkflowTaskFormInput, revision?: number) => void; adoptDraft: (saved: WorkflowTaskDraft) => void; savedDraft: (saved: WorkflowTaskDraft) => void; removedDraft: (id: string) => void; }; export declare function WorkflowTaskForm({ controller, disabled, operationPending, taskId, taskVersion, onFileBusyChange, variant, resourceCode, recordId, valueLinkage, linkageContext }: { controller: ReturnType; disabled: boolean; /** Protect pending writes; a confirmed command's read failure only disables controls. */ operationPending?: boolean; taskId?: string; taskVersion?: number; onFileBusyChange?: (busy: boolean) => void; variant: 'desktop' | 'mobile'; resourceCode?: string; recordId?: string; valueLinkage?: WorkflowTaskFormBehavior['valueLinkage']; linkageContext?: WorkflowTaskFormLinkageContext; }): import("react/jsx-runtime").JSX.Element | null; //# sourceMappingURL=WorkflowTaskForm.d.ts.map