import { AiAttachment } from '../../ai-elements/src/types'; import { PromptBarCommand, PromptBarProps, PromptBarSendPayload, PromptBarSource } from './types'; declare function focus(): void; declare function closeMenus(): void; declare function __VLS_template(): { attrs: Partial<{}>; slots: Readonly<{ /** Leading glyph for an `@` row — brand marks stay with the host. */ 'source-icon'?: (props: { source: PromptBarSource; }) => unknown; /** Replaces the attachment chip strip wholesale. */ attachments?: (props: { attachments: AiAttachment[]; }) => unknown; /** Extra controls, inserted just before the send button. */ actions?: (props: { send: () => void; canSend: boolean; }) => unknown; }> & { /** Leading glyph for an `@` row — brand marks stay with the host. */ 'source-icon'?: (props: { source: PromptBarSource; }) => unknown; /** Replaces the attachment chip strip wholesale. */ attachments?: (props: { attachments: AiAttachment[]; }) => unknown; /** Extra controls, inserted just before the send button. */ actions?: (props: { send: () => void; canSend: boolean; }) => unknown; }; refs: { rootRef: HTMLDivElement; measureRef: HTMLSpanElement; controlsRef: HTMLDivElement; leadRef: HTMLDivElement; inputRef: HTMLTextAreaElement; trailRef: HTMLDivElement; }; rootEl: HTMLDivElement; }; type __VLS_TemplateResult = ReturnType; declare const __VLS_component: import('vue').DefineComponent void; closeMenus: typeof closeMenus; /** Reads as `boolean`: the instance proxy unwraps exposed refs. */ menuOpen: import('vue').ComputedRef; }, {}, {}, {}, 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: PromptBarSendPayload) => any; attachmentAdd: (files: File[]) => any; "update:model": (key: string) => any; "update:listening": (listening: boolean) => any; attach: () => any; attachmentRemove: (id: string) => any; sourceSelect: (source: PromptBarSource) => any; commandSelect: (command: PromptBarCommand) => any; connectToggle: (source: PromptBarSource) => any; }, string, import('vue').PublicProps, Readonly & Readonly<{ onBlur?: ((event: FocusEvent) => any) | undefined; onFocus?: ((event: FocusEvent) => any) | undefined; onPaste?: ((event: ClipboardEvent) => any) | undefined; "onUpdate:modelValue"?: ((value: string) => any) | undefined; onSend?: ((payload: PromptBarSendPayload) => any) | undefined; onAttachmentAdd?: ((files: File[]) => any) | undefined; "onUpdate:model"?: ((key: string) => any) | undefined; "onUpdate:listening"?: ((listening: boolean) => any) | undefined; onAttach?: (() => any) | undefined; onAttachmentRemove?: ((id: string) => any) | undefined; onSourceSelect?: ((source: PromptBarSource) => any) | undefined; onCommandSelect?: ((command: PromptBarCommand) => any) | undefined; onConnectToggle?: ((source: PromptBarSource) => any) | undefined; }>, { variant: import('./types').PromptBarVariant; placeholder: string; listening: boolean; sendLabel: string; maxHeight: number; minHeight: number; sendOnEnter: boolean; allowEmptySend: boolean; dictatable: boolean; listeningPlaceholder: string; sourcesHintText: string; commandsHintText: string; connectText: string; connectedText: string; attachLabel: string; modelLabel: string; startDictationLabel: string; stopDictationLabel: string; attachmentFallbackLabel: string; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, { rootRef: HTMLDivElement; measureRef: HTMLSpanElement; controlsRef: HTMLDivElement; leadRef: HTMLDivElement; inputRef: HTMLTextAreaElement; trailRef: HTMLDivElement; }, HTMLDivElement>; declare const _default: __VLS_WithTemplateSlots; export default _default; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };