@sendbird/uikit-react
Version:
Sendbird UIKit for React: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.
24 lines (23 loc) • 1.35 kB
TypeScript
import SendbirdChat from '@sendbird/chat';
import { AppInfoStateType, ProcessedMessageTemplate } from '../Sendbird/types';
import { SendbirdMessageTemplate } from '../../ui/TemplateMessageItemBody/types';
import { LoggerInterface } from '../Logger';
import useSendbird from '../Sendbird/context/hooks/useSendbird';
/**
* Takes JSON parsed template and then returns processed message template for storing it in global state.
*/
export declare const getProcessedTemplate: (parsedTemplate: SendbirdMessageTemplate) => ProcessedMessageTemplate;
export declare const getProcessedTemplatesMap: (parsedTemplates: SendbirdMessageTemplate[]) => Record<string, ProcessedMessageTemplate>;
interface UseMessageTemplateUtilsProps {
sdk: SendbirdChat;
logger: LoggerInterface;
appInfoStore: AppInfoStateType;
actions: ReturnType<typeof useSendbird>['actions'];
}
export interface UseMessageTemplateUtilsWrapper {
getCachedTemplate: (key: string) => ProcessedMessageTemplate | null;
updateMessageTemplatesInfo: (templateKeys: string[], messageId: number, requestedAt: number) => Promise<void>;
initializeMessageTemplatesInfo: (readySdk: SendbirdChat) => Promise<void>;
}
export default function useMessageTemplateUtils({ sdk, logger, appInfoStore, actions, }: UseMessageTemplateUtilsProps): UseMessageTemplateUtilsWrapper;
export {};