import { LitElement } from "lit"; import type { PropertyValues, TemplateResult } from "lit"; import "../button/index.js"; export interface ComposerAttachment { id: number; name: string; kind: "image" | "file"; size: number; ext: string; dataUrl?: string; lines?: number; pages?: number; dims?: string; } /** * @fires attachments-change - Fired when the attachment set changes. * @fires cancel - Fired when the action is cancelled. * @fires send - Fired when the user sends the composed content. * @fires value-change - Fired when the value changes (`detail.value`). */ export declare class XmComposer extends LitElement { initialValue: string; initialFocus: boolean; processing: boolean; thinkingLabel: string; maxChars: number; counterAt: number; placeholder: string; showAttachments: boolean; value: string | null; attachments: ComposerAttachment[] | null; private _value; private _atts; private _warning; private _trayOpen; private _dragging; private _dragDepth; private _warnTimer; private _didInitialFocus; private _lastValueProp; private _lastAttsProp; createRenderRoot(): HTMLElement | DocumentFragment; connectedCallback(): void; willUpdate(changed: PropertyValues): void; updated(changed: PropertyValues): void; private _flashWarning; private _addFiles; private _removeAtt; private _clearAtts; private _send; private _cancel; private _onInput; private _onKeyDown; private _onPaste; private _onDragEnter; private _onDragOver; private _onDragLeave; private _onDrop; private _onBoxClick; private _onPickFile; private _onFileInput; private _renderAttCard; private _renderAttRow; private _renderAttachments; private _renderHint; render(): TemplateResult; } declare global { interface HTMLElementTagNameMap { "xm-composer": XmComposer; } }