export type InputFileSystem = import("webpack").Compilation["inputFileSystem"]; export type Stats = import("fs").Stats; export type Task = () => Promise; /** @typedef {import("webpack").Compilation["inputFileSystem"] } InputFileSystem */ /** @typedef {import("fs").Stats } Stats */ /** * @param {InputFileSystem} inputFileSystem * @param {string} path * @return {Promise} */ export function stat( inputFileSystem: InputFileSystem, path: string ): Promise; /** * @param {InputFileSystem} inputFileSystem * @param {string} path * @return {Promise} */ export function readFile( inputFileSystem: InputFileSystem, path: string ): Promise; /** * @template T * @typedef {() => Promise} Task */ /** * Run tasks with limited concurency. * @template T * @param {number} limit - Limit of tasks that run at once. * @param {Task[]} tasks - List of tasks to run. * @returns {Promise} A promise that fulfills to an array of the results */ export function throttleAll(limit: number, tasks: Task[]): Promise;