import React from 'react'; import { DropEvent, TextAreaProps } from '@patternfly/react-core'; export interface MessageBarWithAttachMenuProps { /** Flag to enable whether attach menu is open */ isAttachMenuOpen: boolean; /** Callback to close attach menu */ setIsAttachMenuOpen: (isOpen: boolean) => void; /** Items in menu */ attachMenuItems: React.ReactNode; /** A callback for when the attachment menu toggle is clicked */ onAttachMenuToggleClick: () => void; /** A callback for when the input value in the menu changes. */ onAttachMenuInputChange: (value: string) => void; /** Function callback called when user selects item in menu. */ onAttachMenuSelect?: (event?: React.MouseEvent, value?: string | number) => void; /** Placeholder for search input */ attachMenuInputPlaceholder?: string; /** Keys that trigger onOpenChange, defaults to tab and escape. It is highly recommended to include Escape in the array, while Tab may be omitted if the menu contains non-menu items that are focusable. */ onAttachMenuOnOpenChangeKeys?: string[]; /** Callback to change the open state of the menu. Triggered by clicking outside of the menu. */ onAttachMenuOpenChange?: (isOpen: boolean) => void; } export interface MessageBarProps extends TextAreaProps { /** Callback to get the value of input message by user */ onSendMessage: (message: string) => void; /** Class Name for the MessageBar component */ className?: string; /** Flag to always to show the send button. By default send button is shown when there is a message in the input field */ alwayShowSendButton?: boolean; /** Flag to disable/enable the Attach button */ hasAttachButton?: boolean; /** Flag to enable the Microphone button */ hasMicrophoneButton?: boolean; /** Callback function for when attach button is used to upload a file */ handleAttach?: (data: File[], event: DropEvent) => void; /** Props to enable a menu that opens when the Attach button is clicked, instead of the attachment window */ attachMenuProps?: MessageBarWithAttachMenuProps; /** Flag to provide manual control over whether send button is disabled */ isSendButtonDisabled?: boolean; } export declare const MessageBar: React.FunctionComponent; export default MessageBar;