import { ChatComposerAttachment, ChatComposerEmits, ChatComposerProps, ChatComposerTrayPlacement, ChatListProps, ChatMessageAttachment, ChatMessageAttachmentImage, ChatMessageEmits, ChatMessageModel, ChatMessageProps, ChatMessageRole, TypingIndicatorProps } from './src/types'; import { default as TxChatComposer } from './src/TxChatComposer.vue'; import { default as TxChatList } from './src/TxChatList.vue'; import { default as TxChatMessage } from './src/TxChatMessage.vue'; import { default as TxTypingIndicator } from './src/TxTypingIndicator.vue'; declare const ChatList: { new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins; }>; markdown?: boolean; stagger?: boolean; attachmentLabel?: string; }> & Readonly<{ onImageClick?: ((payload: { url: string; name?: string; messageId: string; }) => any) | undefined; }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { imageClick: (payload: { url: string; name?: string; messageId: string; }) => any; }, import('vue').PublicProps, { markdown: boolean; stagger: boolean; }, false, {}, {}, Record, Record, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<{ messages: Array<{ id: string; role: "user" | "assistant" | "system"; content: string; createdAt?: number; avatarUrl?: string; attachments?: Array<{ type: "image"; url: string; name?: string; }>; }>; markdown?: boolean; stagger?: boolean; attachmentLabel?: string; }> & Readonly<{ onImageClick?: ((payload: { url: string; name?: string; messageId: string; }) => any) | undefined; }>, {}, {}, {}, {}, { markdown: boolean; stagger: boolean; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import('vue').ComponentOptionsBase; }>; markdown?: boolean; stagger?: boolean; attachmentLabel?: string; }> & Readonly<{ onImageClick?: ((payload: { url: string; name?: string; messageId: string; }) => any) | undefined; }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { imageClick: (payload: { url: string; name?: string; messageId: string; }) => any; }, string, { markdown: boolean; stagger: boolean; }, {}, string, {}, Record, Record, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & import('vue').Plugin; declare const ChatMessage: { new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins; }; markdown?: boolean; attachmentLabel?: string; }> & Readonly<{ onImageClick?: ((payload: { url: string; name?: string; messageId: string; }) => any) | undefined; }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { imageClick: (payload: { url: string; name?: string; messageId: string; }) => any; }, import('vue').PublicProps, { markdown: boolean; attachmentLabel: string; }, false, {}, {}, Record, Record, string, {}, HTMLElement, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<{ message: { id: string; role: "user" | "assistant" | "system"; content: string; createdAt?: number; avatarUrl?: string; attachments?: Array<{ type: "image"; url: string; name?: string; }>; }; markdown?: boolean; attachmentLabel?: string; }> & Readonly<{ onImageClick?: ((payload: { url: string; name?: string; messageId: string; }) => any) | undefined; }>, {}, {}, {}, {}, { markdown: boolean; attachmentLabel: string; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import('vue').ComponentOptionsBase; }; markdown?: boolean; attachmentLabel?: string; }> & Readonly<{ onImageClick?: ((payload: { url: string; name?: string; messageId: string; }) => any) | undefined; }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { imageClick: (payload: { url: string; name?: string; messageId: string; }) => any; }, string, { markdown: boolean; attachmentLabel: string; }, {}, string, {}, Record, Record, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => { $slots: { avatar?(_: { message: { id: string; role: "user" | "assistant" | "system"; content: string; createdAt?: number; avatarUrl?: string; attachments?: Array<{ type: "image"; url: string; name?: string; }>; }; }): any; header?(_: { message: { id: string; role: "user" | "assistant" | "system"; content: string; createdAt?: number; avatarUrl?: string; attachments?: Array<{ type: "image"; url: string; name?: string; }>; }; }): any; content?(_: { message: { id: string; role: "user" | "assistant" | "system"; content: string; createdAt?: number; avatarUrl?: string; attachments?: Array<{ type: "image"; url: string; name?: string; }>; }; }): any; }; }) & import('vue').Plugin; declare const ChatComposer: { new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins; default: () => never[]; }; trayPlacement: { type: import('vue').PropType; default: string; }; trayLabel: { type: StringConstructor; default: undefined; }; }>> & Readonly<{ onBlur?: ((event: FocusEvent) => any) | undefined; onFocus?: ((event: FocusEvent) => any) | undefined; onPaste?: ((event: ClipboardEvent) => any) | undefined; "onUpdate:modelValue"?: ((value: string) => any) | undefined; onSend?: ((payload: { text: string; }) => any) | undefined; onAttachmentClick?: (() => any) | undefined; onAttachmentAdd?: ((files: File[]) => any) | undefined; }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { blur: (event: FocusEvent) => any; focus: (event: FocusEvent) => any; paste: (event: ClipboardEvent) => any; "update:modelValue": (value: string) => any; send: (payload: { text: string; }) => any; attachmentClick: () => any; attachmentAdd: (files: File[]) => any; }, import('vue').PublicProps, { ariaLabel: string; disabled: boolean; placeholder: string; modelValue: string; attachments: ChatComposerAttachment[]; submitting: boolean; allowAttachmentWhileSubmitting: boolean; minRows: number; maxRows: number; sendOnEnter: boolean; sendOnMetaEnter: boolean; allowEmptySend: boolean; sendButtonText: string; showAttachmentButton: boolean; attachmentButtonText: string; trayPlacement: ChatComposerTrayPlacement; trayLabel: string; }, true, {}, {}, Record, Record, string, { shellRef: HTMLDivElement; topTrayRef: HTMLDivElement; cardRef: HTMLDivElement; textareaRef: HTMLTextAreaElement; bottomTrayRef: HTMLDivElement; }, HTMLDivElement, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly; default: () => never[]; }; trayPlacement: { type: import('vue').PropType; default: string; }; trayLabel: { type: StringConstructor; default: undefined; }; }>> & Readonly<{ onBlur?: ((event: FocusEvent) => any) | undefined; onFocus?: ((event: FocusEvent) => any) | undefined; onPaste?: ((event: ClipboardEvent) => any) | undefined; "onUpdate:modelValue"?: ((value: string) => any) | undefined; onSend?: ((payload: { text: string; }) => any) | undefined; onAttachmentClick?: (() => any) | undefined; onAttachmentAdd?: ((files: File[]) => any) | undefined; }>, {}, {}, {}, {}, { ariaLabel: string; disabled: boolean; placeholder: string; modelValue: string; attachments: ChatComposerAttachment[]; submitting: boolean; allowAttachmentWhileSubmitting: boolean; minRows: number; maxRows: number; sendOnEnter: boolean; sendOnMetaEnter: boolean; allowEmptySend: boolean; sendButtonText: string; showAttachmentButton: boolean; attachmentButtonText: string; trayPlacement: ChatComposerTrayPlacement; trayLabel: string; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import('vue').ComponentOptionsBase; default: () => never[]; }; trayPlacement: { type: import('vue').PropType; default: string; }; trayLabel: { type: StringConstructor; default: undefined; }; }>> & Readonly<{ onBlur?: ((event: FocusEvent) => any) | undefined; onFocus?: ((event: FocusEvent) => any) | undefined; onPaste?: ((event: ClipboardEvent) => any) | undefined; "onUpdate:modelValue"?: ((value: string) => any) | undefined; onSend?: ((payload: { text: string; }) => any) | undefined; onAttachmentClick?: (() => any) | undefined; onAttachmentAdd?: ((files: File[]) => any) | undefined; }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { blur: (event: FocusEvent) => any; focus: (event: FocusEvent) => any; paste: (event: ClipboardEvent) => any; "update:modelValue": (value: string) => any; send: (payload: { text: string; }) => any; attachmentClick: () => any; attachmentAdd: (files: File[]) => any; }, string, { ariaLabel: string; disabled: boolean; placeholder: string; modelValue: string; attachments: ChatComposerAttachment[]; submitting: boolean; allowAttachmentWhileSubmitting: boolean; minRows: number; maxRows: number; sendOnEnter: boolean; sendOnMetaEnter: boolean; allowEmptySend: boolean; sendButtonText: string; showAttachmentButton: boolean; attachmentButtonText: string; trayPlacement: ChatComposerTrayPlacement; trayLabel: string; }, {}, string, {}, Record, Record, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => { $slots: { tray?(_: {}): any; tray?(_: {}): any; attachments?(_: { attachments: ChatComposerAttachment[]; }): any; toolbar?(_: { send: () => void; disabled: boolean; attachmentClick: () => void; }): any; 'toolbar-left'?(_: { disabled: boolean; }): any; actions?(_: { send: () => void; disabled: boolean; }): any; footer?(_: {}): any; }; }) & import('vue').Plugin; declare const TypingIndicator: { new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, { text: string; variant: "dots" | "ai" | "pure" | "ring" | "circle-dash" | "bars"; size: number; gap: number; showText: boolean; loaderSize: number; pureSize: number; ringSize: number; ringThickness: number; circleDashSize: number; circleDashThickness: number; circleDashDashDeg: number; circleDashGapDeg: number; barsSize: number; }, false, {}, {}, Record, Record, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly & Readonly<{}>, {}, {}, {}, {}, { text: string; variant: "dots" | "ai" | "pure" | "ring" | "circle-dash" | "bars"; size: number; gap: number; showText: boolean; loaderSize: number; pureSize: number; ringSize: number; ringThickness: number; circleDashSize: number; circleDashThickness: number; circleDashDashDeg: number; circleDashGapDeg: number; barsSize: number; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import('vue').ComponentOptionsBase & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, { text: string; variant: "dots" | "ai" | "pure" | "ring" | "circle-dash" | "bars"; size: number; gap: number; showText: boolean; loaderSize: number; pureSize: number; ringSize: number; ringThickness: number; circleDashSize: number; circleDashThickness: number; circleDashDashDeg: number; circleDashGapDeg: number; barsSize: number; }, {}, string, {}, Record, Record, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & import('vue').Plugin; export { ChatComposer, ChatList, ChatMessage, TxChatComposer, TxChatList, TxChatMessage, TxTypingIndicator, TypingIndicator, }; export type { ChatComposerAttachment, ChatComposerEmits, ChatComposerProps, ChatComposerTrayPlacement, ChatListProps, ChatMessageAttachment, ChatMessageAttachmentImage, ChatMessageEmits, ChatMessageModel, ChatMessageProps, ChatMessageRole, TypingIndicatorProps, }; export default ChatList;