import type { ChatBotRegistrationStatus as ChatBotRegistrationStatusCodec, ChatMessageContent as ChatMessageContentCodec, ChatRoom as ChatRoomCodec, ChatRoomRegistrationStatus as ChatRoomRegistrationStatusCodec, CodecType, ReceivedChatAction as ReceivedChatActionCodec, Subscription, Transport } from '@novasamatech/host-api'; import { CustomRendererNode } from '@novasamatech/host-api'; export type ChatMessageContent = CodecType; export type ChatReceivedAction = CodecType; export type ChatRoomRegistrationResult = CodecType; export type ChatBotRegistrationResult = CodecType; export type ChatRoom = CodecType; export type ChatCustomMessageRenderer = (params: ChatCustomMessageRendererParams, render: (node: CodecType) => void) => VoidFunction; export type ChatCustomMessageRendererParams = { messageId: string; messageType: string; payload: T; subscribeActions(callback: (actionId: string, payload: Uint8Array | undefined) => void): VoidFunction; }; export declare const createProductChatManager: (transport?: Transport) => { registerRoom(params: { roomId: string; name: string; icon: string; }): Promise<"New" | "Exists">; registerBot(params: { botId: string; name: string; icon: string; }): Promise<"New" | "Exists">; sendMessage(roomId: string, payload: ChatMessageContent): Promise<{ messageId: string; }>; subscribeChatList(callback: (rooms: ChatRoom[]) => void): Subscription; subscribeAction(callback: (action: ChatReceivedAction) => void): Subscription; onCustomMessageRenderingRequest(callback: ChatCustomMessageRenderer): VoidFunction; }; export declare function matchChatCustomRenderers(map: Record): ChatCustomMessageRenderer;