import type { PayloadAction } from "@reduxjs/toolkit"; import { CompiledTemplate } from "../../../../flex-ui-core/src"; import { ChannelNoteCodes, DispositionCode, Topic } from "../../../../core/FlexDataClient"; export interface SummaryValidationError { source?: CompiledTemplate; numCharactersOverMax?: number; isPlural?: boolean; maxCharCount?: number; } export interface CustomState { flex?: any; wrapupSummaries?: WrapupSummaryMap; } interface WrapupSummaryMap { [index: string]: WrapupSummaryState; } interface SummaryRequestSids { interactionSid: string; channelSid: string; participantSid?: string; } export interface SubTopicsByParentSid { [key: string]: DataFetchResponse; } export interface DispositionCodesByParentSid { [key: string]: DataFetchResponse; } export interface SelectedTopic { topic?: string; topicSid?: string; subtopic?: string; dispositionCode?: string; errors?: { topicsError?: string; subtopicsError?: string; dispositionCodeError?: string; duplicateTopic?: boolean; }; } export declare enum SummaryGenerationStatus { Pending = "Pending", Succeeded = "Succeeded", Failed = "Failed" } export interface WrapupSummaryState { isManuallyAdding?: boolean; isEditMode?: boolean; hasGenerationFailedError?: boolean; hasSubmissionFailedError?: boolean; hasGenerationCharacterLimitError?: boolean; hasValidationError?: boolean; summaryValidationErrorProps?: SummaryValidationError; hasAgentUpdated?: boolean; generatedSummary?: string; finalSummary?: string; taskSid?: string; summarySid?: string; interactionSid?: string; channelSid?: string; participantSid?: string; summaryGenerationStatus?: SummaryGenerationStatus; currentVersion?: number; generatedSentiment?: string; sentiment?: string; detectedLanguage?: string; generatedDispositionCodeSid?: string; dispositionCodeSid?: string; dispositionCodeOptions?: DispositionCode[]; codes?: ChannelNoteCodes; parentTopics?: DataFetchResponse; subTopicsByParentSid?: SubTopicsByParentSid; dispositionCodesByParentSid?: DispositionCodesByParentSid; selectedTopicInEditMode?: SelectedTopic[]; dispositionHelpText?: string; dispositionHelpTextVariant?: "error" | "default"; dispositionCodeFetched?: boolean; twilioErrorCode?: number; httpStatusCode?: number; wrapupStartTime?: string; wrapupSummaryReceivedTime?: string; } export interface DataFetchResponse { isLoading: boolean; hasError: boolean; data: T; } export declare const initialState: WrapupSummaryMap; interface PayloadTemplate { taskSid: string; value: T; } export declare const customWrapupSummarySlice: import("@reduxjs/toolkit").Slice) => void; removeEntry: (state: WrapupSummaryMap, action: PayloadAction) => void; setIsManuallyAdding: (state: WrapupSummaryMap, action: PayloadAction>) => void; setIsEditMode: (state: WrapupSummaryMap, action: PayloadAction>) => void; setHasGenerationFailedError: (state: WrapupSummaryMap, action: PayloadAction>) => void; setHasSubmissionFailedError: (state: WrapupSummaryMap, action: PayloadAction>) => void; setHTTPStatusCode: (state: WrapupSummaryMap, action: PayloadAction>) => void; setTwilioErrorCode: (state: WrapupSummaryMap, action: PayloadAction>) => void; setHasGenerationCharacterLimitError: (state: WrapupSummaryMap, action: PayloadAction>) => void; removeValidationError: (state: WrapupSummaryMap, action: PayloadAction) => void; setSummaryValidationError: (state: WrapupSummaryMap, action: PayloadAction>) => void; setRequestSids: (state: WrapupSummaryMap, action: PayloadAction>) => void; setSummaryGenerationStatus: (state: WrapupSummaryMap, action: PayloadAction>) => void; setSummarySid: (state: WrapupSummaryMap, action: PayloadAction>) => void; setGeneratedSummary: (state: WrapupSummaryMap, action: PayloadAction>) => void; setFinalSummary: (state: WrapupSummaryMap, action: PayloadAction>) => void; setGeneratedSentiment: (state: WrapupSummaryMap, action: PayloadAction>) => void; setSentiment: (state: WrapupSummaryMap, action: PayloadAction>) => void; setDetectedLanguage: (state: WrapupSummaryMap, action: PayloadAction>) => void; setCurrentVersion: (state: WrapupSummaryMap, action: PayloadAction>) => void; setGeneratedDispositionCodeSid: (state: WrapupSummaryMap, action: PayloadAction>) => void; setDispositionCodeSid: (state: WrapupSummaryMap, action: PayloadAction>) => void; setParentTopics: (state: WrapupSummaryMap, action: PayloadAction>>) => void; setSubTopicsByParentSid: (state: WrapupSummaryMap, action: PayloadAction>) => void; setDispositionCodesByParentSid: (state: WrapupSummaryMap, action: PayloadAction>) => void; setSelectedTopicInEditMode: (state: WrapupSummaryMap, action: PayloadAction>) => void; setDispositionCodeOptions: (state: WrapupSummaryMap, action: PayloadAction>) => void; setCodes: (state: WrapupSummaryMap, action: PayloadAction>) => void; setDispositionFetched: (state: WrapupSummaryMap, action: PayloadAction>) => void; setDispositionHelpText: (state: WrapupSummaryMap, action: PayloadAction>) => void; setDispositionHelpTextVariant: (state: WrapupSummaryMap, action: PayloadAction>) => void; setWrapupStartTime: (state: WrapupSummaryMap, action: PayloadAction>) => void; setSummaryEditStartTime: (state: WrapupSummaryMap, action: PayloadAction>) => void; setHasAgentUpdated: (state: WrapupSummaryMap, action: PayloadAction>) => void; }, "wrapupSummaries">; export declare const selectors: { useStateEntry: (key: string) => WrapupSummaryState; useFinalSummary: (key: string) => string; useSentiment: (key: string) => string; useDispositionCodeSid: (key: string) => string; useDetectedLanguage: (key: string) => string; useParentTopics: (key: string) => DataFetchResponse; useSubTopicsByParentSid: (key: string) => SubTopicsByParentSid; useDispositionCodesByParentSid: (key: string) => DispositionCodesByParentSid; useSelectedTopicInEditMode: (key: string) => SelectedTopic[]; useDispositionCodeOptions: (key: string) => DispositionCode[]; useCodes: (key: string) => ChannelNoteCodes; useDispositionFetched: (key: string) => boolean; useIsEditMode: (key: string) => boolean; useDispositionHelpText: (key: string) => string; useDispositionHelpTextVariant: (key: string) => "error" | "default"; useHasSummaryValidationError: (key: string) => boolean; useHasGenerationFailedError: (key: string) => boolean; useHasSubmissionFailedError: (key: string) => boolean; useHasGenerationCharacterLimitError: (key: string) => boolean; useSummaryValidationErrorProps: (key: string) => SummaryValidationError; useHasAgentUpdated: (key: string) => boolean; }; export declare const actions: import("@reduxjs/toolkit").CaseReducerActions<{ addEmptySummaryEntry: (state: WrapupSummaryMap, action: PayloadAction) => void; removeEntry: (state: WrapupSummaryMap, action: PayloadAction) => void; setIsManuallyAdding: (state: WrapupSummaryMap, action: PayloadAction>) => void; setIsEditMode: (state: WrapupSummaryMap, action: PayloadAction>) => void; setHasGenerationFailedError: (state: WrapupSummaryMap, action: PayloadAction>) => void; setHasSubmissionFailedError: (state: WrapupSummaryMap, action: PayloadAction>) => void; setHTTPStatusCode: (state: WrapupSummaryMap, action: PayloadAction>) => void; setTwilioErrorCode: (state: WrapupSummaryMap, action: PayloadAction>) => void; setHasGenerationCharacterLimitError: (state: WrapupSummaryMap, action: PayloadAction>) => void; removeValidationError: (state: WrapupSummaryMap, action: PayloadAction) => void; setSummaryValidationError: (state: WrapupSummaryMap, action: PayloadAction>) => void; setRequestSids: (state: WrapupSummaryMap, action: PayloadAction>) => void; setSummaryGenerationStatus: (state: WrapupSummaryMap, action: PayloadAction>) => void; setSummarySid: (state: WrapupSummaryMap, action: PayloadAction>) => void; setGeneratedSummary: (state: WrapupSummaryMap, action: PayloadAction>) => void; setFinalSummary: (state: WrapupSummaryMap, action: PayloadAction>) => void; setGeneratedSentiment: (state: WrapupSummaryMap, action: PayloadAction>) => void; setSentiment: (state: WrapupSummaryMap, action: PayloadAction>) => void; setDetectedLanguage: (state: WrapupSummaryMap, action: PayloadAction>) => void; setCurrentVersion: (state: WrapupSummaryMap, action: PayloadAction>) => void; setGeneratedDispositionCodeSid: (state: WrapupSummaryMap, action: PayloadAction>) => void; setDispositionCodeSid: (state: WrapupSummaryMap, action: PayloadAction>) => void; setParentTopics: (state: WrapupSummaryMap, action: PayloadAction>>) => void; setSubTopicsByParentSid: (state: WrapupSummaryMap, action: PayloadAction>) => void; setDispositionCodesByParentSid: (state: WrapupSummaryMap, action: PayloadAction>) => void; setSelectedTopicInEditMode: (state: WrapupSummaryMap, action: PayloadAction>) => void; setDispositionCodeOptions: (state: WrapupSummaryMap, action: PayloadAction>) => void; setCodes: (state: WrapupSummaryMap, action: PayloadAction>) => void; setDispositionFetched: (state: WrapupSummaryMap, action: PayloadAction>) => void; setDispositionHelpText: (state: WrapupSummaryMap, action: PayloadAction>) => void; setDispositionHelpTextVariant: (state: WrapupSummaryMap, action: PayloadAction>) => void; setWrapupStartTime: (state: WrapupSummaryMap, action: PayloadAction>) => void; setSummaryEditStartTime: (state: WrapupSummaryMap, action: PayloadAction>) => void; setHasAgentUpdated: (state: WrapupSummaryMap, action: PayloadAction>) => void; }, "wrapupSummaries">, reducer: import("redux").Reducer; export {};