import React from 'react';
import type { MarkdownEditorInstance } from '../../MarkdownEditor';
import type { AttachmentFile } from '../AttachmentButton/types';
import type { MarkdownInputFieldProps } from '../types/MarkdownInputFieldProps';
interface UseMarkdownInputFieldHandlersParams {
    props: Pick<MarkdownInputFieldProps, 'disabled' | 'typing' | 'onChange' | 'onSend' | 'allowEmptySubmit' | 'markdownProps' | 'attachment'>;
    markdownEditorRef: React.MutableRefObject<MarkdownEditorInstance | undefined>;
    inputRef: React.RefObject<HTMLDivElement>;
    isSendingRef: React.MutableRefObject<boolean>;
    isLoading: boolean;
    setIsLoading: (loading: boolean) => void;
    value: string;
    setValue: (value: string) => void;
    fileMap?: Map<string, AttachmentFile>;
    setFileMap?: (fileMap: Map<string, AttachmentFile>) => void;
    recording: boolean;
    stopRecording: () => Promise<void>;
    isEnlarged: boolean;
    setIsEnlarged: (enlarged: boolean) => void;
}
/**
 * 事件处理 Hook
 * 管理组件中的所有事件处理函数
 */
export declare const useMarkdownInputFieldHandlers: ({ props, markdownEditorRef, inputRef, isSendingRef, isLoading, setIsLoading, value, setValue, fileMap, setFileMap, recording, stopRecording, isEnlarged, setIsEnlarged, }: UseMarkdownInputFieldHandlersParams) => {
    handleEnlargeClick: () => void;
    sendMessage: () => Promise<void>;
    handlePaste: (e: React.ClipboardEvent<HTMLDivElement>) => Promise<void>;
    handleKeyDown: (e: React.KeyboardEvent<HTMLDivElement>) => void;
    activeInput: (active: boolean) => void;
};
export {};
