import { ChannelState } from "../../../state/ChannelState"; import { MessageState } from "../../../state/ConversationInputState"; import { ConversationState } from "../../../state/ConversationState"; import { AriaProps } from "../../AriaProps"; import { InputAreaStyleProps } from "../MessageInput/MessageInput.definitions"; export interface CharLimitStyleProps extends InputAreaStyleProps { inputTextLength: number; charLimit: number; } export interface MessageInputAreaProps extends InputAreaStyleProps { channelSid: string; channel: ChannelState; conversationSid: string; conversation: ConversationState; placeholder?: string; onSendMessage: () => void; disabled?: boolean; disabledReason?: string; returnKeySendsMessage: boolean; charLimit: number; inputTextLength: number; onChange?: (state: MessageState) => void; onFocus?: () => void; onBlur?: () => void; messageState: MessageState; textAreaAriaProps?: AriaProps; onRemoveAttachedFile?: (file?: File) => void; onPasteFiles?: (files: File[]) => void; forwardedInputRef?: React.RefObject; rows: number; isSending?: boolean; }