import React from 'react';
import { IInputMessageFile, IInputMessageVoiceFile } from './types';
export type InputMessageChangeEventHandler = (message: string) => unknown;
export type InputMessageFilesChangeEventHandler = (files: IInputMessageFile[]) => unknown;
export type InputMessageVoiceFilesChangeEventHandler = (files: IInputMessageVoiceFile[]) => unknown;
export type InputMessageSendEventHandler = (message: string, files: IInputMessageFile[]) => unknown;
export type InputMessageVoiceEventHandler = (blob: Blob) => unknown;
export type InputMessageErrorEvent = {
    name: 'WRONG_FILES';
    payload: File[];
};
export interface InputMessageProps extends Omit<React.ComponentProps<'textarea'>, 'value' | 'onChange'> {
    className?: string;
    placeholder?: string;
    message?: string;
    files?: IInputMessageFile[];
    hideUploadFile?: boolean;
    uploadFileLimit?: number;
    uploadFileDisabled?: boolean;
    uploadFileAccept?: string;
    sendDisabled?: boolean;
    textAreaDisabled?: boolean;
    useAlternativeKeyDefaultValue?: boolean;
    defaultKeySendText?: React.ReactNode;
    alternativeKeySendText?: React.ReactNode;
    concatenateText?: React.ReactNode;
    autoFocus?: boolean;
    voice?: boolean;
    onSetAlternativeKeyValue?: (value: boolean) => unknown;
    onChange?: InputMessageChangeEventHandler;
    onFilesChange?: InputMessageFilesChangeEventHandler;
    onVoiceFilesChange?: InputMessageVoiceFilesChangeEventHandler;
    onTextAreaChange?: React.ChangeEventHandler<HTMLTextAreaElement>;
    onSend?: InputMessageSendEventHandler;
    emitError?(event: InputMessageErrorEvent): void;
    rightActions?: React.ReactNode;
}
export declare const InputMessage: React.FC<InputMessageProps>;
export * from './types';
