sandeep-react-chatbotify
Version:
A modern React library for creating flexible and extensible chatbots.
51 lines • 2.17 kB
TypeScript
import { Dispatch, SetStateAction } from "react";
import { Settings } from "../types/Settings";
/**
* Creates the useBotStatesContext() hook to manage common states.
*/
export type BotStatesContextType = {
isBotTyping: boolean;
setIsBotTyping: Dispatch<SetStateAction<boolean>>;
isChatWindowOpen: boolean;
setIsChatWindowOpen: Dispatch<SetStateAction<boolean>>;
audioToggledOn: boolean;
setAudioToggledOn: Dispatch<SetStateAction<boolean>>;
voiceToggledOn: boolean;
setVoiceToggledOn: Dispatch<SetStateAction<boolean>>;
notificationsToggledOn: boolean;
setNotificationsToggledOn: Dispatch<SetStateAction<boolean>>;
isLoadingChatHistory: boolean;
setIsLoadingChatHistory: Dispatch<SetStateAction<boolean>>;
isScrolling: boolean;
setIsScrolling: Dispatch<SetStateAction<boolean>>;
textAreaDisabled: boolean;
setTextAreaDisabled: Dispatch<SetStateAction<boolean>>;
textAreaSensitiveMode: boolean;
setTextAreaSensitiveMode: Dispatch<SetStateAction<boolean>>;
hasInteractedPage: boolean;
setHasInteractedPage: Dispatch<SetStateAction<boolean>>;
hasFlowStarted: boolean;
setHasFlowStarted: Dispatch<SetStateAction<boolean>>;
unreadCount: number;
setUnreadCount: Dispatch<SetStateAction<number>>;
inputLength: number;
setInputLength: Dispatch<SetStateAction<number>>;
blockAllowsAttachment: boolean;
setBlockAllowsAttachment: Dispatch<SetStateAction<boolean>>;
timeoutId: ReturnType<typeof setTimeout> | null;
setTimeoutId: Dispatch<SetStateAction<ReturnType<typeof setTimeout> | null>>;
viewportHeight: number;
setViewportHeight: Dispatch<SetStateAction<number>>;
viewportWidth: number;
setViewportWidth: Dispatch<SetStateAction<number>>;
};
declare const useBotStatesContext: () => BotStatesContextType;
/**
* Creates provider to wrap the chatbot container.
*/
declare const BotStatesProvider: ({ children, settings }: {
children: React.ReactNode;
settings?: Settings | undefined;
}) => import("react/jsx-runtime").JSX.Element;
export { useBotStatesContext, BotStatesProvider };
//# sourceMappingURL=BotStatesContext.d.ts.map