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; interface UseMessageTemplateUtilsProps { sdk: SendbirdChat; logger: LoggerInterface; appInfoStore: AppInfoStateType; actions: ReturnType['actions']; } export interface UseMessageTemplateUtilsWrapper { getCachedTemplate: (key: string) => ProcessedMessageTemplate | null; updateMessageTemplatesInfo: (templateKeys: string[], messageId: number, requestedAt: number) => Promise; initializeMessageTemplatesInfo: (readySdk: SendbirdChat) => Promise; } export default function useMessageTemplateUtils({ sdk, logger, appInfoStore, actions, }: UseMessageTemplateUtilsProps): UseMessageTemplateUtilsWrapper; export {};