import { IEventEmitter } from '@breadstone/mosaik-elements'; import { ISlottable } from '../../../Behaviors/Slottable'; import { IAttachmentAddEventDetail, IAttachmentRemoveEventDetail, IChatSubmitEventDetail } from '../../../events'; import { CustomElement } from '../../Abstracts/CustomElement'; import { ChatInputAttachmentListElement } from './ChatInputAttachmentListElement'; import type { IChatInputElementProps } from './IChatInputElementProps'; declare const ChatInputElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Variantable").IVariantableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Appearanceable").IAppearanceableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Slottable").ISlottableProps & ISlottable) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * Chat Input - Represents the input area for sending messages in the chat. * * @fires chatSubmit {ChatSubmitEvent} - Called when a new message is submitted. * * @example * Basic chat input: * ```html * * ``` * * @example * Disabled chat input: * ```html * * ``` * * @public */ export declare class ChatInputElement extends ChatInputElement_base implements IChatInputElementProps, ISlottable { private _attachmentsElement; private readonly _submitted; private readonly _transformer; private _value; private _placeholder; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `value` property. * * @public */ get value(): { message: string; files: Array; }; set value(value: { message: string; files: Array; }); /** * Gets or sets the `placeholder` property. * * @public */ get placeholder(): string; set placeholder(value: string); /** * Called when a new message is submitting. * Provides reference to `IChatSubmitEventDetail` as event detail. * * @public * @readonly * @eventProperty */ get submitted(): IEventEmitter; /** * @private */ get attachmentsElement(): ChatInputAttachmentListElement; /** * @public */ send(message: string, files?: FileList | Array): void; /** * @public */ clear(): void; /** * @private * @template */ onInput(e: InputEvent): void; /** * @private * @template */ onKeyup(e: KeyboardEvent): void; /** * @private * @template */ onAttachmentAdded(detail: IAttachmentAddEventDetail): void; /** * @private * @template */ onAttachmentRemoved(detail: IAttachmentRemoveEventDetail): void; onApplyTemplate(): void; /** * @public * @override */ onSlotChanges(slotName?: string): void; /** * Emits the `submitted` event. * * @protected */ protected onSubmitted(args: IChatSubmitEventDetail): void; } /** * @public */ export declare namespace ChatInputElement { type Props = IChatInputElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-chat-input': ChatInputElement; } } export {}; //# sourceMappingURL=ChatInputElement.d.ts.map