import { EventEmitter } from '../../stencil-public-runtime'; import { DyteI18n, IconPack } from '../../exports'; export type NewMessageEvent = { type: 'text'; message: string; } | { type: 'file'; file: File; } | { type: 'image'; image: File; }; /** * A component which renders a chat composer */ export declare class DyteChatComposerView { /** Whether user can send text messages */ canSendTextMessage: boolean; /** Whether user can send file messages */ canSendFiles: boolean; /** Message to be pre-populated */ message: string; /** Quote message to be displayed */ quotedMessage: string; /** Key for storing message in localStorage */ storageKey: string; /** Placeholder for text input */ inputTextPlaceholder: string; /** Sets composer to edit mode */ isEditing: boolean; /** Icon pack */ iconPack: IconPack; /** Language */ t: DyteI18n; /** Max length for text input */ maxLength: number; /** Whether to show emoji picker */ disableEmojiPicker?: boolean; /** Rate limits */ rateLimits: { period: number; maxInvocations: number; }; fileToUpload: any; isEmojiPickerOpen: boolean; disableSendButton: boolean; rateLimitsBreached: boolean; /** Event emitted when new message is submitted */ onNewMessage: EventEmitter; /** Event emitted when message is edited */ onEditMessage: EventEmitter; /** Event emitted when message editing is cancelled */ onEditCancel: EventEmitter; /** Event emitted when quoted message is dismissed */ onQuotedMessageDismiss: EventEmitter; private textMessage; private $textComposer; constructor(); connectedCallback(): void; componentWillUpdate(): void; componentDidLoad(): void; private sendFile; private handleSendMessage; private checkRateLimitBreached; private handleEditMessage; private handleEditCancel; private onTextChangeHandler; private onKeyDownHandler; private onFileUploadHandler; private onQuotedMessageDismissHandler; private cleanup; render(): any; }