interface NodeOSLike {
    cpus(): unknown[];
    availableParallelism?: () => number;
}
interface NavigatorLike {
    hardwareConcurrency?: number;
}
/**
 * Returns the number of available parallelism for the current platform.
 *
 * Usage:
 *
 * ```js
 * // with a passed in Node.js os module
 * import * as os from 'node:os';
 * import availableParallelism from 'foxts/available-parallelism';
 *
 * availableParallelism(os); // number
 *
 * // In a browser environment, it can read navigator object
 * import availableParallelism from 'foxts/available-parallelism';
 * availableParallelism(navigator); // number
 *
 * // You can dynamic import of the Node.js os module
 * import availableParallelism from 'foxts/available-parallelism';
 * await availableParallelism(import('node:os')); // number
 *
 * // If you don't pass any arguments, it will automatically detect the environment
 * import availableParallelism from 'foxts/available-parallelism';
 * await availableParallelism(); // number
 * ```
 */
declare function availableParallelism(platform: NodeOSLike | NavigatorLike): number;
declare function availableParallelism(asyncNodeOS?: Promise<NodeOSLike>): Promise<number>;
declare function isNodeOSLike(platform: unknown): platform is NodeOSLike;
declare function isNavigatorLike(platform: unknown): platform is NavigatorLike;

export { availableParallelism, isNavigatorLike, isNodeOSLike };
export type { NavigatorLike, NodeOSLike };
