import LRUMap from "../functional/LRUMap";
import { AsyncFunction } from "../types";
/**
 * reuse values in specific duration for async functions
 *
 * @category Async
 * @since 5.22.0
 * @param runner must be an async function
 * @param duration default 1000 milliseconds
 * @param maxHandles different cache values for parameters
 * @returns
 */
export declare function reuse<T extends AsyncFunction>(runner: T, duration?: number, maxHandles?: number): T & {
    __wrap_global__: {
        duration: number;
        handles: LRUMap<string, {
            value: any;
            timeout: number;
        }>;
    };
};
export default reuse;
