@yext/chat-headless
Version:
A state manager library powered by Redux for Yext Chat integrations
26 lines • 2.19 kB
TypeScript
import { PayloadAction } from "@reduxjs/toolkit";
import { ConversationState } from "../models/slices/ConversationState";
import { Message, MessageNotes } from "@yext/chat-core";
export declare const initialState: ConversationState;
export declare function getStateLocalStorageKey(hostname: string, botId: string): string;
/**
* Loads the {@link ConversationState} from local storage.
*/
export declare const loadSessionState: (botId: string) => ConversationState;
export declare const saveSessionState: (botId: string, state: ConversationState) => ConversationState | undefined;
/**
* Registers with Redux the slice of {@link State} pertaining to the loading status
* of Chat Headless.
*/
export declare const conversationSlice: import("@reduxjs/toolkit").Slice<ConversationState, {
setConversationId: (state: ConversationState, action: PayloadAction<string | undefined>) => void;
setMessages: (state: ConversationState, action: PayloadAction<Message[]>) => void;
addMessage: (state: ConversationState, action: PayloadAction<Message>) => void;
setMessageNotes: (state: ConversationState, action: PayloadAction<MessageNotes>) => void;
setIsLoading: (state: ConversationState, action: PayloadAction<boolean>) => void;
setCanSendMessage: (state: ConversationState, action: PayloadAction<boolean>) => void;
}, "conversation">;
export declare const setMessages: import("@reduxjs/toolkit").ActionCreatorWithPayload<Message[], "conversation/setMessages">, addMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<Message, "conversation/addMessage">, setMessageNotes: import("@reduxjs/toolkit").ActionCreatorWithPayload<MessageNotes, "conversation/setMessageNotes">, setIsLoading: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "conversation/setIsLoading">, setConversationId: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<string | undefined, "conversation/setConversationId">, setCanSendMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "conversation/setCanSendMessage">;
declare const _default: import("redux").Reducer<ConversationState>;
export default _default;
//# sourceMappingURL=conversation.d.ts.map