UNPKG

@difizen/magent-chat

Version:
106 lines 5.18 kB
import { BaseView, Deferred, ViewManager } from '@difizen/mana-app'; import type { RefObject } from 'react'; import rehypeRaw from 'rehype-raw'; import breaks from 'remark-breaks'; import remarkGfm from 'remark-gfm'; import { ConversationManager } from '../chat-base/conversation-manager.js'; import type { BaseConversationModel, IChatMessage } from '../chat-base/protocol.js'; import { ImageModal } from './components/markdown/index.js'; import './index.less'; export interface ChatProps { className?: string; } export declare const DefaultGreeting: () => import("react/jsx-runtime").JSX.Element; export declare const ChatComponent: import("react").ForwardRefExoticComponent<ChatProps & import("react").RefAttributes<HTMLDivElement>>; export interface ChatViewOption extends IChatMessage { id: string; } export declare class ChatView extends BaseView { viewManager: ViewManager; conversationManager: ConversationManager; view: import("react").ForwardRefExoticComponent<ChatProps & import("react").RefAttributes<HTMLDivElement>>; AvatarRender: (props: { item: import("../index.js").DefaultChatMessageItemModel; className?: string | undefined; }) => import("react/jsx-runtime").JSX.Element; Messages: () => import("react/jsx-runtime").JSX.Element; Greeting: () => import("react/jsx-runtime").JSX.Element; Input: () => import("react/jsx-runtime").JSX.Element; Footer: () => import("react/jsx-runtime").JSX.Element; ChatMessage: (props: { message: import("../index.js").DefaultChatMessageModel; }) => import("react/jsx-runtime").JSX.Element; ChatMessageItem: (props: { message: import("../index.js").DefaultChatMessageModel; item: import("../index.js").DefaultChatMessageItemModel; }) => import("react/jsx-runtime").JSX.Element; Markdown: (props: import("./components/markdown/index.js").MarkdownProps) => import("react/jsx-runtime").JSX.Element; getMarkdownProps(): { components: { code: (props: any) => import("react/jsx-runtime").JSX.Element; img: typeof ImageModal; }; remarkPlugins: (typeof remarkGfm | typeof breaks)[]; rehypePlugins: (typeof rehypeRaw)[]; }; option: ChatViewOption; allowUploadingImage: boolean; handleUploadImage: (e: any, calback: (params: any) => void) => { new (executor: (resolve: (value: void | PromiseLike<void>) => void, reject: (reason?: any) => void) => void): Promise<void>; all<T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>; all<T_1 extends [] | readonly unknown[]>(values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited<T_1[P]>; }>; race<T_2>(values: Iterable<T_2 | PromiseLike<T_2>>): Promise<Awaited<T_2>>; race<T_3 extends [] | readonly unknown[]>(values: T_3): Promise<Awaited<T_3[number]>>; readonly prototype: Promise<any>; reject<T_4 = never>(reason?: any): Promise<T_4>; resolve(): Promise<void>; resolve<T_5>(value: T_5): Promise<Awaited<T_5>>; resolve<T_6>(value: T_6 | PromiseLike<T_6>): Promise<Awaited<T_6>>; allSettled<T_7 extends [] | readonly unknown[]>(values: T_7): Promise<{ -readonly [P_1 in keyof T_7]: PromiseSettledResult<Awaited<T_7[P_1]>>; }>; allSettled<T_8>(values: Iterable<T_8 | PromiseLike<T_8>>): Promise<PromiseSettledResult<Awaited<T_8>>[]>; any<T_9 extends [] | readonly unknown[]>(values: T_9): Promise<Awaited<T_9[number]>>; any<T_10>(values: Iterable<T_10 | PromiseLike<T_10>>): Promise<Awaited<T_10>>; readonly [Symbol.species]: PromiseConstructor; }; showToBottomBtn: boolean; conversation?: BaseConversationModel; conversationReady: Promise<BaseConversationModel>; protected conversationDeferred: Deferred<BaseConversationModel>; /** * A container DOM node for messages, * making it convenient for scroll control and other functions. */ protected messageListRef?: RefObject<HTMLDivElement>; constructor(option: ChatViewOption); get sendable(): boolean; protected toMessageOption(msgContent: string, image?: string): { image?: string | undefined; sender: { type: string; }; input: string; id: string; created?: string | undefined; messages?: import("../chat-base/protocol.js").IChatMessageItem[] | undefined; modified?: string | undefined; stream: boolean; token?: any; }; sendMessage: (msgContent: string, image?: string) => Promise<void>; onViewMount(): void; protected toConversationOption(): { messages: never[]; id: string; created?: string | undefined; input?: string | undefined; modified?: string | undefined; stream?: boolean | undefined; token?: any; }; protected initConversation: () => Promise<void>; clear: () => Promise<void>; scrollToBottom: (immediately?: boolean, smoothly?: boolean) => void; onScroll: () => void; setMessageListContainer: (domRef: RefObject<HTMLDivElement>) => void; } //# sourceMappingURL=view.d.ts.map