import { LocalMessage } from 'stream-chat';
import type { ChannelContextValue } from '../../../contexts/channelContext/ChannelContext';
import type { ChatContextValue } from '../../../contexts/chatContext/ChatContext';
import type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';
import type { MessagesContextValue } from '../../../contexts/messagesContext/MessagesContext';
import type { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';
import type { TranslationContextValue } from '../../../contexts/translationContext/TranslationContext';
import type { MessageActionType } from '../../MessageMenu/MessageActionListItem';
export type MessageActionsHookProps = Pick<MessagesContextValue, 'deleteMessage' | 'sendReaction' | 'handleBan' | 'handleCopy' | 'handleDelete' | 'handleEdit' | 'handleFlag' | 'handleQuotedReply' | 'handleMarkUnread' | 'handleMute' | 'handlePinMessage' | 'handleRetry' | 'handleReaction' | 'handleThreadReply' | 'removeMessage' | 'deleteReaction' | 'retrySendMessage' | 'setEditingState' | 'setQuotedMessageState' | 'selectReaction' | 'supportedReactions' | 'updateMessage'> & Pick<ChannelContextValue, 'channel' | 'enforceUniqueReaction'> & Pick<ChatContextValue, 'client'> & Pick<ThreadContextValue, 'openThread'> & Pick<MessageContextValue, 'dismissOverlay' | 'message'> & Pick<TranslationContextValue, 't'> & {
    onThreadSelect?: (message: LocalMessage) => void;
};
export declare const useMessageActions: ({ channel, client, deleteMessage: deleteMessageFromContext, deleteReaction, dismissOverlay, enforceUniqueReaction, handleBan, handleCopy, handleDelete, handleEdit, handleFlag, handleMarkUnread, handleMute, handlePinMessage, handleQuotedReply, handleReaction: handleReactionProp, handleRetry, handleThreadReply, message, onThreadSelect, openThread, retrySendMessage, selectReaction, sendReaction, setEditingState, setQuotedMessageState, supportedReactions, t, }: MessageActionsHookProps) => {
    banUser: MessageActionType;
    copyMessage: MessageActionType;
    deleteMessage: MessageActionType;
    editMessage: MessageActionType;
    flagMessage: MessageActionType;
    handleReaction: ((reactionType: string) => Promise<void>) | undefined;
    markUnread: MessageActionType;
    muteUser: MessageActionType;
    pinMessage: MessageActionType;
    quotedReply: MessageActionType;
    retry: MessageActionType;
    threadReply: MessageActionType;
    unpinMessage: MessageActionType;
};
//# sourceMappingURL=useMessageActions.d.ts.map