import { type AiMarkdownOptions } from './ai-bubble'; declare var __VLS_1: {}, __VLS_15: {}, __VLS_17: {}, __VLS_59: {}; type __VLS_Slots = {} & { avatar?: (props: typeof __VLS_1) => any; } & { header?: (props: typeof __VLS_15) => any; } & { default?: (props: typeof __VLS_17) => any; } & { footer?: (props: typeof __VLS_59) => any; }; declare const __VLS_component: import("vue").DefineComponent; default: string; }; placement: { type: import("vue").PropType<"start" | "end">; }; shape: { type: import("vue").PropType<"round" | "corner">; default: string; }; variant: { type: import("vue").PropType<"filled" | "outlined" | "borderless" | "shadow">; default: string; }; time: StringConstructor; avatar: StringConstructor; loading: BooleanConstructor; typing: BooleanConstructor; streaming: { type: BooleanConstructor; default: boolean; }; streamMode: { type: import("vue").PropType<"word" | "sentence" | "paragraph">; default: string; }; streamSpeed: { type: NumberConstructor; default: number; }; streamInterval: { type: NumberConstructor; default: number; }; onStreamComplete: { type: import("vue").PropType<() => void>; }; citations: { type: import("vue").PropType; default: () => never[]; }; multimodal: { type: import("vue").PropType; default: () => never[]; }; markdownOptions: { type: import("vue").PropType; default: () => {}; }; structuredData: { type: import("vue").PropType; }; onExplainCode: { type: import("vue").PropType<(code: string, language: string) => Promise>; }; onRunCode: { type: import("vue").PropType<(code: string, language: string) => Promise<{ output: string; error?: string; }>>; }; onCitationClick: { type: import("vue").PropType<(citation: import("./ai-bubble").AiCitation) => void>; }; themeOverrides: { type: import("vue").PropType; default: undefined; }; enablePythonRuntime: { type: BooleanConstructor; default: boolean; }; pythonRuntime: { type: import("vue").PropType<"browser" | "remote">; default: string; }; pythonApiUrl: { type: StringConstructor; default: string; }; pyodideUrl: { type: StringConstructor; default: string; }; enableSanitizer: { type: BooleanConstructor; default: boolean; }; sanitizer: { type: import("vue").PropType<(html: string) => string>; default: undefined; }; allowedTags: { type: import("vue").PropType; default: () => string[]; }; allowedAttributes: { type: import("vue").PropType; default: () => string[]; }; allowedSchemes: { type: import("vue").PropType; default: () => string[]; }; }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & { "copy-fail": (err: unknown) => any; }, string, import("vue").PublicProps, Readonly; default: string; }; placement: { type: import("vue").PropType<"start" | "end">; }; shape: { type: import("vue").PropType<"round" | "corner">; default: string; }; variant: { type: import("vue").PropType<"filled" | "outlined" | "borderless" | "shadow">; default: string; }; time: StringConstructor; avatar: StringConstructor; loading: BooleanConstructor; typing: BooleanConstructor; streaming: { type: BooleanConstructor; default: boolean; }; streamMode: { type: import("vue").PropType<"word" | "sentence" | "paragraph">; default: string; }; streamSpeed: { type: NumberConstructor; default: number; }; streamInterval: { type: NumberConstructor; default: number; }; onStreamComplete: { type: import("vue").PropType<() => void>; }; citations: { type: import("vue").PropType; default: () => never[]; }; multimodal: { type: import("vue").PropType; default: () => never[]; }; markdownOptions: { type: import("vue").PropType; default: () => {}; }; structuredData: { type: import("vue").PropType; }; onExplainCode: { type: import("vue").PropType<(code: string, language: string) => Promise>; }; onRunCode: { type: import("vue").PropType<(code: string, language: string) => Promise<{ output: string; error?: string; }>>; }; onCitationClick: { type: import("vue").PropType<(citation: import("./ai-bubble").AiCitation) => void>; }; themeOverrides: { type: import("vue").PropType; default: undefined; }; enablePythonRuntime: { type: BooleanConstructor; default: boolean; }; pythonRuntime: { type: import("vue").PropType<"browser" | "remote">; default: string; }; pythonApiUrl: { type: StringConstructor; default: string; }; pyodideUrl: { type: StringConstructor; default: string; }; enableSanitizer: { type: BooleanConstructor; default: boolean; }; sanitizer: { type: import("vue").PropType<(html: string) => string>; default: undefined; }; allowedTags: { type: import("vue").PropType; default: () => string[]; }; allowedAttributes: { type: import("vue").PropType; default: () => string[]; }; allowedSchemes: { type: import("vue").PropType; default: () => string[]; }; }>> & Readonly<{ "onCopy-fail"?: ((err: unknown) => any) | undefined; }>, { variant: "outlined" | "filled" | "borderless" | "shadow"; themeOverrides: import("@yh-ui/theme").ComponentThemeVars; loading: boolean; content: string; markdown: boolean; role: "user" | "assistant" | "system"; allowedTags: string[]; allowedAttributes: string[]; allowedSchemes: string[]; sanitizer: (html: string) => string; shape: "round" | "corner"; typing: boolean; streaming: boolean; streamMode: "word" | "sentence" | "paragraph"; streamSpeed: number; streamInterval: number; citations: import("./ai-bubble").AiCitation[]; multimodal: import("./ai-bubble").AiMultimodal[]; markdownOptions: AiMarkdownOptions; enablePythonRuntime: boolean; pythonRuntime: "browser" | "remote"; pythonApiUrl: string; pyodideUrl: string; enableSanitizer: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; declare const _default: __VLS_WithSlots; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; };