import { ApolloClient } from '@apollo/client'; import { extractErrorMessage, FilesRetryNotice } from './retryPolicy'; export { extractErrorMessage }; /** * Apollo invalidations every "Save to Files" caller benefits from — pulled * from microfe-files' useUploadFile to keep the browse views in sync. */ export declare const FILES_AFTER_SAVE_REFETCH: string[]; /** Which gateway hop a retry notice is about, so the UI can name it. */ export type SaveToFilesStep = 'folder' | 'initiate' | 'complete'; /** A retry notice with the step attached. */ export interface SaveToFilesRetryNotice extends FilesRetryNotice { step: SaveToFilesStep; } export interface UploadBlobParams { client: ApolloClient; blob: Blob; filename: string; mimeType: string; folderId: string; onProgress?: (pct: number) => void; /** * Fired before each retry wait. The upload is still running — this exists so the UI * can explain a 60-second pause instead of looking frozen. It is never a failure * signal; a genuine failure still arrives as a rejection. */ onRetry?: (notice: SaveToFilesRetryNotice) => void; /** * Test seam for the retry ladder's clock and waits. Production callers never set * these — without them the real ladder (tens of seconds) runs, which is the point. */ now?: () => number; sleep?: (ms: number) => Promise; } export interface UploadedFile { id: string; name: string; folderId: string | null; } export declare function uploadBlobToFiles(params: UploadBlobParams): Promise; //# sourceMappingURL=uploadBlob.d.ts.map