import type { VNode } from 'vue'; import type { AppConfig } from '@nuxt/schema'; import theme from '#build/b24ui/chat-prompt'; import type { TextareaProps, TextareaSlots } from './Textarea.vue'; import type { ComponentConfig } from '../types/tv'; type ChatPrompt = ComponentConfig; export interface ChatPromptProps extends Pick { /** * The element or component this component should render as. * @defaultValue 'form' */ as?: any; /** * The placeholder text for the textarea. * @defaultValue t('chatPrompt.placeholder') */ placeholder?: string; /** * @defaultValue 'outline' */ variant?: ChatPrompt['variants']['variant']; /** * When `true`, pressing `Enter` submits and `Shift+Enter` inserts a newline. * When `false`, pressing `Enter` inserts a newline and `Ctrl+Enter` / `Cmd+Enter` submits. * @defaultValue true */ submitOnEnter?: boolean; error?: Error; class?: any; b24ui?: ChatPrompt['slots'] & TextareaProps['b24ui']; } export interface ChatPromptEmits { submit: [event: Event]; close: [event: Event]; } export interface ChatPromptSlots extends Omit { header?(props?: {}): VNode[]; default?(props: { b24ui: ChatPrompt['slots']; }): VNode[]; footer?(props?: {}): VNode[]; /** * Replace the internal textarea, e.g. to render an [Editor](/docs/components/editor/) with mentions. */ body?(props: { submit: (event?: Event) => void; close: (event?: Event) => void; placeholder: string; disabled: boolean; b24ui: any; }): VNode[]; } declare const _default: typeof __VLS_export; export default _default; declare const __VLS_export: __VLS_WithSlots>; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { close: (event: Event) => any; submit: (event: Event) => any; "update:modelValue": (value: string) => any; }, string, import("vue").PublicProps, Readonly & Readonly<{ onClose?: ((event: Event) => any) | undefined; onSubmit?: ((event: Event) => any) | undefined; "onUpdate:modelValue"?: ((value: string) => any) | undefined; }>, { as: any; autofocus: boolean; rows: number; autoresize: boolean; submitOnEnter: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ChatPromptSlots>; type __VLS_WithSlots = T & { new (): { $slots: S; }; };