type Func = (...args: any[]) => any;
/** @hb-doc 防抖函数，延迟执行高频触发的函数。
 *
 * 防抖函数
 * @param { Function } func 函数
 * @param { Number } delay 防抖时间
 * @param { Boolean } immediate 是否立即执行
 * @param { Function } resultCallback
 */
export declare function debounce(func: Func, delay?: number, immediate?: boolean, resultCallback?: Func): {
    (this: unknown, ...args: any[]): Promise<unknown>;
    cancel(): void;
};
/**
 * @hb-doc 节流函数，限制函数在固定时间间隔内执行。
 * @param { Function } func
 * @param { Boolean } interval
 * @param { Object } options
 * leading:初始 trailing:结尾
 */
export declare function throttle(func: Func, interval: number, options?: {
    leading: boolean;
    trailing: boolean;
}): {
    (this: unknown, ...args: any[]): void;
    cancel(): void;
};
/**
 * @hb-doc 将驼峰命名转换为下划线命名。
 * @param { String } name
 */
export declare function toLine(name: string): string;
/** @hb-doc 数字格式化，支持精度、千分位、前缀和后缀。 */
export declare function formatNumber(value: number | string, precision?: number, separator?: string, decimal?: string, prefix?: string, suffix?: string): string;
/**
 * PC / 移动端设备判断
 * 用于路由划分、样式适配等
 */
/** @hb-doc PC 和移动端判断的默认断点。 */
export declare const PC_BREAKPOINT = 768;
/** @hb-doc 判断当前视口是否为 PC。 */
export declare function isPC(): boolean;
/** @hb-doc 判断当前视口是否为移动端。 */
export declare function isMobile(): boolean;
export type DeviceType = 'pc' | 'mobile';
/** @hb-doc 返回当前设备类型。 */
export declare function getDeviceType(): DeviceType;
export interface HbFileItem_Intf {
    fileName: string;
    previewUrl: string;
    downloadUrl: string;
    attachmentDesc?: string;
    attachmentId?: string;
    uploadDate?: string;
    [key: string]: unknown;
}
/** @hb-doc 从文件名或 URL 中解析扩展名。 */
export declare const getFileExtensionFromName: (nameOrUrl: string) => string;
/** @hb-doc 判断附件是否为可内嵌预览图片。 */
export declare const isAttachmentImagePreview: (fileNameOrUrl: string) => boolean;
/** @hb-doc 判断附件是否支持内嵌预览。 */
export declare const isAttachmentPreviewable: (fileName: string) => boolean;
/** @hb-doc 获取附件下载地址。 */
export declare const getAttachmentDownloadUrl: <T extends HbFileItem_Intf>(row: T) => string;
/**
 * @hb-doc 根据附件信息在列表中定位当前附件下标。
 * @desc 在 `attachmentInfos` 中定位被点击的附件下标。
 * 仅依赖 fileUuid 会在接口缺省、全空或重复时始终命中第一项，需结合列表下标与预览/下载地址兜底。
 */
export declare const resolveAttachmentIndexInList: <T extends HbFileItem_Intf>(list: T[], item: T, options?: {
    /** 列表 v-for 下标，优先使用 */
    preferredIndex?: number;
}) => number;
export {};
//# sourceMappingURL=util.d.ts.map