/* eslint-disable */ /* tslint:disable */ /** * This is an autogenerated file created by the Stencil compiler. * It contains typing information for all components that exist in this project. */ import { HTMLStencilElement, JSXBase } from "@stencil/core/internal"; import { ChatMessage } from "./components/ai-chat/ai-chat"; export { ChatMessage } from "./components/ai-chat/ai-chat"; export namespace Components { interface AiChat { /** * AI头像URL * @default '' */ "aiAvatar": string; /** * 自定义渲染器映射 * @default {} */ "customRenderers": { [key: string]: string }; /** * 是否禁用输入 * @default false */ "inputDisabled": boolean; /** * 输入框占位符 * @default '输入消息...' */ "inputPlaceholder": string; /** * 最大输入长度 * @default 1000 */ "maxInputLength": number; /** * 聊天消息列表 * @default [] */ "messages": ChatMessage[]; /** * 是否支持多行输入 * @default true */ "multilineInput": boolean; /** * 是否显示AI头像 * @default true */ "showAiAvatar": boolean; /** * 是否显示输入框 * @default true */ "showInput": boolean; /** * 是否显示时间戳 * @default true */ "showTimestamp": boolean; /** * 是否显示用户头像 * @default true */ "showUserAvatar": boolean; /** * 用户头像URL * @default '' */ "userAvatar": string; } interface InternalEchartsRenderer { "content": any; /** * @default '300px' */ "height": string; /** * @default true */ "responsive": boolean; /** * @default true */ "showLoading": boolean; /** * @default 'default' */ "theme": string; /** * @default '100%' */ "width": string; } interface InternalMarkdownRenderer { /** * @default '' */ "content": string; /** * @default true */ "enableFootnotes": boolean; /** * @default true */ "enableTables": boolean; /** * @default true */ "enableTaskLists": boolean; /** * @default true */ "highlightCode": boolean; } interface InternalMessageInput { /** * @default false */ "disabled": boolean; /** * @default 1000 */ "maxLength": number; /** * @default false */ "multiline": boolean; /** * @default '输入消息...' */ "placeholder": string; /** * @default '发送' */ "sendButtonText": string; /** * @default true */ "showCharCount": boolean; } interface InternalTextRenderer { /** * @default true */ "autoLink": boolean; /** * @default '' */ "content": string; /** * @default false */ "highlightCode": boolean; /** * @default true */ "preserveWhitespace": boolean; } } export interface AiChatCustomEvent extends CustomEvent { detail: T; target: HTMLAiChatElement; } export interface InternalMessageInputCustomEvent extends CustomEvent { detail: T; target: HTMLInternalMessageInputElement; } declare global { interface HTMLAiChatElementEventMap { "messageClick": ChatMessage; "messageLongPress": ChatMessage; "messageSend": { content: string; timestamp: number }; } interface HTMLAiChatElement extends Components.AiChat, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLAiChatElement, ev: AiChatCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLAiChatElement, ev: AiChatCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLAiChatElement: { prototype: HTMLAiChatElement; new (): HTMLAiChatElement; }; interface HTMLInternalEchartsRendererElement extends Components.InternalEchartsRenderer, HTMLStencilElement { } var HTMLInternalEchartsRendererElement: { prototype: HTMLInternalEchartsRendererElement; new (): HTMLInternalEchartsRendererElement; }; interface HTMLInternalMarkdownRendererElement extends Components.InternalMarkdownRenderer, HTMLStencilElement { } var HTMLInternalMarkdownRendererElement: { prototype: HTMLInternalMarkdownRendererElement; new (): HTMLInternalMarkdownRendererElement; }; interface HTMLInternalMessageInputElementEventMap { "messageSend": { content: string; timestamp: number }; "inputChange": string; "inputFocus": void; "inputBlur": void; } interface HTMLInternalMessageInputElement extends Components.InternalMessageInput, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLInternalMessageInputElement, ev: InternalMessageInputCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLInternalMessageInputElement, ev: InternalMessageInputCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLInternalMessageInputElement: { prototype: HTMLInternalMessageInputElement; new (): HTMLInternalMessageInputElement; }; interface HTMLInternalTextRendererElement extends Components.InternalTextRenderer, HTMLStencilElement { } var HTMLInternalTextRendererElement: { prototype: HTMLInternalTextRendererElement; new (): HTMLInternalTextRendererElement; }; interface HTMLElementTagNameMap { "ai-chat": HTMLAiChatElement; "internal-echarts-renderer": HTMLInternalEchartsRendererElement; "internal-markdown-renderer": HTMLInternalMarkdownRendererElement; "internal-message-input": HTMLInternalMessageInputElement; "internal-text-renderer": HTMLInternalTextRendererElement; } } declare namespace LocalJSX { interface AiChat { /** * AI头像URL * @default '' */ "aiAvatar"?: string; /** * 自定义渲染器映射 * @default {} */ "customRenderers"?: { [key: string]: string }; /** * 是否禁用输入 * @default false */ "inputDisabled"?: boolean; /** * 输入框占位符 * @default '输入消息...' */ "inputPlaceholder"?: string; /** * 最大输入长度 * @default 1000 */ "maxInputLength"?: number; /** * 聊天消息列表 * @default [] */ "messages"?: ChatMessage[]; /** * 是否支持多行输入 * @default true */ "multilineInput"?: boolean; /** * 消息点击事件 */ "onMessageClick"?: (event: AiChatCustomEvent) => void; /** * 消息长按事件 */ "onMessageLongPress"?: (event: AiChatCustomEvent) => void; /** * 消息发送事件 */ "onMessageSend"?: (event: AiChatCustomEvent<{ content: string; timestamp: number }>) => void; /** * 是否显示AI头像 * @default true */ "showAiAvatar"?: boolean; /** * 是否显示输入框 * @default true */ "showInput"?: boolean; /** * 是否显示时间戳 * @default true */ "showTimestamp"?: boolean; /** * 是否显示用户头像 * @default true */ "showUserAvatar"?: boolean; /** * 用户头像URL * @default '' */ "userAvatar"?: string; } interface InternalEchartsRenderer { "content"?: any; /** * @default '300px' */ "height"?: string; /** * @default true */ "responsive"?: boolean; /** * @default true */ "showLoading"?: boolean; /** * @default 'default' */ "theme"?: string; /** * @default '100%' */ "width"?: string; } interface InternalMarkdownRenderer { /** * @default '' */ "content"?: string; /** * @default true */ "enableFootnotes"?: boolean; /** * @default true */ "enableTables"?: boolean; /** * @default true */ "enableTaskLists"?: boolean; /** * @default true */ "highlightCode"?: boolean; } interface InternalMessageInput { /** * @default false */ "disabled"?: boolean; /** * @default 1000 */ "maxLength"?: number; /** * @default false */ "multiline"?: boolean; "onInputBlur"?: (event: InternalMessageInputCustomEvent) => void; "onInputChange"?: (event: InternalMessageInputCustomEvent) => void; "onInputFocus"?: (event: InternalMessageInputCustomEvent) => void; "onMessageSend"?: (event: InternalMessageInputCustomEvent<{ content: string; timestamp: number }>) => void; /** * @default '输入消息...' */ "placeholder"?: string; /** * @default '发送' */ "sendButtonText"?: string; /** * @default true */ "showCharCount"?: boolean; } interface InternalTextRenderer { /** * @default true */ "autoLink"?: boolean; /** * @default '' */ "content"?: string; /** * @default false */ "highlightCode"?: boolean; /** * @default true */ "preserveWhitespace"?: boolean; } interface IntrinsicElements { "ai-chat": AiChat; "internal-echarts-renderer": InternalEchartsRenderer; "internal-markdown-renderer": InternalMarkdownRenderer; "internal-message-input": InternalMessageInput; "internal-text-renderer": InternalTextRenderer; } } export { LocalJSX as JSX }; declare module "@stencil/core" { export namespace JSX { interface IntrinsicElements { "ai-chat": LocalJSX.AiChat & JSXBase.HTMLAttributes; "internal-echarts-renderer": LocalJSX.InternalEchartsRenderer & JSXBase.HTMLAttributes; "internal-markdown-renderer": LocalJSX.InternalMarkdownRenderer & JSXBase.HTMLAttributes; "internal-message-input": LocalJSX.InternalMessageInput & JSXBase.HTMLAttributes; "internal-text-renderer": LocalJSX.InternalTextRenderer & JSXBase.HTMLAttributes; } } }