/** * 工具函数集合 */ import { type Ref, type ComputedRef } from 'vue'; /** 可能是 Ref 或普通值 */ export type MaybeRef = T | Ref; /** 可能是 Ref、ComputedRef 或普通值 */ export type MaybeRefOrGetter = MaybeRef | ComputedRef | (() => T); /** * 从对象中根据路径字符串获取值 * 支持点号分隔的路径,如 'data.list' 或 'data.items[0].name' * * @param obj - 目标对象 * @param path - 路径字符串,支持点号和数组索引 * @returns 获取到的值,如果路径不存在则返回 undefined * * @example * ```ts * const obj = { data: { list: [1, 2, 3] } } * getPropValue(obj, 'data.list') // [1, 2, 3] * getPropValue(obj, 'data.list[0]') // 1 * ``` */ export declare function getPropValue(obj: any, path: string): any; /** * 解包 MaybeRefOrGetter 类型的值 * * @param source - 可能是 Ref、ComputedRef、getter 函数或普通值 * @returns 解包后的值 * * @example * ```ts * const refVal = ref(1) * toValue(refVal) // 1 * toValue(() => 2) // 2 * toValue(3) // 3 * ``` */ export declare function toValue(source: MaybeRefOrGetter): T; /** * 检测值是否为响应式来源(Ref、ComputedRef 或 getter 函数) * * @param source - 要检测的值 * @returns 是否为响应式来源 */ export declare function isReactiveSource(source: MaybeRefOrGetter): boolean; /** * 在开发环境下警告用户传入了非响应式参数 * * @param source - 要检测的参数 * @param hookName - Hook 名称,用于警告提示 * * @example * ```ts * warnIfNotReactiveSource(params, 'useTableRequest') * ``` */ export declare function warnIfNotReactiveSource(source: MaybeRefOrGetter | undefined, hookName: string): void; /** * 创建防抖函数 * * @param fn - 需要防抖的函数 * @param delay - 延迟时间(毫秒) * @returns 防抖后的函数 * * @example * ```ts * const debouncedFn = useDebounceFn(() => console.log('called'), 300) * debouncedFn() // 300ms 后执行 * debouncedFn() // 重新计时 * ``` */ export declare function useDebounceFn any>(fn: T, delay: number): (...args: Parameters) => void; //# sourceMappingURL=utils.d.ts.map