import type { DataResourceSurface, WorkflowTaskSubtablePage, WorkflowTaskSourceBinding } from 'openxiangda-contracts/browser'; import { type WorkflowFileBinding } from '../../platform-client'; import { type SurfaceField, type SurfaceFieldRenderers } from '../resource/SurfaceFields'; import type { SubtableDraftRow } from './subtable-value'; import { type WorkflowSubmissionSubtableFieldStates } from '../workflow/workflow-submission-form'; export interface SubtableFieldProps { field: SurfaceField; disabled?: boolean; mobile?: boolean; operation: 'create' | 'update'; parentRecordId?: string; value?: SubtableDraftRow[]; onChange?: (value: SubtableDraftRow[]) => void; view?: 'form' | 'detail'; /** Absolute visible-row position supplied by the task's complete validation. */ revealRow?: { index: number; }; /** Sealed named create intent: new local rows only, with operation uploads. */ launch?: { fieldCodes: readonly string[]; /** Presentation only: derived values remain visible but are not user input. */ readonlyFieldCodes?: readonly string[]; /** Page presentation only; row data and sealed field closure are unchanged. */ fieldState?: WorkflowSubmissionSubtableFieldStates[string]; /** Source rows may be edited in place; their membership is owned by business validation. */ fixedRows?: boolean; fileResourceCodes?: SurfaceFieldRenderers['fileResourceCodes']; upload: NonNullable; reference?: SurfaceFieldRenderers['referenceLaunch']; }; /** Already qualified task projection. Never use ordinary child CRUD here. */ task?: { surface: DataResourceSurface; page: WorkflowTaskSubtablePage; binding?: WorkflowFileBinding; reference?: WorkflowTaskSourceBinding; rows?: Array>; uploadEnabled?: boolean; upload?: (rowKey: string, ...args: Parameters>) => Promise; signer?: SurfaceFieldRenderers['signer']; }; } export declare function SubtableField({ field, disabled, mobile, operation, parentRecordId, value, onChange, view, revealRow, task, launch, }: SubtableFieldProps): import("react/jsx-runtime").JSX.Element; export declare function SubtableValueDisplay({ field, parentRecordId, mobile, }: { field: SurfaceField; parentRecordId: string; mobile?: boolean; }): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=SubtableField.d.ts.map