import { CustomElement, CustomText, MergedCustomizeComponents } from './types';
/**
 * 检查是否为段落元素
 * @param element 元素
 * @returns 是否为段落
 */
export declare function isParagraphElement(element: CustomElement): boolean;
/**
 * 检查是否为标题元素
 * @param element 元素
 * @returns 是否为标题
 */
export declare function isHeadingElement(element: CustomElement): boolean;
/**
 * 检查是否为列表元素
 * @param element 元素
 * @returns 是否为列表
 */
export declare function isListElement(element: CustomElement): boolean;
/**
 * 检查是否为列表项元素
 * @param element 元素
 * @returns 是否为列表项
 */
export declare function isListItemElement(element: CustomElement): boolean;
/**
 * 检查是否为表格元素
 * @param element 元素
 * @returns 是否为表格
 */
export declare function isTableElement(element: CustomElement): boolean;
/**
 * 检查是否为代码块元素
 * @param element 元素
 * @returns 是否为代码块
 */
export declare function isCodeBlockElement(element: CustomElement): boolean;
/**
 * 检查是否为引用块元素
 * @param element 元素
 * @returns 是否为引用块
 */
export declare function isBlockQuoteElement(element: CustomElement): boolean;
/**
 * 检查是否为图片元素
 * @param element 元素
 * @returns 是否为图片
 */
export declare function isImageElement(element: CustomElement): boolean;
/**
 * 检查是否为链接元素
 * @param element 元素
 * @returns 是否为链接
 */
export declare function isLinkElement(element: CustomElement): boolean;
/**
 * 检查文本是否包含特定格式
 * @param text 文本对象
 * @param format 格式名称
 * @returns 是否包含该格式
 */
export declare function hasFormat(text: CustomText, format: keyof CustomText): boolean;
/**
 * 合并自定义组件，劫持用户调用层和核心层的动态UI组件传输
 * @param userComponents 用户层组件
 * @param coreComponents 核心层组件
 * @returns 合并后的组件对象
 */
export declare function mergedCustomizeComponents(userComponents?: Record<string, React.ComponentType<any>>, coreComponents?: Record<string, React.ComponentType<any>>): MergedCustomizeComponents;
/**
 * 创建默认的富文本内容
 * @returns 默认内容
 */
export declare function createDefaultContent(): CustomElement[];
/**
 * 深拷贝对象
 * @param obj 要拷贝的对象
 * @returns 拷贝后的对象
 */
export declare function deepClone<T>(obj: T): T;
/**
 * 防抖函数
 * @param func 要防抖的函数
 * @param wait 等待时间
 * @param immediate 是否立即执行
 * @returns 防抖后的函数
 */
export declare function debounce<T extends (...args: any[]) => any>(func: T, wait: number, immediate?: boolean): (...args: Parameters<T>) => void;
/**
 * 节流函数
 * @param func 要节流的函数
 * @param limit 限制时间
 * @returns 节流后的函数
 */
export declare function throttle<T extends (...args: any[]) => any>(func: T, limit: number): (...args: Parameters<T>) => void;
/**
 * 生成唯一ID
 * @returns 唯一ID字符串
 */
export declare function generateId(): string;
/**
 * 格式化文件大小
 * @param bytes 字节数
 * @returns 格式化后的文件大小
 */
export declare function formatFileSize(bytes: number): string;
/**
 * 检查是否为有效的URL
 * @param url URL字符串
 * @returns 是否为有效URL
 */
export declare function isValidUrl(url: string): boolean;
/**
 * 获取文件扩展名
 * @param filename 文件名
 * @returns 文件扩展名
 */
export declare function getFileExtension(filename: string): string;
/**
 * 检查文件类型是否为图片
 * @param filename 文件名
 * @returns 是否为图片
 */
export declare function isImageFile(filename: string): boolean;
/**
 * 检查文件类型是否为视频
 * @param filename 文件名
 * @returns 是否为视频
 */
export declare function isVideoFile(filename: string): boolean;
/**
 * 检查文件类型是否为音频
 * @param filename 文件名
 * @returns 是否为音频
 */
export declare function isAudioFile(filename: string): boolean;
