import { CaseDiagnosticsStatus, ICaseDiagnosticsResponse } from '@cee-eng/hydrajs/@types/api/pcm/preCaseDiagnostics'; import { Report } from '@cee-eng/hydrajs/@types/models/insights'; import { IAction } from '@rh-support/types/shared'; import { IMultipartResumeData, ISinglePutResumeData } from '@rh-support/utils'; export declare enum AttachmentReducerConstants { caseFileSelected = "caseFileSelected", caseLocalFileEdited = "caseLocalFileEdited", caseFileDeleted = "caseFileDeleted", resetAttachment = "resetAttachment", caseFileIncludeExclude = "caseFileIncludeExclude", updateAttachmentIdForFile = "updateAttachmentIdForFile", updateAnalysisMetadata = "updateAnalysisMetadata", udpateFileUploadMetadata = "udpateFileUploadMetadata", setShowUploadingOnSlowConnectionMsg = "setShowUploadingOnSlowConnectionMsg", clearCompletedAttachments = "clearCompletedAttachments" } export declare enum UploadStatusConstants { attachedOnCase = "ATTACHED_ON_CASE", attachedOnSession = "ATTACHED_ON_SESSION", uploadingOnCase = "UPLOADING_ON_CASE", uploadingOnSession = "UPLOADING_ON_SESSION", verifyingCaseUpload = "VERIFYING_CASE_UPLOAD", verifyingSessionUpload = "VERIFYING_SESSION_UPLOAD", uploadedOnCase = "UPLOADED_ON_CASE", uploadedOnSession = "UPLOADED_ON_SESSION", uploadOnCaseFailed = "UPLOAD_ON_CASE_FAILED", uploadOnSessionFailed = "UPLOAD_ON_SESSION_FAILED", movingToCase = "MOVING_TO_CASE", aborted = "ABORTED", deleted = "DELETED", restoredFromSession = "restoredFromSession" } export declare enum AnalysisStatusConstants { analysisNotStarted = "ANALYSIS_NOT_STARTED", analysisInProgess = "ANALYSIS_IN_PROGRESS", analysisComplete = "ANALYSIS_COMPLETE", analysisFailed = "ANALYSIS_FAILED", analysisSkipped = "ANALYSIS_SKIPPED" } export interface IAbleToUpload { ableToUpload: boolean; ableToUploadMessage: string; } export interface IAnalysisResults extends ICaseDiagnosticsResponse { kcsIdRuleMap: { [key: string]: { report: Report; ruleId: string; isNew: boolean; }; }; } export interface IUploadMetadata { uploadStatus: UploadStatusConstants; uploadErrorMessage: string; onAbort: (abortedFileIndex: number) => void; percentUploaded: number; multipartResumeState?: IMultipartResumeData; /** SINGLE_PUT retry: same attachmentId + presigned URL (avoids duplicate Failed SFDC rows). */ singlePutResumeState?: ISinglePutResumeData; } export interface IAnalysisMetadata { analysisErrorMesssage?: string; analysisStatus: AnalysisStatusConstants; diagnosticsStatus: CaseDiagnosticsStatus; analysisResults: IAnalysisResults; } export interface IFileLocal { name: string; size: number; lastModified: number; type: string; description: string; uploadProgress: IUploadMetadata; analysisMetadata: IAnalysisMetadata; uploadability: IAbleToUpload; includeResults: boolean; isPrivate: boolean; attachmentId?: string; } export interface ICaseFiles { selectedLocalFiles: IFileLocal[]; selectedOriginalFiles: File[]; } export interface IAttachemntState { caseFiles: ICaseFiles; includeAnalysisResults: boolean; showUploadingOnSlowConnectionMsg?: boolean; } export declare const defaultUploadMetadata: IUploadMetadata; export declare const defaultAnalysisMetadata: IAnalysisMetadata; export declare const initialAttachmentState: IAttachemntState; export interface IAttachmentPayloadType extends IAttachemntState { editedLocalFile: IFileLocal; fileIndexToEdit: number; fileIndexToRemove: number; fileIndexToIncludeExclude: number; includeResults: boolean; attachmentId: string; analysisMetadata: Partial; uploadProgress: Partial; } type IActionType = IAction; export type AttachmentReducerDispatchType = (value: IActionType) => void; export declare const attachmentReducer: (pState: IAttachemntState, action: IActionType) => IAttachemntState; export declare const onFilesSelect: (dispatch: AttachmentReducerDispatchType, caseFiles: ICaseFiles) => void; export declare const onFileEdit: (dispatch: AttachmentReducerDispatchType, editedLocalFile: IFileLocal, fileIndexToEdit: number) => void; export declare const onFileRemove: (dispatch: AttachmentReducerDispatchType, fileIndexToRemove: number) => void; export declare const resetAttachment: (dispatch: AttachmentReducerDispatchType) => void; export declare const clearCompletedAttachments: (dispatch: AttachmentReducerDispatchType) => void; export declare const onIncludeExcludeResults: (dispatch: AttachmentReducerDispatchType, includeResults: boolean) => void; export declare const updateAttachmentIdForFile: (dispatch: AttachmentReducerDispatchType, attachmentId: string, fileIndexToEdit: number) => void; export declare const updateAnalysisMetadata: (dispatch: AttachmentReducerDispatchType, analysisMetadata: Partial, fileIndexToEdit: number) => void; export declare const udpateFileUploadMetadata: (dispatch: AttachmentReducerDispatchType, uploadProgress: Partial, fileIndexToEdit: number) => void; export {}; //# sourceMappingURL=AttachmentReducer.d.ts.map