import { AuthParams } from '@zeniai/client-epic-state'; export interface UseMissingReceiptsBulkUploadFilesParams { authParams: AuthParams; bulkUploadEndpoint?: string; onBulkUploadFilesFallback?: (files: File[]) => void; /** Report upload progress (0–100) for the nav bar bar; used before success to snap to 100%. */ onBulkUploadProgress?: (percent: number) => void; onBulkUploadSuccess?: (batchId: string) => void; /** * When using `bulkUploadEndpoint`, Redux `bulkUploadReceipts` is not dispatched; call this so * store `uploadedFileCount` stays in sync (banner, selectors). */ onBulkUploadUploadedFileCount?: (count: number) => void; /** Surfaces upload errors (server or network) as a snackbar in the host app. */ onUploadError?: (message: string) => void; } /** * Upload + drag/drop state for Missing Receipts bulk receipt flow. * Used by ExpenseAutomationPage so bulk upload chrome (progress, matching, email, policy) * can render in NavBarWithHeader while MissingReceiptsPage keeps list-level drag targets. */ export declare function useMissingReceiptsBulkUploadFiles(params: UseMissingReceiptsBulkUploadFilesParams): { isDraggingFiles: boolean; uploadFileCount: number; isUploading: boolean; uploadError: string | null; clearUploadError: () => void; handleBulkUploadFiles: (files: File[]) => Promise; handleDragOver: (e: React.DragEvent) => void; handleDragLeave: (e: React.DragEvent) => void; handleDrop: (e: React.DragEvent) => void; }; export type MissingReceiptsBulkUploadInteractions = ReturnType;