import React from "react"; import { ActionPayload } from "../../../Actions"; import { AriaProps } from "../../AriaProps"; /** * Properties of the Message Actions component * * @typedef MessageInputActions.MessageInputActionsProps * @property {string} conversationSid - The conversation sid. * @property {string} attachFileButtonAriaLabel - Aria label for the attach file button. * @property {Function} handleFileChange - Function called when file an input file is changed. * @property {Function} sendMessage - Function called when the send button is clicked. * @property {boolean} attachFileDisabled - Determines whether attaching files is disabled. * @property {boolean} sendDisabled - Determines whether sending is disabled. * @property {string} disabledReason - Provides a reason for the send button being disabled. * @property {string} sendButtonArialabel - Aria label for send button. * @property {AriaProps} sendButtonAriaProps - Aria props for send button. * @property {Function} matchSendMessagePayloadPredicate - Payload for sendMessage action. * @property {boolean} hideSendButton - Determines whether the send button is hidden. */ export interface MessageInputActionsProps { conversationSid: string; attachFileButtonAriaLabel: string; handleFileChange: (e: React.ChangeEvent) => void; sendMessage: (isDisabled: boolean) => void; attachFileDisabled: boolean; sendDisabled: boolean; disabledReason: string; sendButtonArialabel?: string; sendButtonAriaProps?: AriaProps; hasEnteredText?: boolean; matchSendMessagePayloadPredicate: (payload: ActionPayload) => boolean; hideSendButton: boolean; } export declare enum MessageInputActionsChildrenKeys { attachFileButton = "attach-file-button", sendButton = "send-button" }