import { type ChangeEvent, type ClipboardEvent, type DragEvent } from 'react';
import type { ChatInputUploadedFile } from './ChatInputUploadedFile';
import type { ChatProps } from './ChatProps';
/**
 * Props for `useChatInputAreaAttachments`.
 *
 * @private function of `<ChatInputArea/>`
 */
type UseChatInputAreaAttachmentsProps = {
    onFileUpload?: ChatProps['onFileUpload'];
};
/**
 * Handles file-upload state and drag/drop events for the chat composer.
 *
 * @private function of `<ChatInputArea/>`
 */
export declare function useChatInputAreaAttachments({ onFileUpload }: UseChatInputAreaAttachmentsProps): {
    fileInputRef: import("react").RefObject<HTMLInputElement | null>;
    uploadedFiles: ChatInputUploadedFile[];
    uploadedFilesRef: import("react").RefObject<ChatInputUploadedFile[]>;
    isDragOver: boolean;
    isUploading: boolean;
    handleDrop: (event: DragEvent) => void;
    handleDragOver: (event: DragEvent) => void;
    handleDragLeave: (event: DragEvent) => void;
    handlePaste: (event: ClipboardEvent) => void;
    handleFileInputChange: (event: ChangeEvent<HTMLInputElement>) => void;
    removeUploadedFile: (fileId: string) => void;
    clearUploadedFiles: () => void;
    openFilePicker: () => void;
};
export {};
