import { CaseDiagnosticsStatus } from '@cee-eng/hydrajs/@types/api/pcm/preCaseDiagnostics'; import { ISlowUploadDetectionConfig } from '@cee-eng/hydrajs/@types/models/attachment'; import { ApolloQueryClient } from '@rh-support/utils'; import { AnalysisStatusConstants, AttachmentReducerDispatchType, IAnalysisResults, ICaseFiles, IFileLocal, IUploadMetadata, UploadStatusConstants } from './AttachmentReducer'; export declare const onDrop: (dispatchToAttachmentReducer: AttachmentReducerDispatchType, isSessionId: boolean, isPrivate?: boolean) => (acceptedFiles: File[]) => void; export declare const isUploadingOnSession: (status: string) => status is UploadStatusConstants.uploadingOnSession; export declare const isUploadingOnCase: (status: string) => status is UploadStatusConstants.uploadingOnCase; export declare const isAttachedOnCase: (status: string) => status is UploadStatusConstants.attachedOnCase; export declare const isVerifyingSessionUpload: (status: string) => status is UploadStatusConstants.verifyingSessionUpload; export declare const isVerifyingCaseUpload: (status: string) => status is UploadStatusConstants.verifyingCaseUpload; export declare const isRestoredFromSession: (status: string) => status is UploadStatusConstants.restoredFromSession; export declare const isSessionUploadComplete: (status: string) => status is UploadStatusConstants.uploadedOnSession | UploadStatusConstants.restoredFromSession; export declare const isCaseUploadComplete: (status: string) => status is UploadStatusConstants.uploadedOnCase; export declare const isSessionUploadFailed: (status: string) => status is UploadStatusConstants.uploadOnSessionFailed; export declare const isCaseUploadFailed: (status: string) => status is UploadStatusConstants.uploadOnCaseFailed; export declare const isMovingToCase: (status: string) => status is UploadStatusConstants.movingToCase; export declare const isAnalysisNotStarted: (status: string) => status is AnalysisStatusConstants.analysisNotStarted; export declare const isAnalysingFile: (status: string) => status is AnalysisStatusConstants.analysisInProgess; export declare const isAnalysisComplete: (status: string) => status is AnalysisStatusConstants.analysisComplete; export declare const isAnalysisFailed: (status: string) => status is AnalysisStatusConstants.analysisFailed; export declare const isAnalysisSkipped: (status: string) => status is AnalysisStatusConstants.analysisSkipped; export declare const isVerifyingUpload: (status: string) => status is UploadStatusConstants.verifyingCaseUpload | UploadStatusConstants.verifyingSessionUpload; export declare const isUploading: (status: string) => status is UploadStatusConstants.uploadingOnCase | UploadStatusConstants.uploadingOnSession | UploadStatusConstants.verifyingCaseUpload | UploadStatusConstants.verifyingSessionUpload | UploadStatusConstants.movingToCase; export declare const isUploadComplete: (status: string) => status is UploadStatusConstants.uploadedOnCase | UploadStatusConstants.uploadedOnSession | UploadStatusConstants.restoredFromSession; export declare const isUploadFailed: (status: string) => status is UploadStatusConstants.uploadOnCaseFailed | UploadStatusConstants.uploadOnSessionFailed; export declare const isUploadAborted: (status: string) => status is UploadStatusConstants.aborted; export declare const isFileDeleted: (status: string) => status is UploadStatusConstants.deleted; /** True when local resume state still has a non-empty Hydra/S3 presigned URL (single PUT or multipart). */ export declare const hasRetryablePresignedUrl: (localFile: IFileLocal) => boolean; /** * Session uploads do not use Hydra resume URLs — always allow retry. * Case uploads only allow retry while we still have a local presigned URL (lost on refresh / remount). */ export declare const canShowUploadRetry: (localFile: IFileLocal, isSessionId?: boolean) => boolean; export declare const hasUploadedSomeAttachments: (selectedLocalFiles: IFileLocal[]) => boolean; export declare const hasAnalysedSomeAttachments: (selectedLocalFiles: IFileLocal[]) => boolean; export declare const hasSomeUnUploadedAttachments: (selectedLocalFiles: IFileLocal[]) => boolean; /** * Files still queued to start uploading. Aborted/failed are terminal and must not * block post-upload discussion refresh when other files in the batch succeeded. */ export declare const hasQueuedAttachmentUploads: (selectedLocalFiles: IFileLocal[]) => boolean; /** Aborted/failed rows should stay in the upload panel until the user clicks Remove. */ export declare const hasAbortedOrFailedAttachments: (selectedLocalFiles: IFileLocal[]) => boolean; /** True when at least one non-deleted file remains in the upload queue (UI visibility). */ export declare const hasSomeSelectedFiles: (selectedLocalFiles: IFileLocal[]) => boolean; /** Abort a background S3 upload by attachment UUID (if one is still in-flight). */ export declare const abortBackgroundUpload: (attachmentId: string) => boolean; export declare const clearUploadRuntimeState: () => void; export declare const isUploadingAttachment: (selectedLocalFiles: IFileLocal[]) => boolean; export declare const isAnalysingAnyAttachment: (selectedLocalFiles: IFileLocal[]) => boolean; export declare const canShowProgressBar: (file: IFileLocal) => boolean; /** Case discussion: show radial progress while queued (attachedOnCase) or actively uploading. */ export declare const shouldShowUploadProgressIndicator: (file: IFileLocal, isSessionUpload: boolean) => boolean; export declare const shouldHideDescription: (file: IFileLocal, isSessionUpload: boolean) => boolean; export declare const isUploadOnTrack: (file: IFileLocal) => boolean; export declare const isUploadedAndAnalyzed: (file: IFileLocal) => boolean; export declare const isUploadedAndAnalysisFailed: (file: IFileLocal) => boolean; export declare const isUploadedSuccessfully: (file: IFileLocal) => string; export declare const isUploadedAndAnalysisSkipped: (file: IFileLocal) => boolean; export declare const updateUploadMetadata: (dispatch: AttachmentReducerDispatchType, fileIndexToEdit: number, newUploadMetadata: Partial) => void; export declare const uploadAllFiles: ({ dispatch, idToUploadTo, caseFiles, needsAnalyzing, isSessionId, slowUploadConfig, apolloClient, caseSalesforceId, onCaseFileUploaded, }: { dispatch: AttachmentReducerDispatchType; idToUploadTo: string; caseFiles: ICaseFiles; needsAnalyzing?: boolean; isSessionId?: boolean; slowUploadConfig?: ISlowUploadDetectionConfig; apolloClient?: ApolloQueryClient; caseSalesforceId?: string; onCaseFileUploaded?: () => void; }) => Promise; export declare const uploadFile: ({ dispatch, idToUploadTo, localFile, originalFile, index, needsAnalyzing, isSessionId, slowUploadConfig, apolloClient, caseSalesforceId, onCaseFileUploaded, }: { dispatch: AttachmentReducerDispatchType; idToUploadTo: string; localFile: IFileLocal; originalFile: File; index: number; needsAnalyzing?: boolean; isSessionId?: boolean; slowUploadConfig?: ISlowUploadDetectionConfig; apolloClient?: ApolloQueryClient; caseSalesforceId?: string; onCaseFileUploaded?: () => void; }) => Promise; export declare function doSosReportAnalysisForAllFiles(dispatch: any, idToUploadTo: string, localFiles: IFileLocal[], isSessionId: boolean): Promise; export declare function doSosReportAnalysisForFile(dispatch: any, idToUploadTo: string, attachmentId: string, localFile: IFileLocal, isSessionId: boolean, fileIndex: number, fileUploadStatus?: UploadStatusConstants): Promise; export declare function computeAnalysisResults(idToUploadTo: string, attachmentId: string, fileSize: number, isSessionId: boolean, listener: (status: CaseDiagnosticsStatus) => void): Promise; export declare function moveSessionAttachmentToCase(dispatch: any, caseNumber: string, sessionId: string, localFile: IFileLocal, fileIndex: number, apolloClient?: ApolloQueryClient, caseSalesforceId?: string): Promise; export declare function restoreFilesFromSession(dispatch: any, sessionId: string): Promise; export declare function isFileAnalysisFailedForAllFiles(localFiles: IFileLocal[]): boolean; export declare function isAnyFileAttached(localFiles: IFileLocal[]): boolean; export declare const isDiagnosticsAttachment: (attachment: IFileLocal) => boolean; export declare const potentialSosreportMimeTypes: string[]; export declare const isAnyFileDiagnosticsAttachment: (selectedLocalFiles: IFileLocal[]) => boolean; export declare const trackSlowUpload: (dispatch: any) => void; //# sourceMappingURL=AttachmentHelper.d.ts.map