import type { FileNode, GroupNode } from '../../types';
/**
 * 通用键盘事件处理函数：响应 Enter / Space 触发回调
 */
export declare const handleKeyboardEvent: (e: React.KeyboardEvent, callback: (e: React.KeyboardEvent) => void) => void;
/**
 * 浏览器端默认下载行为：根据 url / content / file 创建下载链接并触发点击
 * Blob URL 在结束后会被立即 revokeObjectURL 回收
 */
export declare const handleFileDownload: (file: FileNode) => void;
/**
 * 默认分享行为：复制可分享的 URL 到剪贴板
 * 复制失败时静默处理，避免打断用户流程
 */
export declare const handleDefaultShare: (file: FileNode) => Promise<void>;
/**
 * 确保节点拥有唯一 ID（不可变更新）
 */
export declare const ensureNodeWithId: <T extends FileNode | GroupNode>(node: T) => T;
/**
 * 获取文件预览源：优先 previewUrl，其次 url，否则空字符串
 */
export declare const getPreviewSource: (file: FileNode) => string;
