import type { DataFileRef, WorkflowTaskFileUpload, WorkflowTaskFileUploadPlan } from 'openxiangda-contracts/browser'; /** Transient bytes and the original intent. Never persist this object or its upload plan. */ export interface WorkflowTaskFileUploadIntent { taskId: string; input: WorkflowTaskFileUpload; file: File; phase: 'initiate' | 'upload' | 'complete'; } export interface WorkflowTaskFileUploadTransport { initiate: (taskId: string, input: WorkflowTaskFileUpload) => Promise; read: (taskId: string, fileId: string) => Promise; put: (plan: WorkflowTaskFileUploadPlan, file: File) => Promise; complete: (taskId: string, fileId: string) => Promise; } export declare function assertWorkflowTaskFileUploadPlan(intent: WorkflowTaskFileUploadIntent, plan: WorkflowTaskFileUploadPlan): void; /** A ready receipt is final. A lost completion response never causes another PUT. */ export declare function runWorkflowTaskFileUpload(intent: WorkflowTaskFileUploadIntent, transport: WorkflowTaskFileUploadTransport, recovery?: boolean): Promise; //# sourceMappingURL=workflow-task-file-upload.d.ts.map