import { PropType } from 'vue'; import { ChatComposerAttachment, ChatComposerTrayPlacement } from './types'; declare function trySend(): void; declare function onAttachmentClick(): void; declare function __VLS_template(): { attrs: Partial<{}>; slots: { tray?(_: {}): any; tray?(_: {}): any; attachments?(_: { attachments: ChatComposerAttachment[]; }): any; toolbar?(_: { send: typeof trySend; disabled: boolean; attachmentClick: typeof onAttachmentClick; }): any; 'toolbar-left'?(_: { disabled: boolean; }): any; actions?(_: { send: typeof trySend; disabled: boolean; }): any; footer?(_: {}): any; }; refs: { shellRef: HTMLDivElement; topTrayRef: HTMLDivElement; cardRef: HTMLDivElement; textareaRef: HTMLTextAreaElement; bottomTrayRef: HTMLDivElement; }; rootEl: HTMLDivElement; }; type __VLS_TemplateResult = ReturnType; declare const __VLS_component: import('vue').DefineComponent; default: () => never[]; }; trayPlacement: { type: PropType; default: string; }; trayLabel: { type: StringConstructor; default: 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, import('vue').PublicProps, Readonly; default: () => never[]; }; trayPlacement: { type: 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; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, { shellRef: HTMLDivElement; topTrayRef: HTMLDivElement; cardRef: HTMLDivElement; textareaRef: HTMLTextAreaElement; bottomTrayRef: HTMLDivElement; }, HTMLDivElement>; declare const _default: __VLS_WithTemplateSlots; export default _default; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };